Aus Linux-Magazin 12/2008

Die freie Terminalserver-Software X2go in neuer Version

©

Das Open-Source-Projekt X2go steht kurz vor der Version 3. Zu Smartcards, Suspended Sessions und LDAP sind neue Clients, Seamless Windows und Pakete für Debian Lenny hinzugekommen.

X2go steht strahlend da. Ein freier, flotter und flexibler Terminalserver für beliebige Clients, mit modernen Authentifizierungstechniken samt Kartenleser, USB-Tokens, zentraler Benutzerverwaltung im LDAP und integrierten Administrationstools in der KDE-Systemverwaltung. Das ist in weiten Teilen realisiert, bald erscheint Version 3 [1].

Sun Ray

Inspiriert ist X2go von der Sun-Ray-Produktreihe [2], mit der der Hersteller seit dem Jahr 2006 Thin-Client-Fans beeindruckte. Die zweite Release der Sonnenstrahlen umfasste schlanke Geräte, an denen sich Benutzer per Smartcard anmelden und nach dem Login auf einem zentralen Terminalserver arbeiten [3]. Besonders schick neben den Multimedia- und Sicherheits-Features erwies sich dabei das Sitzungsmanagement, von Sun “Hot Desktop Mobility” oder “Hot Desking” getauft.

Wenn Benutzer A seine Chipkarte aus dem eingebauten Kartenleser entfernt, dann unterbricht die Software automatisch die Sitzung, der Thin Client ist für den nächsten User verfügbar. Schiebt A jetzt an einem beliebigen anderen Rechner seine Smartcard in einen Leser, präsentiert ihm der Server sofort die eben unterbrochene Sitzung.

Sun geht mit gutem Beispiel voran, mehrere Tausend Mitarbeiter der Sun-Zentrale in Heimstetten bei München arbeiten so im Büro oder vom Home Office aus ausschließlich auf den Terminalserver. Die zugehörige Serversoftware läuft sowohl auf Solaris als auch auf Linux und vermittelt wie NX auch den Zugriff auf andere Windows- und Linux-Terminalserver [4]. Energie sparen lässt sich so auch: Nach eigenen Angaben hat allein die Zentrale in den letzten Jahren mehr als 800000 Euro Stromkosten eingespart.

Ein ähnliches Allroundsystem wünschten sich auch die Linuxer, und weil die Sun-Rays nur mit der speziellen Hardware funktionieren, war es nur eine Frage der Zeit, bis die Open-Source-Welt loslegte.

Freie Sonne

Oleksandr Shneyder und Heinz Graesing, System-Admins der Stadt Treuchtlingen, entwickelten in ihrer Freizeit einen freien Terminalserver, der im Gegensatz zu Suns Konzept auch Laptops und beliebige Clients unterstützt und durch eine intelligente Kombination vorhandener GPL-Software mit eigenen Entwicklungen besticht: X2go.

Die Entwickler integrierten Tools wie PXE-Boot und Debootstrap [5], Nomachines freie NX-Libraries ([6], [7]) und Tools wie Fuse [8] und SSHFS [9] mit Desktop-Utilities und -Erweiterungen für Gnome und KDE. Über PAM-Bibliotheken kennt X2go Smartcards und die Authentifizierung via USB-Stick (Abbildung 1). Dank der Fähigkeit des NX-Servers, Sitzungen zu pausieren (Suspend) und wiederaufzunehmen (Resume), ist so schon seit Version 2 eine Arbeitsweise à la Sun Ray möglich.

Abbildung 1: X2go-Benutzer melden sich mit Smartcard, USB-Stick oder perPasswort am System an. Für die Demoversion haben die Entwickler schicke Karten mit passenden Bildern aus dem KDE-Usermanager erstellt.

Abbildung 1: X2go-Benutzer melden sich mit Smartcard, USB-Stick oder perPasswort am System an. Für die Demoversion haben die Entwickler schicke Karten mit passenden Bildern aus dem KDE-Usermanager erstellt.

Inzwischen läuft X2go auf den Clients und Servern von Linux4afrika [10] in Tansania, Mosambik und Paraguay sowie an zahlreichen deutschen Schulen (siehe Kasten “Linux4afrika und X2go”)

Linux4afrika und
X2go

Das Projekt Linux4afrika [10] des Freiburger Vereins FreiOSS.net hat bereits im Frühjahr 2008 von Edubuntu auf X2go umgestellt. Hans-Peter Merkel, einer der Leiter des Projekts, schreibt dazu:

“Mit der neuen X2go-Version des Linux4afrika-Musterservers ist der Verein nun in der Lage, auch größere Netze als die üblichen Classroom-Lösungen aufzubauen. Das integrierte LDAP bietet sich sehr gut an, um unser Projekt von Schulen auch auf Universitäten auszuweiten. Hier fallen im täglichen Betrieb aber zusätzliche Authentifizierungs-Aufgaben an. Echte Linux-Clients können sich inzwischen ebenfalls am Linux4afrika-LDAP-Server anmelden, Pakete aus dem Standard-Repository machen dies mit wenigen Änderungen der Konfigurationsdateien möglich. Ein Einsatz in solch einer Umgebung verlangt aber auch den Betrieb in einer heterogenen Betriebssystem-Landschaft. Deshalb arbeiten die Entwickler derzeit verstärkt an der Einbindung von Windows-Clients.

Weil die meisten unserer Anwender die Gnome-Oberfläche favorisieren, hat Heinz Gräsings Team schnell auf die Anfrage reagiert und die Anpassungen für den Local-Device-Support auch in Gnome implementiert.

Der neueste Ableger von Linux4afrika in Südamerika, Linux4paraguay [17], wird erster Nutznießer der X2go-Technik jenseits des Atlantiks. Ende 2008 erhalten auch Mosambik und Äthiopien erste Lieferungen der neuen Musterlösung.”

Brandneu: Version 3

Die Version 3 ist bei Erscheinen dieses Heftes wahrscheinlich schon produktiv nutzbar. Weil sich das Projekt stark an Debian orientiert, warten die X2go-Entwickler mit dem Prädikat Stable aber die stabile Lenny-Version ab.

Vier Neuheiten auf der Liste überstrahlen die zahlreichen Bugfixes und Detailverbesserungen: Neben Windows, Mac OS X und Linux gibt\’s jetzt erstmals einen mobilen Client für die Open-Source-Plattform Maemo [11] für Nokia-Telefone sowie den lange erwarteten GTK-Client inklusive Gnome-Integration. Und viertens kann der Benutzer jetzt wie bei Citrix auch einzelne Applikationen gänzlich ohne eine Desktop-Umgebung (Abbildung 2) starten.

Abbildung 2: Schon bei der Anmeldung im X2go-Client wählt der Benutzer, ob er einen Linux-Desktop wie KDE oder Gnome starten möchte oder ob eine nahtlos in seine lokale Umgebung eingebettete Anwendung ausreicht.

Abbildung 2: Schon bei der Anmeldung im X2go-Client wählt der Benutzer, ob er einen Linux-Desktop wie KDE oder Gnome starten möchte oder ob eine nahtlos in seine lokale Umgebung eingebettete Anwendung ausreicht.

Alle neuen Funktionen stehen prinzipiell im verfügbaren QT-Client bereit, allerdings arbeiten die Entwickler noch an diversen Ecken, zum Beispiel ist die neu implementierte USB-Authentifizierung noch nicht fertig. Wer darauf angewiesen ist, sollte also mit dem Update noch warten, bis die Entwickler Sicherheitsfeatures wie Timestamps, Client-IDs und Changing Tokens einpflegen.

Zukunftsmusik

Als Nächstes auf der Todo-Liste steht ein Webdienst für die einzelnen X2go-Module, mit dem der Benutzer übers Internet, etwa per Browser, auf Dateien, Sound, Anwendungen oder den kompletten Desktop eines Linux-PCs zugreift. Wie die X2go-Entwickler auf der Ubuconf erzählten, schwebt ihnen für die fernere Zukunft eine Art privates Cloud-Computing namens Pccloud vor, mit dem die Session automatisch über Profildaten-Synchronisation die individuelle Umgebung inklusive Anwendungen und Daten aus einem Online-Storage abgleicht. Ein X2go-USB-Stick als portable Windows-Applikation ist ebenfalls geplant.

X2go will eine offene, aber komplette Terminalserver-Umgebung schaffen, daher wuchs der Umfang der mitgelieferten Software schnell an. Sie umfasst Mechanismen für die Verteilung von Client-Dateisystemen über PXE-Boot und einen Anmeldemanager. Dazu kommen Admin-Plugins fürs KDE-Kontrollzentrum und Hilfsapplikationen. Die NX-Kompressionsmethoden ermöglichen Sessions auch über schmale Bandbreiten.

Vollständig Open Source

X2go ist aber weder zu LTSP noch zu NX kompatibel, sondern geht einen eigenen Weg. Das Projekt will verhindern, Applikationen für Datei- oder Medienfreigaben in Server und Client integrieren zu müssen, und setzt für diese Aufgaben ganz auf von den Distributionen gepflegte Lösungen wie Fuse und SSH-FS. Alle Komponenten sind Open Source, die Quelltexte stehen vollständig auf den Projektseiten zum Download.

Die drei X2go-Clients unterscheiden sich im Funktionsumfang zwar kaum, basieren aber auf verschiedenen Bibliotheken. Der QT-4-Client aus Abbildung 3 läuft auf Linux, Windows, Mac OS X sowie Maemo und – wie sein ebenfalls neues GTK-Pendant (Abbildung 4) – entweder als Vollbild-Displaymanager nach dem Vorbild von XDM oder als Standalone-Applikation. In beiden Fällen lassen Admins entweder individuelle Konfigurationen zu oder weisen X2go dazu an, einen zentralen LDAP-Server zu benutzen.

Alle grafischen Clients folgen dem gleichen Usability-Konzept (Abbildungen 2 bis 4). Das verwendete Widget-Set ähnelt Visitenkarten und wurde vom Projekt folglich auf den Namen Cardview getauft. Sitzungen, User und Konfigurationen stellt der Anwender über Dropdown-Menüs und Pop-ups innerhalb dieser Ansicht ein, ohne dafür extra in ein Adminwerkzeug wechseln zu müssen. Verwaltet jedoch ein LDAP-Server die Konfiguration und Benutzerdaten, entfällt jede Konfiguration am Client, dieser zeigt nur eine Liste von Usern, die sich am System anmelden dürfen. Der Wink-Film auf [12] zeigt die vielen Einstellmöglichkeiten und macht den Unterschied mit und ohne LDAP deutlich.

Abbildung 3: Auch für die Maemo-Plattform der Nokia-Smartphones N 770/800 und 810 gibt es neuerdings einen Terminalserver-Client von X2go.

Abbildung 3: Auch für die Maemo-Plattform der Nokia-Smartphones N 770/800 und 810 gibt es neuerdings einen Terminalserver-Client von X2go.

Abbildung 4: Der neu erschienene GTK-Client unterscheidet sich optisch nur geringfügig von der QT-Version, läuft aber auch unter Gnome.

Abbildung 4: Der neu erschienene GTK-Client unterscheidet sich optisch nur geringfügig von der QT-Version, läuft aber auch unter Gnome.

Fenster und CLI

Der X2go-Client lässt sich aber auch als einfaches Desktop-Programm im Stile eines echten Terminalserver-Clients verwenden. Auch hier ist zwar der Zugriff auf ein zentrales LDAP-Verzeichnis möglich, zusätzlich können Benutzer aber auch andere Server nutzen und die Fenster während des Betriebs verkleinern, vergrößern und minimieren.

Dritter im Bunde ist der flexible Kommandozeilen-Client »x2goclient-cli«, der sich besonders für den Aufruf aus anderen Programmen heraus anbietet. Der neue GTK-Client dagegen richtet sich an alle Gnome-Besitzer und Linux-User, die QT-basierte Programme und KDE scheuen. Er ist nativ umgesetzt und kommt vollständig ohne QT-Abhängigkeiten aus, offiziell befindet er sich bei Redaktionsschluss dieses Artikels noch im Entwicklungsstadium, Fehler sind allerdings aktuell nicht bekannt.

SSH-FS, NX und lokale Datenträger

Alle Clientprogramme können nicht nur die Verbindung zum grafischen Display auf dem jeweiligen X2go-Server herstellen, sondern auch lokale Dateisysteme mit dem Server verbinden und die Soundausgabe des Servers auf den Clientrechner umleiten. Für den Zugriff auf den Server und die X2go-Tunnel reicht der SSH-Port 22 aus. Aber anders als Nomachine verwendet das Projekt bei der Datei-Übertragung SSH-FS und setzt dabei auf die von den Distributionen gepflegten Pakete.

Lokale Mass Storage Devices erkennt X2go per Udev und verbindet sie automatisch mit dem Server, ebenso lokale CD-ROMs. Fürs Auswerfen des Datenträgers auf Rechnern, die dafür keine Hardwaretaste anbieten, steht ein eigenes Icon auf dem Desktop parat, das die Kommandos an den Client weiterleitet, ein wichtiges Feature für Mac-Clients.

Während einer laufenden Sitzung kann der Benutzer zusätzliche Verzeichnisse freigeben (Abbildung 5). X2go baut diese automatisch wie statisch konfigurierte Dateisystemverbindungen als Icons auf dem Desktop ein und integriert Einträge zum Unmounten in die Kontextmenüs.

Neben der einfachen Anmeldung über Benutzername und Passwort beherrscht X2go auch die von Sun bekannten, flexiblen Sessions zum Mitnehmen (To go) samt Authentifizierung über Smartcards oder einfache USB-Sticks. An einem Crypto-Dateisystem auf USB-Speichermedien führt dabei aber kein Weg vorbei, sonst könnte ein Angreifer im Besitz eines verlorenen Sticks dessen Identifikationsnummer einfach auslesen.

Admins im professionellen Umfeld sollten besser auf die Sicherheit einer Smartcard vertrauen, die die Identifikationsnummer berechnet und nicht abspeichert. Als Hardware kommen da beispielsweise Cherry-Tastaturen mit integriertem Kartenleser in Frage, günstige Geräte von Towitoko ab 19 Euro, oder jeder andere Kartenleser der Klasse 1 oder besser, der die OpenPGP-Card [13] unterstützt.

Abbildung 5: Auch während des Betriebs fügen Benutzer über die KDE-Dialoge lokale Laufwerke, Freigaben und Medien zur Sitzung hinzu.

Abbildung 5: Auch während des Betriebs fügen Benutzer über die KDE-Dialoge lokale Laufwerke, Freigaben und Medien zur Sitzung hinzu.

X2go-Server

Die X2go-Serverkomponente kennt verschiedene Ausbaustufen, die Basisvariante ist in weniger als 10 Minuten installiert und reicht zum Testen und für die meisten privaten Desktops völlig aus. Sie beinhaltet bereits sicheren Remotezugriff, Dateifreigabe und Soundwiedergabe und braucht keine LDAP-Installation, wie sie in [14] und [15] beschrieben ist.

Admins, die etwas mehr Aufwand betreiben, belohnt X2go mit Multiserver-Fähigkeiten und der zentralen Verwaltung der Einstellungen, Benutzer und Gruppen im LDAP, zum Beispiel über Luma [16].

Wer Thin Clients anbinden möchten, die über PXE eigene Images booten, kommt um den Verzeichnisdienst nicht herum. X2go verlangt keine eigenen Schemata, sondern integriert sich in bestehende Konfigurationen. Die zentrale Verwaltung der laufenden Sessions übernimmt dabei eine PostgreSQL-Datenbank, wobei auch für mehrere X2go-Server im Netz eine zentrale Instanz ausreicht.

Das Sudo-Konzept hilft dem Admin festzulegen, welche Benutzergruppe sich am X2go-Dienst anmelden darf. Weil bei der Installation die Konfiguration mit Hilfe von Visudo vielen Einsteigern schwerfällt, prüft die neue Clientversion nun, ob der Benutzer Mitglied der benötigten Gruppe ist, und erzeugt angepasste Fehlermeldungen (Abbildung 6).

Abbildung 6: Die neue Version prüft selbst: Wenn der Anwender nicht Mitglied der für X2go gewählten Gruppe ist, gibt der Client einen Hinweis auf die (Fehl-)Konfiguration des Sudo-Systems.

Abbildung 6: Die neue Version prüft selbst: Wenn der Anwender nicht Mitglied der für X2go gewählten Gruppe ist, gibt der Client einen Hinweis auf die (Fehl-)Konfiguration des Sudo-Systems.

Admin-Tools

X2go bietet über Server und Client hinaus grafische Administrationshilfen an, die sich in das KDE-Kontrollzentrum einbinden. Für den täglichen Betrieb stehen Benutzer-, Gruppen-, Geräteverwaltung und die X2go selbst betreffenden Module zur Sitzungskontrolle und -Konfiguration zur Verfügung.

Direkt damit verknüpft ist ein eigenes, Richtext-fähiges Pushmail-System (X2gomail), ein Frontend für die Samba-Administration und die Kontrolle übers Desktop-Sharing. Dieses gleichzeitige Benutzen einer einzigen Session ermöglicht es mehreren Personen, gemeinsam an einer Applikation zu arbeiten. Der Admin wiederum freut sich, weil er dem Benutzer im Supportfall über die Schulter schauen kann (Abbildung 7).

Abbildung 7: Zahlreiche X2go-Hilfsprogramme klinken sich ins Kontrollzentrum ein, im Modul »Systemverwaltung | X2Go-Sitzungsverwaltung« steuert der Admin beispielsweise die laufenden Sitzungen.

Abbildung 7: Zahlreiche X2go-Hilfsprogramme klinken sich ins Kontrollzentrum ein, im Modul »Systemverwaltung | X2Go-Sitzungsverwaltung« steuert der Admin beispielsweise die laufenden Sitzungen.

Ganz nebenbei eignen sich die KDE-Kontrollzentrums-Module auch gut zur Administration eines LDAP-Servers. Weil die Benutzer- und Gruppenverwaltung bequeme Live-Suchen und Autocomplete-Funktionen eingebaut hat, eignen sich die Tools auch für eine größere Benutzeranzahl. Der Admin kann Sitzungen über alle X2go-Server suchen, eine übersichtliche Baumstruktur zeigt die Zuordnung zum jeweiligen Server.

Voraussetzungen und Schwächen

Als Systemvoraussetzungen verlangt X2go aktuell mindestens ein Display größer als 640 mal 800 und einen Clientrechner mit 800-MHz-CPU. Da braucht aber der SVG-Renderer der QT-Engine schon 5 Sekunden zum ersten Darstellen des Anmeldemanagers. X2go wird ausschließlich auf Debian entwickelt, darum setzt die Vollinstallation mit allen Features ebenfalls ein derartiges System voraus, auch wenn bereits Pakete für Mandriva, Arch und Alt Linux existieren.

Die Entwickler selbst bezeichnen X2go immer noch als ein Freizeitprojekt, auch wenn es bereits einen großen Funktionsumfang und Referenzen vorweisen kann. Die Ressourcen sind begrenzt, das Team konzentriert sich auf die Programmierung, daher finden sich noch eher spärliche Informationen auf der Webseite. Erfreulicherweise haben die Projektmitglieder von Linux4afrika angefangen Installationsanleitungen und Problemlösungen online zu dokumentieren.

X2gos Probleme sind schnell zusammengefasst: Im aktuellen Stand der Version 3 funktioniert die Installationsroutine des Windows-Clients noch nicht auf Vista, manuelles Kopieren der Dateien ist notwendig, der Mac-Variante macht das mit OS X mitgelieferte X11 Probleme und die angesprochene USB-Authentifizierung ist noch in Arbeit. Dazu kommen die von FreeNX und OpenNX bekannten Probleme rund um die NX-Libraries und deren X.org-Code-Bestandteile, die beispielsweise eine Integration in die Debian-Repositories verhindern.

Frisches Licht für wen?

Für Admins stehen weitere interessante Addons zur Verfügung. X2gospyglass beispielsweise eignet sich gut für Lehrer, es zeigt die Schülerdesktops als Thumbnails, gestaffelt nach Raum, Posix-Gruppe oder individueller Auswahl.

X2go braucht sich nicht hinter Suns Strahlen zu verstecken. Es ist eines der umfangreichsten OSS-Projekte, das sich mit dem Thema Remotezugriff beschäftigt. Es glänzt mit seiner Auswahl der Clients. Die sehr flexible Administration, die umfangreichen Tools und die modernen Authentifizierungsverfahren machen es zu einer interessanten Software.

X2go hat auch andere Projekte und zahlreiche Schulen überzeugt, der Erfahrungsbericht im Kasten “Linux4afrika und X2go” zeigt zum Beispiel, warum das Entwicklungshilfeprojekt von Edubuntu auf X2go umgestiegen ist.

X2go ist für alle interessant, die mit mehr als einem Benutzer auf ein System zugreifen wollen, bei denen die Bandbreite für VNC nicht ausreicht oder die zusätzlich dazu auch Dateifreigaben und Audio-Weiterleitung brauchen.

Für den Einsatz in Firmen bietet das Projekt über die Rohrdorfer Firma R-zwo-R [18] Serviceverträge mit vorgegebenen Reaktionszeiten an, die Einnahmen daraus gehen wiederum zu einem großem Teil direkt an X2go. Auf eine Dual-Lizenz haben die Entwickler bewusst verzichtet. Das große Vorbild Sun verlangt immerhin knapp 90 Euro pro Benutzer und über 200 Euro für jeden Hardware-Sun-Ray-Client.

Wer sich selbst ein Bild machen möchte, kann das demnächst mit einer Live-CD mit Übuntu (Ubuntu plus X2go, [19]) tun. Startschuss dafür soll kurz nach dem offiziellen Release-Tag von Ubuntu Intrepid sein.

Infos

[1] X2go: [http://x2go.berlios.de]

[2] Sun-Virtual-Desktop-Infrastruktur: [http://de.sun.com/servicessolutions/infrastructure/mobility/desktop/index.jsp]

[3] Jens-Christoph Brendel, “Das Sun-Ray-Konzept”: Linux Technical Review 06, Server Based Computing, S. 62

[4] Sun Ray Server 4: [http://www.sun.com/software/sunray/index.jsp]

[5] Debootstrap: [http://www.debian-administration.org/articles/426]

[6] Nomachine: [http://www.nomachine.com]

[7] FreeNX: [http://freenx.berlios.de]

[8] Fuse: [http://fuse.sourceforge.net]

[9] SSH-FS: [http://fuse.sourceforge.net/sshfs.html]

[10] Linux4afrika: [http://www.linux4afrika.de]

[11] Maemo: [http://maemo.org]

[12] Bedienung des X2go-Clients:[https://www.linux-magazin.de/online_artikel/video_der_x2go_client]

[13] OpenPGP Card:[http://www.g10code.com/p-card.html]

[14] Installationsanleitung von Linux4afrika: [http://www.linux4afrika.de/x2go]

[15] Heinz-M. Graesing, “Terminaldienste mit X2go”: Linux Technical Review 06, Server Based Computing, S. 20

[16] Luma: [http://luma.sourceforge.net]

[17] Linux4paraguay: [http://www.linux4paraguay.org]

[18] R-zwo-R: [http://www.rzwor.de]

[19] Übuntu: [http://www.uebuntu.org]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben