Dies ist eine alte Version des Dokuments!


Remotezugriff auf bwLehrpool-Clients

Achtung! Die Entwicklungen für den Remotezugriff sind derzeit noch im Gange. Es handelt sich dabei um eine prototypische Umsetzung, die jedoch eingesetzt und evaluiert werden kann. Über Feedback sind wird sehr dankbar. Bitte beachten Sie auch unbedingt die beschriebenen Einschränkungen weiter unten!
Wenn Sie Interesse haben, können wir Ihnen gerne einzelne Testaccounts anbieten, mit dem Sie die Remotelösung auf dem System der Universität Freiburg testen können. Schreiben Sie uns dazu einfach eine kurze E-Mail an bwlehrpool@hs-offenburg.de

Allgemein

Auf Grund der derzeitigen Situation (Corona-Krise) sind die meisten Hochschulen und Universitäten für den öffentlichen Verkehr gesperrt und deren Poolräume geschlossen. Viele Lehrende verlagern ihre Vorlesungen daher ins Web und zeichnen Vorlesungen als Video auf. Für praktische Arbeiten fehlt den Studierenden aber häufig die gewohnte Lernumgebung in Form der normalerweise in den Poolräumen bereitgestellten Software. Die notwendige Software auf privaten Geräten der Studierenden zu installieren ist häufig nicht möglich (Lizenzbeschränkungen, fehlende Bereitstellung der Installationspakete, keine Kenntnis über Installation und Konfiguration der Software, …).

Da die bwLehrpool-Clients in den Poolräumen prinzipiell nutzbar jedoch lediglich nicht für die Studierenden erreichbar sind, wurde eine Möglichkeit entwickelt, auf diese ungenutzten Clients über einen einfachen Webbrowser von überall her remote zuzugreifen. Dies wird mit Apache Guacamole1) ermöglicht, das als eine Art VNC-Proxy/-Gateway fungiert. Über dieses Gateway werden Nutzer auf laufende Clients in den Poolräumen verbunden. Nutzerseitig läuft Anzeige und Eingabe ganz einfach über einen HTML5-fähigen Browser (Firefox, Chromium, …). Es wird weder besondere oder leistungsfähige Hardware noch eine Installation von Software oder Plugins benötigt.

Zur besseren Vorstellung haben wir einen kleinen Screencast aus Sicht eines Nutzers erstellt.

Was wird benötigt

  • Apache Guacamole
    • Dies müssen Sie selbst aufsetzen, am besten als VM in Ihrem ESX-Cluster.
    • Sie können sich an folgender Anleitung orientieren (dabei sollten Sie jedoch Guacamole in Version 1.1.0 verwenden):
    • Installieren Sie außerdem das LDAP-Plugin wie in der Anleitung beschrieben und richten es Ihrem Authentifizierungsserver entsprechend ein.
      • Andere Plugins (MySQL) sind nicht notwendig
    • Importieren Sie das von uns bereitgestellte Guacamole Plugin nach /etc/guacamole/extensions
    • Ergänzen Sie als Letztes in der guacamole.properties folgendene Zeile:
      • slx-client-list-url: http://<sat>/slx-admin/api.php?do=remoteaccess
  • bwLehrpool
    • Von uns bereitgestelltes Beta-Update des Satellitenservers + generisches Konfigmodul für die Clients.
    • Clients sollten per WOL startbar sein.
    • Clients sollten bwLehrpool als Standardboot verwenden (kann über das iPXE-Menü einfach eingestellt werden).

Die drei von uns bereitgestellten Module (Guacamole-Plugin, Beta-Update und Konfigmodul) finden Sie unter:
http://files.bwlp.ks.uni-freiburg.de/satellit/beta/

Update und Konfiguration des Satellitenservers

Laden Sie das Beta-Update z.B. mittels wget auf Ihren Satellitenserver und richten dieses ein.

wget http://files.bwlp.ks.uni-freiburg.de/satellit/beta/beta-guac-slxadmin.tgz
tar xzf beta-guac-slxadmin.tgz -C /srv/openslx/www/slx-admin/
cd /srv/openslx/www/slx-admin/modules
ln -s ../modules-available/remoteaccess/ remoteaccess

Anschließend finden Sie einen neuen Menüpunkt in der Satellitenserver-Weboberfläche. Der erste Aufruf erzeugt einen Fehler und weist auf ein DB-Update hin. Das Modul lässt sich benutzen, nachdem das Update einmal ausgeführt wurde. Geben Sie dort die IP-Adresse Ihres Guacamole-Proxyservers ein und wählen die Räume aus, deren Clients für eine Remotenutzung verwendet werden können.

Zuletzt laden Sie das bereitgestellte generische Konfigmodul (beta-guacamole-conftgz.tgz) über die Weboberfläche auf Ihren Satellitenserver und fügen es der aktiven Systemkonfiguration zu. Dieses sorgt dafür, dass der im Grundsystem der Clients vorinstallierte VNC-Server korrekt gestartet wird und für die Remotenutzung zur Verfügung steht.

Ablauf und Funktionalität

  • Das Login läuft mittels LDAP über Ihre normale Authentifizierungsstruktur.
  • Nach dem Login an Guacamole wird auf einen freien bwLehrpool-Client verbunden. Dieser verhält sich exakt so, als ob man im Poolraum davor sitzen würde.
    • Alle Veranstaltungen, die auch im Poolraum zur Verfügung stehen, können gestartet werden.
      • Da Nutzer nicht beeinflussen können, auf welche Clients sie verbunden werden, können u.U. mehr oder weniger Veranstaltungen als üblich ausgewählt werden, z.B. falls einzelne Veranstaltungen in der bwLehrpool-Suite auf bestimmte Räume beschränkt wurden.
  • Die in bwLehrpool definierten Timeouts (Bildschirmschoner, Herunterfahren nach Inaktivität oder in der Nacht etc.) gelten dementsprechend auch für Remotesitzungen.
  • Werden alle Verbindungen zu einer Remotesitzung über Guacamole geschlossen (sprich alle Browserfenster beendet), wird die Sitzung nach 10min terminiert und für neue Nutzer freigegeben.
  • Sitzungen sind nutzergebunden. Ein Nutzer wird immer zur gleichen laufenden Sitzung verbunden, egal mit welchen oder mit wie vielen Browsern er sich gleichzeitig verbindet.

Momentane Einschränkungen und Probleme

  • Guacamole greift derzeit direkt über x11vnc auf Clients zu. Das bedeutet, dass die Anzeige des echten Monitors per Guacaomle gespiegelt wird. Remote arbeitende Nutzer könnten daher im echten Poolraum über den Monitor beobachtet werden. Daher sollten zunächst nur Räume für Remotezugriff verwendet werden, die tatsächlich abgeschlossen sind und bei denen ausgeschlossen ist, dass andere Personen die Monitore einsehen können.
  • Wenn kein Client zur Verfügung steht, weil diese beispielsweise ausgeschaltet sind, erhält der Nutzer über Guacamole nach dem Login eine weitgehend leere Seite angezeigt. Im Hintergrund werden neue Clients per WOL gestartet. Die Sitzung aktualisiert sich nicht selbstständig; die Seite muss also händisch nach angemessener Wartezeit aktualisiert werden. Sie sollte anschließend auf den neu gebooteten Client verbunden werden.
  • Der Nutzer kann nicht beeinflussen auf welchen Client er verbunden wird und damit auch nicht, wo dieser Client sich räumlich befindet.
  • PVS kann momentan nicht eingesetzt werden, da nicht steuerbar ist, in welchem Raum sich der verbundene Client befindet.
  • Hardwarebeschleunigung für Grafikkarten wird noch nicht unterstützt.
  • Durch die gespiegelte Anzeige wird die Auflösung der angeschlossenen Monitore verwendet. Je nach Client kann sich die Auflösung daher unterscheiden.
    • Bei einem Bildschirmmodell wurde beobachtet, dass bei ausgeschaltetem Monitor eine komplett falsche Auflösung angezeigt und auch innerhalb der VM nicht korrigiert wurde. Das Einschalten der Monitore des betroffenen Poolraum ist ein derzeitiger Workarround.

Auf der Todo-Liste

  • Nutzer sollen auf eine Landingpage geleitet werden, auf der sie freie Clients selbst auswählen und sich somit virtuell in einen bestimmten Raum setzen können.
  • Verknüpfung mit Raumbuchungs- oder ähnlichen Systemen, damit Dozierende Online-Tutorate abhalten und Clients für Studierende reservieren können.
  • Untersuchung für mögliche Perfomance-Verbesserungen durch Hardwarebeschleunigung z.B. mittel VirtualGL2).
Drucken/exportieren