Aus Linux-Magazin 07/2009

Desktop zum Mitnehmen: X2go 3.0

© Leandro Higuimaran, Fotolia.com

Schnellen Zugriff auf die Arbeitsumgebung, notfalls auch vom Urlaubsort aus, bietet der freie Terminalserver X2go, Codename Uthörn, der am 24. April 2009 in Version 3.0 erschienen ist. X2go ist aber nicht auf Sand gebaut, sondern steht auf einem soliden Fundament aus anderen Open-Source-Tools.

In Zeiten von Home Office und Standortvernetzung wird es für die meisten Anwender immer wichtiger, jederzeit und überall auf ihre Daten zugreifen zu können. Diese zu verwalten, ist das Grauen der meisten Sysadmins. Dazu kommt das Sicherheitsrisiko, das Aufbewahren oder Mitführen von Daten außerhalb der Geschäftsräume mit sich bringt.

Einen möglichen Ausweg bietet X2go [1]: Der gesamte Arbeitsplatz mit all seinen Programmen und Diensten steht an einer zentralen Stelle bereit, alle Benutzer arbeiten ausschließlich auf dem Terminalserver. Auf diesem laufen auch vollständige Linux-Desktopumgebungen, und die X2go-Clients gibt es für zahlreiche Plattformen, darunter Windows, Mac OS X und sogar Maemo (für verschiedene Nokia-Geräte), siehe [2].

Der Zugriff auf die grafische Arbeitsoberfläche oder einzelne Applikationen erfolgt entweder über das lokale Netzwerk oder über das Internet – dank der zugrunde liegenden freien NX-Bibliotheken der italienischen Firma Nomachine [3] läuft das alles auch über Anschlüsse mit geringer Bandbreite und hoher Latenzzeit äußerst performant.

Zugriff der Clients

Trotz dieser Vorlage ist X2go nicht kompatibel zu NX, sondern geht seinen ganz eigenen Weg. Anders als der NX-Server oder die GPL-Variante FreeNX [4] setzt X2go für den Dateizugriff nicht auf das SMB-Protokoll, sondern auf SSHFS [5] und Fuse [6], was es auch nicht-privilegierten Benutzern ermöglicht, entfernte Dateisysteme einzubinden. Der Datenaustausch findet sicher und verschlüsselt über das SSH-Protokoll statt.

Neu in Version 3.0 ist das Reverse Tunneling der Dateifreigaben. Es bremst zwar die Datenübertragung ein bisschen aus, macht aber weitere Firewall-Einstellungen überflüssig. Anwender, die viel in fremden Netzen unterwegs sind, werden dies schätzen lernen – so können sie nun jederzeit auf Daten des Servers zugreifen und diese bei Bedarf auf die lokale Platte oder ein externes Speichermedium transportieren.

Admins in Firmennetzwerken dürften sich angesichts dieses Features hingegen die Haare raufen und auch den X2go-Entwicklern ist das Umgehen der Firewall mit der Brechstange laut eigenen Aussagen eher unsympathisch. Aufgrund der hohen Nachfrage aus der Community implementierten sie das Feature dennoch.

Audio-Ausgabe

X2go leitet auf Wunsch auch die Soundausgabe der Session auf den Clientrechner um. Die neue Version 3.0 unterstützt neben den beiden altbekannten Soundservern Arts [7] und ESD [8] auch die neuere Soundarchitektur Pulseaudio [9]. Alle drei genannten Soundserver sind netzwerktransparent. Diese Eigenschaft macht sich X2go zunutze – der Terminalserver bietet die Möglichkeit, den Sound über die X2go-Tunnel weiterzuleiten (siehe Abbildung 1).

Druck mal wieder

Eine der größten Hürden beim Arbeiten auf Terminalservern ist meist das Drucken. Größere Postscript-Dateien über eine geringe Bandbreite lokal auszudrucken legt die Verbindung in der Regel für einige Zeit lahm. Abhilfe schafft der neue X2go-Druckdienst, der Dokumente im Idealfall auf einen Bruchteil der Originalgröße verkleinert. Er konvertiert die Datei dabei verlustfrei ins PDF-Format, das fertige PDF wandert über SSHFS auf den jeweiligen Client. Dort hat der Anwender dann die Wahl, ob er das Dokument drucken oder das PDF betrachten beziehungsweise speichern möchte (siehe Abbildung 2).

X2go setzt auch hier auf Altbewährtes: Der Druckdienst »x2goprint« benötigt einen Cups-Server. Ist ein solcher bereits im Netz vorhanden, arbeitet X2go problemlos mit ihm zusammen. Der Administrator installiert dazu auf dem Cups-Server das Paket »cups-x2go«, richtet auf dem externen Server ein SSH-Schlüsselpaar ein und hinterlegt den Public Key auf dem X2go-Server für den Benutzer »x2goprint«.

Alternativ spielt der Systemverwalter auf dem X2go-Server die beiden Pakete »cups-x2go« und »x2goprint« ein und konfiguriert abschließend den Drucker über Cups auf dem Terminalserver. Details zu beiden Szenarien verrät die Dokumentation auf der Projekthomepage.

Abbildung 1: Auf Wunsch leitet X2go auch Audiosignale über den SSH-Tunnel weiter.

Abbildung 1: Auf Wunsch leitet X2go auch Audiosignale über den SSH-Tunnel weiter.

Abbildung 2: Die X2go-Druck-Engine wandelt Druckjobs in PDF-Dokumente um. Auf dem Client (hier unter Windows) öffnet der Benutzer die Datei im Betrachter oder druckt sie aus.

Abbildung 2: Die X2go-Druck-Engine wandelt Druckjobs in PDF-Dokumente um. Auf dem Client (hier unter Windows) öffnet der Benutzer die Datei im Betrachter oder druckt sie aus.

Betriebsmodi der Clients

Erwähnenswert, wenn auch nicht brandneu, ist der Einsatz des X2go-Clients als Displaymanager im Vollbildmodus. In diesem Thin-Client-Modus booten die Clients mit PXE über das Netzwerk, was die aufwändige Wartung der einzelnen Clientrechner erspart. USB-Medien, CDs oder DVDs erkennt und mountet X2go dank Udev automatisch, die Entwickler haben sogar an einen Auswurf-Knopf für die Mac-Benutzer gedacht.

Der Desktop-Modus startet hingegen im Fenster und erlaubt es dem Anwender, den Client selbst zu konfigurieren. Dazu gehören auch Einstellungen zum Mounten von Wechseldatenträgern – eine Zusammenarbeit mit Udev ist in diesem Modus allerdings nicht möglich.

Neu hinzugekommen ist in Version 3.0 der so genannte Hidden-Modus. Der erlaubt das Clientprogramm zu verstecken, sodass ein auf dem Server gestartetes Programm nicht mehr von einer lokal installierten Anwendung zu unterscheiden ist. Das Feature ermöglicht es den Administratoren, bestimmte Programme an einer zentralen Stelle einzurichten und dort zu verwalten, und könnte sich außerdem bei einer sanften Migration zu Linux hin als praktisch erweisen.

Server und Clients installieren
(Basisvariante)

Die Installation unter Debian Lenny verläuft in wenigen Schritten. Wie im Artikel erwähnt, stellen die Entwickler X2go-Pakete in einem eigenen Debian-Repository zur Verfügung. Dies macht der Administrator über den Eintrag

deb http://x2go.obviously-nice.de/deb/ lenny main

in der Datei »/etc/apt/sources.list« mit dem Paketmanager bekannt. Die X2go-Entwickler haben die eigenen Quellen mit einem GnuPG-Schlüssel signiert, der über die gängigen Keyserver zur Verfügung steht und mit »apt-key« in den eigenen Schlüsselbund aufgenommen wird. Nach der Aktualisierung der Paketliste (»apt-get update«) installiert der Systemverwalter die Pakete »x2goserver« und »sshfs«. Benutzer, die sich am Terminalserver anmelden wollen, müssen Mitglied der Gruppen »x2gousers« und »fuse« sein.

Zur Ablage und Verwaltung der Sitzungsdaten ist ein Datenbankserver erforderlich. Die Entwickler empfehlen dazu die Installation von »postgresql«. Das Skript »/usr/lib/X2go/script/x2gocreatebase.sh« erstellt die Datenbank; danach startet der Admin den X2go-Server neu:

/etc/init.d/x2goserver restart

Im X2go-Paketarchiv befinden sich außerdem Pakete für die verschiedenen Linux-Clients: »x2goclient« (QT-Variante), »x2goclient-gtk« (GTK-basiert) und »x2goclient-cli« (Kommandozeilen-Client).

Der Client für Mac OS X 10.5.6 setzt die Installation des Apple-eigenen X-Servers voraus. In den X11-Sicherheitseinstellungen müssen Zugriffe über das Netzwerk erlaubt sein.

Während der X2go-Client unter Windows XP keine Probleme bereitet, gestaltet sich die Zusammenarbeit des Cygwin-SSH-Daemon mit dem Client unter Windows Vista schwierig. Die Entwickler empfehlen, den X2go-Client direkt unterhalb des Wurzelverzeichnisses in einem Ordner ohne Leerzeichen abzulegen oder auf einen anderen SSH-Daemon auszuweichen.

Wenige Wermutstropfen

Ein paar Dinge trüben die Freude an der neuen X2go-Version. Es ist beispielsweise schade, dass Pakete für Open Suse fehlen. Zwar ist X2go Bestandteil des Open-Suse-basierten Systems Server4education, das auf den Desktop4education-Seiten [10] angeboten wird, eigene Open-Suse-Paketen stehen aber leider mangels Maintainer nicht zur Verfügung.

Das gleiche Schicksal trifft Benutzer von Ubuntu. Für die Release 9.04 bauten die X2go-Entwickler zwar native Pakete und verzichteten dafür auf die QT-Komponenten und die Multiserver-Funktionalität, jedoch hat die Ubuntu-Community die Pakete für Jaunty Jackalope nicht akzeptiert. Die X2go-Entwickler pflegen diese Pakete nicht weiter, bieten aber an, ihre Arbeit einem potenziellen neuen Ubuntu-Maintainer zur Verfügung zu stellen. Anwender von Ubuntu können als Ausweichmöglichkeit auf das Lenny-Repository zurückgreifen. Der Kasten “Server und Clients installieren (Basisvariante)” zeigt die Installation unter Debian.

Das sind aber die einzigen Kritikpunkte – X2go glänzt mit Flexibilität und Vielseitigkeit. Es bleibt zu hoffen, dass weitere Helfer Gefallen an dem freien Terminalserver finden und die Entwickler in Zukunft tatkräftig unterstützen. (hej)

Infos

[1] X2go: [http://www.x2go.org]

[2] Markus Feilner, “Der Sun-Blocker”: Linux-Magazin 12/08, S. 56

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

[4] FreeNX-Server: [http://freenx.berlios.de]

[5] Secure Shell Filesystem (SSHFS): [http://fuse.sourceforge.net/sshfs.html]

[6] Filesystem in Userspace (Fuse): [http://fuse.sourceforge.net]

[7] Arts Soundserver: [http://www.arts-project.org]

[8] Enlightenment-Wiki: [http://trac.enlightenment.org/e]

[9] Soundserver Pulseaudio: [http://pulseaudio.org]

[10]Desktop4education: [http://d4e.at]

Der Autor

Bastian Kames ist IT-Leiter in einem mittelständischen Unternehmen und arbeitet seit fast zehn Jahren mit professionellen Linux-Lösungen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
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
Nach oben