Lernstick-Klassenraumverwaltung mit Epoptes

März 31, 2013

Es ist ziemlich genau ein Jahr her, dass ich einen Artikel über Klassenraumverwaltung mit iTALC geschrieben habe. Obwohl iTALC unglaublich viele Funktionen bietet, ist dessen Einrichtung via Schlüsselerzeugung und -verteilung leider ziemlich kompliziert. Aus diesem Grund haben wir in der aktuellen, auf Debian 7 basierenden Lernstick-Version zusätzlich eine deutlich einfachere Alternative vorinstalliert: Epoptes (siehe http://www.epoptes.org).

Obwohl Epoptes viel einfacher als iTALC ist, sind trotzdem noch ein paar einfache Handgriffe notwendig, um es erfolgreich einsetzen zu können. Zunächst muss das Programm auf dem Lernstick der Lehrperson gestartet werden. Dazu klickt man zuerst auf den Menüpunkt „Aktivitäten“ links oben, dann auf „Anwendungen -> Internet -> Epoptes“:

Epoptes_Start

Damit die Schülerinnen und Schüler sich auf den Computer der Lehrperson verbinden können, muss die Lehrperson zunächst wissen, unter welcher IP-Adresse der eigene Computer erreichbar ist. Das bekommt man am einfachsten durch das Aufrufen der Netzwerkeinstellungen heraus. Dazu klickt man zuerst auf das Netzwerksymbol oben rechts in der Statusleiste und dann auf den Menüpunkt „Netzwerkeinstellungen“:

Netzwerk_1

Im sich daraufhin öffnenden Fenster kann man die IP-Adresse des eigenen Rechners leicht ablesen:

Netzwerk_2

Damit man das nicht immer wieder machen muss, sollte man seinen Netzwerkadministrator darum bitten, die MAC-Adresse des eigenen Computers so im DHCP-Server des lokalen Netzwerkes zu hinterlegen, dass der eigene Computer immer die gleiche IP-Adresse erhält.

Die IP-Adresse des eigenen Computers teilt man seinen Schülerinnen und Schülern mit. Diese starten daraufhin „Aktivitäten -> Anwendungen -> Dienstprogramme -> Terminal“ und geben den Befehl

/usr/sbin/epoptes-client <IP-Adresse des Computers der Lehrperson>

ein. Daraufhin erscheinen die Computer der jeweiligen Schülerinnen und Schüler im Epoptes-Fenster der Lehrperson und können von dort aus verwaltet werden:

Epoptes

Wenn man für den Computer der Lehrperson eine feste IP-Adresse hat und es seinen Schülerinnen und Schülern nicht zumuten möchte, die Verbindung immer wieder manuell in einem Terminal aufbauen zu müssen, kann man dies auch automatisieren. Dazu muss man auf den Lernsticks der Schülerinnen und Schüler folgenden Befehl ausführen:

sudo gedit /etc/default/epoptes-client

Dann muss die Zeile

#SERVER=server

in

SERVER=<IP-Adresse des Computers der Lehrperson>

geändert werden und die Datei mit dieser Änderung abgespeichert werden. Dann verbinden sich die Computer der Schülerinnen und Schüler nach dem Hochfahren automatisch mit dem Computer der Lehrperson.

Mehr Informationen zu den einzelnen Funktionen von Epoptes können dessen Homepage entnommen werden: http://www.epoptes.org

Advertisements

Der Weihnachtsmann in der Erdnuss

Dezember 28, 2012

Was schenkt man (oder Mann :-))  sich bloss zu Weihnachten, wenn man zwei kleine neugierige Töchter hat und sich selbst für Wissenschaft und Technik begeistert? Barbiepuppen? Uäh, bloss nicht… Elektrische Eisenbahn? Langweilig… Lego? Haben wir schon und ist (leider) zu „Puzzeln nach Anleitung“ verkommen… Nein, Weihnachten 2012 gab es für uns ein *tada!* digitales Mikroskop!

Wir hatten unseren Töchtern schon im Sommer ein paar Beobachtungsgläser gekauft, in denen man z.B. eingefangene Insekten von allen Seiten mit verschiedenen Lupen betrachten kann. Leider lässt die Vergrösserung der Lupen sehr zu wünschen übrig, so dass viele der spannenden Details überhaupt nicht erkennbar sind.

Bei der Auswahl des Mikroskops habe ich mich für ein Dino-Lite AM-4013MZTL entschieden, da es eine gute Auflösung (1280×1024 Pixel), eine variable Vergrösserung (stufenlos zwischen 10-fach und 90-fach), einen langen Arbeitsabstand, ein stabiles Aluminiumgehäuse und vor allen Dingen eine Standard-UVC-Schnittstelle bietet. Die UVC-Schnittstelle garantiert, dass das Mikroskop ohne Spezialtreiber einfach so funktioniert und damit auch unter Linux und speziell auch mit dem lernstick einsetzbar ist. Das Mikroskop alleine nützt allerdings nicht viel, man benötigt unbedingt noch ein gutes Stativ. Ich habe mich für das MS36B entschieden, da es sehr stabil ist und sehr fein justiert werden kann.

Vor ein paar Tagen hatten wir mal wieder gemeinsam eine Ladung Erdnüsse gefuttert als meine grosse Tochter plötzlich sagte: „Schau mal Papa, in meiner Erdnuss ist der Weihnachtsmann!“. Erst hatte ich überhaupt nicht begriffen, was sie sich nun wieder für eine Fantasie zusammenspinnte, doch dann sah ich es auch: Der Keimling sieht aus wie ein Kopf mit Kapuze und Rauschebart!

Nachdem wir nun endlich das Mikroskop ausgepackt und in Betrieb genommen haben, konnten wir den Weihnachtsmann in der Erdnuss unter „die Lupe nehmen“. Und siehe da, mit ein bisschen Fantasie und der Hilfe von GIMP sieht man es sogar ganz deutlich:

Erdnuss-Weihnachtsmann_original Erdnuss-Weihnachtsmann_rot

Die Nuss haben wir übrigens ohne schlechtes Gewissen trotzdem gegessen. 🙂


lernstick-Tablet

Juli 27, 2012

Seit einiger Zeit sind Tablets das neue Hype-Thema. Wir hatten schon immer mit dem Gedanken gespielt, den lernstick mal auf einem Tablet auszuprobieren. Aber leider sind die iPads von Apple komplett verrammelt, so dass man dort Alternativen nicht sinnvoll einsetzen kann. Auch bei den wesentlich offeneren Android-Geräten besteht immer noch das Problem, dass man nicht einfach selbst eine neue Android-Version oder sogar ein ganz anderes Betriebssystem, wie z.B. Linux, installieren kann. Klar, wenn man in der Lage ist, sein Android-Gerät zu jailbreaken, geht so einiges mehr, aber das liegt wohl ausserhalb der Möglichkeiten von „normalen“ Schulen. Die nächste Hürde ist, dass die meisten Tablets bisher mit ARM-Prozessoren ausgestattet sind, die nicht mit Intel- oder AMD-Prozessoren (die in Desktops und Notebooks Standard sind) kompatibel sind. Der lernstick ist allerdings auf einen Intel-kompatiblen Prozessor angewiesen.

Lange Zeit waren keine brauchbaren Tablets mit Intel-Prozessoren verfügbar. Doch das hat sich nun geändert. Vor kurzem habe ich von Intel selbst ein paar Tablets zur Verfügung gestellt bekommen. An dieser Stelle noch einen herzlichen Dank an Intel! Am besten hat der Samsung Series 7 Slate PC funktioniert. Hier nun eine kleine Anleitung, wie man den lernstick auf diesem Tablet verwendet:

Start/Installation

Von vorne betrachtet, fällt der kleine viereckige Home-Button am Tablet-Rand auf:

Auf der rechten Seite ist die Rotationssperre und der Ein/Aus-Schalter:

Auf der linken Seite ist der USB-Anschluss und die Knöpfe für Laut und Leise:

Das Schöne am Samsung Series 7 Slate PC ist, dass er ein ganz „normaler“ Computer ist. Man kann also dieses Tablet auch einfach von einem USB-Stick, wie dem lernstick oder auch jedem anderen beliebigen USB-Stick mit einem Linux drauf, starten. Dazu muss  zuerst der Stick in den USB-Anschluss gesteckt werden, dann der Ein/Aus-Schalter und anschliessend kurz der Home-Button gedrückt werden. So wird man von einem einfachen Bootmenü begrüsst:

Durch Drücken auf die Laut- und Leise-Tasten kann man den lernstick auswählen und den Bootvorgang durch Drücken der Rotationssperre starten. Und schon begrüsst einen das lernstick-Bootmenü:

Auch hier kann man wieder mit den Laut- und Leise-Tasten die Auswahl im Bootmenü bewegen und durch Drücken der Rotationssperre auswählen.

Möchte man die Bootreihenfolge des Tablets dauerhaft so umstellen, dass zuerst versucht wird, vom USB-Port zu starten, muss man an den USB-Port eine Tastatur anschliessen. Noch komfortabler ist die Verwendung des Docks, das es als Zubehör zum Tablet gibt. Das Dock ist einerseits eine einfache Möglichkeit, das Tablet aufzustellen, andererseits bietet es auch noch einige weitere Anschlüsse (Strom, Ethernet, HDMI, zweiter USB-Anschluss, Kopfhörer):

Aufgestellt (mit der USB-Tastatur) sieht das dann so aus:

Um ins BIOS des Tablets zu gelangen, muss man beim Einschalten den Home-Button gedrückt halten. Wenn das BIOS erschienen ist, kann man mit der rechten Pfeiltasten bis zum Reiter „Boot“ wechseln, dort mit Enter den Eintrag „Boot Device Priority“ auswählen, mit der Pfeiltaste nach unten bis zum Eintrag „USB KEY“ gehen und dann immer wieder F6 drücken, bis dieser Eintrag ganz oben in der Liste steht:

Um die Einstellungen zu speichern, muss man dann noch F10 drücken und mit Enter bestätigen.

Wenn man möchte, kann man das lernstick-System auch auf die interne SSD des Tablets installieren. Das hat einige Vorteile:

  • Man braucht keinen USB-Stick mehr. 🙂
  • Das Tablet startet von SSD viel schneller als vom USB-Stick.
  • Das Tablet kann in den Ruhemodus versetzt werden (und muss so gegebenenfalls gar nicht mehr hoch- oder heruntergefahren werden).
  • Die Oberfläche kann speziell auf die Tabletbenutzung konfiguriert werden.

Tablet-Anpassungen

Eine auf das Tablet installierte lernstick-Umgebung sieht dann zum Beispiel so aus:

Damit man die lernstick-Oberfläche auf dem Tablet sinnvoll einsetzen kann, braucht man zunächst einmal eine virtuelle Tastatur. Die kann man im Startmenü unter „Dienstprogramme -> Virtuelle Tastatur“ starten:

Man kann die Tastatur beliebig auf dem Bildschirm platzieren, indem man sie irgendwo an einem schwarzen Bereich antippt und zieht. An der unteren rechten Ecke kann die Grösse der Tastatur beliebig eingestellt werden. Mit den grünen Pfeilen auf der rechten Seite kann noch ein zusätzlicher Nummernblock mit Pfeiltasten ein- und auch wieder ausgeblendet werden. Falls die Tastatur einmal nicht mehr sichtbar ist, kann man sie jederzeit wieder einblenden, indem man das Tastatursymbol unten rechts im Systemabschnitt der Kontrollleiste antippt.

Die Grösse der Symbole, Fensterumrandungen und -knöpfe ist beim lernstick auf die Bedienung mit Maus und Tastatur optimiert und damit für die Fingerbedienung auf einem Tablet eher ungeeignet. Das kann man jedoch leicht anpassen, indem man im Startmenü „Recher -> Systemeinstellungen“ startet, dort unter „Erscheinungsbild -> Symbole“ den Reiter „Erweitert“ auswählt, dort den Eintrag „Hauptwerkzeugleiste“und dann die Grösse anpasst, z.B. auf den Wert 48 setzt:

So lassen sich die Symbole in den Werkzeugleisten sehr angenehm mit dem Finger bedienen.

Wenn man die Fenster mit dem Finger bewegen oder deren Grösse anpassen möchte, so benötigt man noch einen breiteren Fensterrahmen. Dazu muss man unter „Fenster“ die Umrandungs- und Knopfgrösse anpassen, z.B. auf den Wert „Riesig“:

Die Grösse der Desktop-Icons lässt sich auch anpassen. Dazu muss man zuerst das kleine „Werkzeugkasten“-Symbol oben rechts und dann den Eintrag Einstellungen für „Aktivität Ordner-Ansicht“ antippen:

Dann öffnet sich ein Fenster, in dem man im Bereich „Anzeige“ mit einen Schieberegler die Grösse der Desktop-Icons von „Klein“ nach „Groß“ beliebig ändern kann:

Ruhezustand

Das Tablet bootet zwar extrem schnell, jedoch ist man als Tabletbenutzer das sogenannte „Instant-On“ gewöhnt. Wenn man das Tablet zur Hand nimmt, soll es also sofort an sein und nicht erst hochfahren müssen. Auch das lässt sich in der lernstick-Oberfläche sehr einfach konfigurieren. Dazu muss man das Batteriesymbol im Systemabschnitt der Kontrollleiste unten rechts antippen:

Daraufhin öffnet sich das Fenster zur Energieverwaltung, in dem mit dem Schraubenschlüssel-Symbol unten rechts auch die Energieprofile angepasst werden können:

Sehr wichtig ist, dass im Bereich „Allgemeine Einstellungen“ der Punkt „Bildschirm nach Ruhezustand sperren“ nicht ausgewählt wird! Sonst müsste man nach dem Anschalten ein Passwort eingeben, was mangels virtueller Tastatur im Passwortdialog nur mit einer USB-Tastatur möglich wäre…

Unter dem Punkt „Profile ändern“ sollte man nun bei sämtlichen Profilen (Powersafe, Performance, …) die Auswahl bei „Wenn Ausschalt-Knopf gedrückt wird“ auf „Ruhezustand“ ändern:

Wenn man nun im laufenden Betrieb den Ausschalt-Knopf drückt, wird das Tablet sofort in den Ruhezustand versetzt. Dieser ist sehr stromsparend, so dass man das Tablet in diesem Zustand einfach liegenlassen kann. Der Ladestand der Batterie unseres Testgerätes liess so nur ungefähr 10% pro Tag nach. Wenn man das Tablet dann einmal benötigt, kann man einfach den Ein/Aus-Schalter drücken und es ist sofort wieder betriebsbereit.

Das lernstick-System ist auf dem Tablet dann so einfach zu bedienen, dass sogar meine 3-jährige Tochter damit wunderbar klarkommt. Auf diesem Youtube-Video kann man sich davon überzeugen:
http://www.youtube.com/watch?v=gqkoa0zPEr4


lernstick-Klassenraumverwaltung mit iTALC

März 30, 2012

Einige Lehrpersonen, die mit dem lernstick unterrichten, haben sich von uns eine Lösung zur Klassenraumverwaltung gewünscht. Das bekannteste Programm dazu in der Welt der Freien Software ist iTALC. Mit diesem Programm können Lehrpersonen die Bildschirme der SchülerInnen beobachten, fernsteuern, sperren, eine Demo zeigen, an-/ausschalten und noch vieles andere mehr.

Die Installation unter Debian-basierenden Distributionen ist denkbar einfach: Auf den lernsticks der SchülerInnen muss das Softwarepaket „italc-client“ installiert werden und auf den lernsticks der Lehrpersonen das Softwarepaket „italc-master“. Damit beide Programme auch im Startmenü erscheinen, haben wir für den lernstick noch das Paket „lernstick-italc“ erstellt, das ebenfalls installiert werden sollte. In der nächsten lernstick-Version werden alle diese Softwarepakete sogar schon vorinstalliert sein, so dass die nachträgliche Installation dann nicht mehr notwendig sein wird.

Da der Zugriff auf die Computer der SchülerInnen nur über einen Schlüssel möglich ist, muss die Lehrperson zuerst das entsprechende Schlüsselpaar erzeugen. Dazu muss im Startmenü „System -> Terminal“ geöffnet und folgender Befehl eingegeben werden:

sudo ica -createkeypair

Das durch diesen Befehl erzeugte Schlüsselpaar besteht aus dem privaten Schlüssel, der nur für die Lehrperson selbst zugänglich sein soll, und dem öffentlichen Schlüssel, der auf die lernsticks aller SchülerInnen verteilt werden muss. Nach der Ausführung des obigen Befehls sind beide Schlüssel jedoch aus Sicherheitsgründen nur für den Systemadministrator lesbar. Damit die Schlüssel auch für die Lehrperson lesbar sind, muss folgender Befehl eingegeben werden:

sudo chmod 644 /etc/italc/keys/public/teacher/key /etc/italc/keys/private/teacher/key

Der öffentliche Schlüssel, der in der Datei /etc/italc/keys/public/teacher/key abgelegt ist, muss nun auf die lernsticks der SchülerInnen (im gleichen Pfad!) verteilt werden. Dazu kann man sich verschiedener Methoden bedienen. Entweder legt man den öffentlichen Schlüssel auf einem Netzwerkspeicher (Dateifreigabe im lokalen Netzwerk, Webdienste, …) ab, so dass sich alle SchülerInnen den öffentlichen Schlüssel selbst herunterladen können, oder man kopiert den Schlüssel manuell vom lernstick der Lehrperson auf die jeweiligen lernsticks der SchülerInnen. Da man zum Kopieren des Schlüssels in den Pfad /etc/italc/keys/public/teacher/key Administrationsrechte benötigt, muss man zum Kopieren auch im Startmenü „System -> Dateimanager mit Administratorrechten“ starten und den Kopiervorgang mit diesem Dateimanager durchführen. Man muss ebenfalls darauf achten, dass die SchülerInnen den öffentlichen Schlüssel lesen können. Wenn man sich nicht sicher ist, ob beim Kopieren die Berechtigungen korrekt gesetzt worden sind, kann man auf dem lernstick der SchülerInnen folgenden Befehl in einem Terminal eingeben:

sudo chmod 644 /etc/italc/keys/public/teacher/key

Nachdem nun die Schlüssel alle richtig verteilt worden sind, müssen nun die notwendigen Softwarekomponenten gestartet werden. Sowohl die SchülerInnen als auch die Lehrperson(!) müssen dazu im Startmenü „System -> iTALC-Client“ starten. Die Lehrperson muss zusätzlich noch „System -> iTALC-Master“ starten.

Im iTALC-Master muss nun zuerst die Klassenraum-Verwaltung aufgerufen werden:

Im (noch) leeren Bereich muss dann mit der rechten Maustaste das Kontextmenü aufgerufen werden und der Menüeintrag „Klassenraum hinzufügen“ ausgewählt werden:

Nachdem Sie einen Klassenraum hinzugefügt haben, können Sie nun wieder mit der rechten Maustaste das Kontextmenü aufrufen und anfangen, die Computer der SchülerInnen hinzuzufügen:

Geben Sie mindestens die IP-Adresse und einen Namen für den Computer ein:

Wenn Sie in Ihrem Netzwerk die IP-Adressen nicht manuell sondern per DHCP vergeben, so sollten Sie darauf achten, dass der DHCP-Server den verwalteten Computern immer die gleiche IP-Adresse gibt, da iTALC die Zuordnung nur anhand der IP-Adresse vornehmen kann. Die feste Zuordnung zwischen Computer und IP-Adresse erfolgt dann mittels der MAC-Adresse der Computer im DHCP-Server. Für Details kontaktieren Sie bitte Ihren Netzwerkadministrator.

Die Computer, die Sie zum Klassenraum hinzugefügt haben, können Sie nun wieder mit der rechten Maustaste anklicken und den Menüpunkt „Zeigen/verstecken“ auswählen, um den ausgewählten Computer im iTALC-Master anzuzeigen:

Wenn Sie dann noch die Klassenraum-Verwaltung wieder einklappen, erhalten Sie so eine übersichtliche Sammlung der Miniaturansichten von allen verwalteten Computern:

Nun können Sie alle anderen Funktionen der Klassenraum-Verwaltung nutzen. Für weitere Details sehen Sie bitte in der iTALC-Dokumentation nach: http://italc.sourceforge.net/documentation.php


DOS-Partitionen mit Linux umbenennen

März 29, 2012

Die lernstick-Speichermedienverwaltung erlaubt die Installation auf beliebig viele Speichermedien. Der vollständige Name des lernstick-Standardbenutzers wird dabei automatisch auf „Debian Live user“ gesetzt. Wenn man bei der Installation zusätzlich auf jedem lernstick eine Austauschpartition anlegt, kann man deren Namen zwar festlegen, er ist dann jedoch für alle Speichermedien, die im gleichen Durchgang installiert werden, identisch. Wenn nun ein ganzer Klassensatz lernsticks in einem Durchgang produziert wird, so heissen alle Benutzer und auch deren Austauschpartition gleich. Beides ist nicht optimal, da wohl niemand wirklich „Debian Live user“ heisst und wenn mehrere lernsticks am selben Computer eingesteckt werden, so kann man sie nicht anhand der Bezeichnung der Austauschpartitionen unterscheiden.

Aus diesen Gründen wurde das Willkommensprogramm des lernsticks wurde um die Funktion erweitert, dass ein Benutzer beim ersten Start mit seinem lernstick sowohl seinen Namen als auch die Bezeichnung der Austauschpartition anpassen kann. Die Anpassung des Namens passiert dann im Hintergrund mit dem folgenden Befehl:

sudo chfn -f <neuer Name> user

Die Austauschpartition ist eine FAT32-Partition. Nun gibt es mehrere Möglichkeiten, die Bezeichnung einer FAT32-Partition zu ändern. Die meisten Seiten, die man im Internet zu diesem Thema findet, empfehlen den Befehl „mlabel“ aus dem Softwarepaket mtools. Dazu müsste folgender Befehl verwendet werden:

sudo mlabel -i <device> ::<neue Bezeichnung>

Leider werden bei dieser Variante alle Kleinbuchstaben in der Bezeichnung in Grossbuchstaben umgewandelt. Da die wenigsten Vor- oder Nachnamen nur aus Grossbuchstaben bestehen, erschien die Verwendung von mlabel an dieser Stelle eher ungeeignet.

Interessanterweise gibt es noch einen weiteren Befehl zur Umbenennung von FAT32-Partitionen, nämlich „dosfslabel“ aus dem Softwarepaket dosfstools. Wenn man folgenden Befehl verwendet:

sudo dosfslabel <device> <neue Bezeichnung>

kann man für die Bezeichnung, wie unter anderen Betriebssystemen gewohnt, auch Gross- und Kleinbuchstaben in beliebiger Kombination verwenden. Aus diesem Grund haben wir uns für diese Variante entschieden. Trotzdem bleibt die Einschränkung, dass die Partitionsbezeichnung nur 11 Zeichen lang sein darf. Wenn man nicht gerade stolzer Träger eines Doppelnamens ist, sollte das also reichen, ohne sich eine Abkürzung einfallen lassen zu müssen.


Fernwartung mit Freier Software

März 23, 2012

Grundlagen

Ein wichtiger Bestandteil der lernstick-Infrastruktur ist die Fernwartung, da es immer wieder Anwender gibt, die bei der Installation oder der Benutzung Hilfe brauchen.

Der erste Impuls, eine einfache und etablierte Software in die lernstick-Distribution zu integrieren, scheiterte daran, dass es leider bis jetzt noch keine wirklich einfache und etablierte Software zur Fernwartung im Open-Source-Umfeld gibt. Auch proprietäre (und trotzdem kostenlose) Software, wie z.B. TeamViewer, liess sich nicht auf dem lernstick integrieren, da entweder die jeweiligen Hersteller die Weitergabe ihrer Software nicht gestatteten oder in der (kostenlosen) Unterstützung von lernstick-Anwendern einen kommerziellen Einsatzzweck sahen und aus diesem Grund auf sehr heftigen Lizenzzahlungen bestanden. Also mussten wir wieder einmal eine Lösung auf Basis der bereits vorhandenen Open-Source-Komponenten aufbauen…

Bei der Recherche stellt man schnell fest, dass die meisten Open-Source-Programme, die Funktionen zur Fernwartung bereitstellen, VNC verwenden. VNC ist eine Client-Server-Software, bei der der Server die Bildschirmausgaben liefert und der Client die Bildschirmausgaben empfängt und die Maus- und Tastatureingaben des Benutzers an den Server schickt:

Wie so häufig im Open-Source-Umfeld gibt es in Debian (der Basis für den lernstick) verschiedene Softwarepakete für VNC. Wir haben uns für den VNC-Server x11vnc und für den VNC-Client xtightvncviewer entschieden.

Wenn man nun per VNC einem Anwender helfen möchte, so muss der Client auf unserer Seite mit folgendem Aufruf gestartet werden:

xtightvncviewer -listen

Ein Hilfe suchender Anwender muss die Verbindung zu uns mit folgendem Aufruf herstellen:

x11vnc -connect <unsere IP-Adresse>

Damit die Fernwartung auch über das Internet funktioniert, benötigen wir also für unsere eigene Supportstation eine öffentliche IP-Adresse. Wer über keine statische öffentlich IP verfügt, kann sich auch mit einer Kombination aus DynDNS und Portweiterleitung behelfen:

Mobile Supporter

Das ganze funktioniert wunderbar, hat jedoch einen entscheidenden Nachteil: Um Anwender zu unterstützen, müssen wir uns physisch immer direkt an der Supportstation befinden. Also brauchen wir noch eine Lösung, um von überall her auf den Bildschirm unserer Supportstation zugreifen zu können. Und das geht… wieder mit VNC!

Auf unserer Supportstation muss also ständig ein VNC-Server laufen. Dieser wird durch folgenden Aufruf gestartet:

x11vnc -forever

Jetzt könnte man unterwegs auch wieder einen VNC-Client starten, um auf die Supportstation zuzugreifen. Allerdings hat man nicht immer und überall eine VNC-Client-Software zur Verfügung. Aus diesem Grund haben wir auf der Supportstation Guacamole installiert, einen einfachen VNC-Client, der auf HTML5 basiert. Guacamole haben wir dann so konfiguriert, dass er auf den lokalen VNC-Server zugreift. So benötigt ein mobiler Supporter nur noch einen Browser und eine funktionierende HTTP-Verbindung zur Supportstation, um einem Anwender helfen zu können:

Absicherung

Im obigen Szenario werden alle Daten im Klartext übertragen, was gravierende Vertraulichkeitsprobleme (z.B. Mitschneiden von Bildschirminhalten, Passwörtern, …) mit sich bringen kann. Aus diesem Grund müssen beide Verbindungen durch Verschlüsselung der Daten abgesichert werden. Die Verbindung zum Supporter kann einfach abgesichert werden, indem anstatt HTTP die sichere Variante HTTPS verwendet wird. Dazu reicht es, Apache Tomcat, die Ausführungsumgebung von Guacamole, nach folgender Anleitung entsprechend zu konfigurieren: http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

Zur Absicherung der VNC-Verbindung verwenden wir stunnel, ein universeller SSL-Tunneling-Dienst. Zunächst müssen wir auf der Supportstation ein Zertifikat erzeugen, z.B. mit openssl:

openssl req -x509 -nodes -day 36500 -subj /C=/ST=/L=/CN=tmp -newkey rsa:1024 \
-keyout zertifikat.pem -out zertifikat.pem

Dieses Zertifikat kann dann verwendet werden, um einen sicheren Tunnel an einem bestimmten Port anzubieten, der alle Daten an den VNC-Client weiterleitet (der an Port 5500 lauscht). Beispiel für einen sicheren Tunnel an Port 50000:

stunnel -f -P '' -p zertifikat.pem -d 50000 -r 5500

Der Anwender muss dann den Aufruf zum Verbindungsaufbau um die Option „-ssl TMP“ ergänzen:

x11vnc -connect <unsere IP-Adresse> -ssl TMP

Jetzt wird eine verschlüsselte Verbindung zwischen Anwender und Supportstation aufgebaut. Somit sind beide Verbindungen gegen passives Abhören abgesichert:

Da die involvierten Zertifikate in diesem Szenario weder vom Supporter noch vom Anwender überprüft werden, ist die Verbindung nicht gegen Man-in-the-middle-Angriffe sicher. Die erforderlichen Massnahmen zur Absicherung gegen solche aktiven Angriffe würden jedoch den Rahmen dieses Artikels sprengen.

Vereinfachung

Da die benötigten Befehle recht kompliziert sind, haben wir eine grafische Oberfläche entwickelt, die sowohl für den Supporter als auch für den Anwender die syntaktischen Details versteckt. Der Supporter kann neben den sicheren Portnummern auch Bildeigenschaften wie Kompression, Qualität und Farbtiefe spezifizieren:

Da wir nicht die einzige Stelle sind, die Unterstützung für den lernstick anbietet, kann der Anwender aus einer Liste von Anbietern auswählen und diese Liste auch bearbeiten. Ausserdem kann er angeben, mit welcher Skalierung das Bild verkleinert wird, bevor es zum Supporter übertragen wird. Das kann z.B. dann sinnvoll sein, wenn der Supporter einen kleineren Bildschirm als der Anwender hat oder die Bandbreiten sehr gering sind.

Fazit und Ausblick

Die bisher entwickelte Lösung funktioniert sehr zufriedenstellend. Sie besteht ausschliesslich aus Freier Software und die Vertraulichkeit der Fernwartungsverbindungen ist sehr hoch, da die Daten nur zwischen den Anwendern und Supportern und nicht über die Infrastruktur eines Anbieters von Fernwartungssoftware ausgetauscht werden.

Wir haben allerdings auch Anwender, deren Computer sich hinter sehr restriktiven Firewalls befinden, die z.B. nur HTTP-Verkehr zulassen. Dort funktioniert die Fernwartung bisher nicht. Also müssen wir die Lösung irgendwann noch um eine Komponente erweitern, die Firewalls „austrickst“ und das VNC-Protokoll über HTTP tunnelt. Das klingt doch nach einer ziemlich spannenden Aufgabe! 🙂


Nicht ohne meine Daten(krake)

Juli 8, 2011

Vor kurzem habe ich mit meinen Arbeitskollegen über das Editorial der c’t „Nicht ohne meine Daten“ diskutiert. Ein Kollege meinte, dass der Verzicht auf Facebook und Co bedeutet, Freiheit mit dem Preis einer „virtuell/sozialen“ Isolation zu erkaufen.

Das hat mich irgendwie an meine Schulzeit erinnert. Viele Jahre war ich der einzige Nichtraucher in unserer Altersklasse und soziale Kontakte begannen ziemlich häufig mit „Haste mal Feuer?“. Sollte man jetzt anfangen zu rauchen, um nicht in Isolation zu verfallen? Ich bin den schwierigeren Weg gegangen, habe nicht mit rauchen angefangen und hatte trotzdem nicht weniger Kontakte als meine rauchenden Mitschüler. Mit unseren Händen haben wir Nichtraucher einfach interessantere Dinge gemacht, als uns an Glimmstengeln festzuhalten und dabei ein möglichst erwachsenes Gesicht zu machen. Es kommt eben auch bei Kontakten nicht auf die Quantität sondern die Qualität an.

Es gibt ja auch die „Nichtraucher“-Variante von sozialen Netzwerken, die für einen persönlich gesünder, da von Anfang an datenschutzfreundlich ausgelegt sind. Da sich mit solchen Lösungen keine Milliarden an Werbeeinnahmen  verdienen lassen, ist natürlich auch deren Sichtbarkeit geringer. Das hat Parallelen mit so vielen anderen Bereichen des Lebens (Gentechnik versus Bio, Maximalprofit versus Fairtrade, proprietär versus Open Source, …) dass ich das schon als  Gesetzmässigkeit ansehe: die guten Dinge sind selten die, die am lautesten beschrieen werden, sondern man muss sie häufig suchen. Eine kurze Suche (ja, mit Google, oje!) hat mich auf folgenden Vortrag von Eben Moglen gebracht: „Freedom in the cloud“. Sehr sehens- und hörenswert!

Mag natürlich sein, dass die datenschutzfreundlichen sozialen Netzwerke viele Grössenordnungen kleiner sind als die etablierten Monopole und einem das im direkten Vergleich fast als Isolation vorkommen mag aber auf jeden Menschen kommen auch angeblich 9 Milliarden Insekten. Ich möchte trotzdem lieber Mensch als Heuschrecke sein. 🙂