Aus LinuxUser 07/2011

X2go – Terminalserver auch für den Hausgebrauch

© Sylvie Bouchard, 123rf.com

Der letzte Heuler

Ob auf Geschäftsreise, in der Konferenz oder zu Besuch bei Freunden: Mit X2go haben Sie Ihren Desktop der Wahl immer zur Hand – über eine sichere und effiziente Verbindung.

Wer eine Arbeitsfläche via Internet übertragen will, liegt mit dem GPL-Projekt X2go [1] fast immer richtig: Es bringt Linux- und Windows-Desktops schnell, unkompliziert und sicher auf entfernte Rechner, erlaubt den transparenten Transfer von Sound und Dateien in der Session, ermöglicht das Drucken auf lokale Drucker und unterstützt KDE, Gnome, LXDE und beliebige Einzelprogramme im nahtlosen Fenstermodus.

Alle übertragenen Daten verschlüsselt das Tool und sorgt mittels Kompression und flexibler Caches auf beiden Seiten für flüssiges Arbeiten auch bei geringer Bandbreite oder hoher Latenz, zum Beispiel über UMTS-Verbindungen. Als Clients stehen dem Anwender Varianten für Windows, Linux, Mac und mobile Geräte der Maemo-Baureihen (Nokia N700/800/900) bereit. Die wachsende Community arbeitet zudem an weiteren Alternativen.

Die Namen der Software-Versionen korrespondieren dabei mit dem Maskottchen für das Terminalserver-Projektes, der Robbe: Die aktuelle Version 3.1 der Software trägt den Namen „Baikal“, die instabile Variante auf den Namen „Heuler“. Dabei spielt „Baikal“ auf eine Besonderheit an, nämlich die Baikal-Robbe, die als einzige ihrer Art ausschließlich im Süßwasser des gleichnamigen Sees lebt.

Das Projekt erhält eine zusätzliche Bedeutung durch die Tatsache, dass das italienische Unternehmen Nomachine die Lizenz für die X2go-Alternative NX mit der kommenden Version 4.0 zu einer Closed-Source-Lizenz ändert. Das löste in der Community viel Unmut aus, und es ist derzeit noch unklar, ob es weiterhin eine kostenlose NX-Version gibt.

Zwar stellt Nomachine den Quellcode gegen eine Gebühr bereit, aber Modifikationen erlaubt das neue Lizenzwerk nicht mehr. Möchten Sie Ihre Daten einem Produkt anvertrauen, dessen Arbeitsweise Sie bei Bedarf bis ins kleinste Detail durchschauen, fahren Sie mit X2go besser.

Stand der Dinge

Obwohl X2go ursprünglich auf dem proprietären NX-Protokoll [2] von Nomachine basierte und lange dessen freie Bibliotheken verwendete, erweist es sich heute als waschechtes Open-Source-Projekt, das in nahezu vorbildlicher Weise freie Technologien verwendet, um diverse Dienste bereit zu stellen (siehe Kasten „X2go: Komponenten“). Für den Einsatz in einer professionellen Umgebung unterstützt die Software außerdem LDAP, Smartcards, Tokens sowie Thin-Client-Management mit PXE-Boot.

X2go: Komponenten

  • Netzwerkprotokoll des X-Windows Systems (X11)
  • NX-Bibliotheken (überarbeitet und teilweise komplett neu erstellt)
  • Secure Shell (SSH)
  • Filesystem in Userspace (Fuse) mit der SSHFS-Erweiterung
  • Drucksystem Cups
  • Pulseaudio (netzwerktransparenter Audio-Dienst)

In der derzeit schnell wachsenden Community tobten in den letzten Monaten einige Diskussionen über die Ziele des Projekts. X2go war lange Zeit das Steckenpferd zweier Entwickler – die Absprachen erfolgten auf Zuruf, die klassischen Mittel zur Kommunikation erschienen überflüssig. In den letzten Jahren erhielt das Projekt jedoch erstaunlichen Zulauf: So engagieren sich seit Anfang 2011 mehrere Universitäten und bringen viele neue Ideen und Patches ein. Die Uni Erlangen treibt quasi im Alleingang die Arbeit an der Thin-Client-Architektur voran – weil sie diese im lokalen Uni-Netz einsetzt. Damit entstanden aber auch Reibereien über die Schwerpunkte der Arbeit.

Nichtsdestotrotz hat der wachsende Zulauf viele positive Nebeneffekte: Ein neues Git-Repository erlaubt, den Code zentral zu verwalten, die Mailingliste ist auf Berlios umgezogen [3], neben Debian-Paketen stehen seit kurzem auch RPM- und spezielle Ubuntu-Pakete bereit (siehe Kasten „Probleme unter Ubuntu“). Wer Hilfe zu einzelnen Komponenten braucht, ist definitiv auf der Mailingliste richtig aufgehoben.

Probleme unter Ubuntu

Unter manchen Versionen von Ubuntu sowie dessen Derivaten berichteten Anwender von Problemen beim Verbindungsaufbau mit einem Server auf dem lokalen Rechner. Dies liegt laut den Entwicklern an fehlerhaften Paketen. Als Anwender haben Sie die Möglichkeit, auf ein PPA zurückzugreifen, dass die Uni Erlangen betreibt und das Sie unter der folgenden Adresse finden:

https://launchpad.net/~siretart/+archive/x2go

Dieses PPA eignet sich auch für eine normale Installation der Software mit allen Komponenten.

Als Clients kommen Webbrowser, native Software oder eine Thin-Client-Architektur infrage. Bei letzterer sorgt der Server dafür, dass Client-Rechner übers Netz die X2go-Umgebung booten. Übers HTTPS, SSH oder das NX-Protokoll nehmen die Clients Kontakt zum Server auf (Abbildung 1), der daraufhin den gewünschten Desktop ausgibt. Diese Vielseitigkeit ermöglicht den Einsatz von X2go auch in komplexen Unternehmens- oder Schulungsszenarien. Daneben zeigt sich X2go in sich flexibel: Abbildung 2 zeigt eine verschachtelte Sitzung.

Abbildung 1: Die X2go-Architektur bietet für professionelle Anwender viele interessante Komponenten, bis hin zur redundanten Anbindung für sichere Server.
Abbildung 1: Die X2go-Architektur bietet für professionelle Anwender viele interessante Komponenten, bis hin zur redundanten Anbindung für sichere Server.
Abbildung 2: X2go erlaubt verschachtelte Sitzungen: Hier läuft KDE 3.5 auf einem entfernten Server. Der Benutzer hat je eine KDE 4.6 (links oben) und eine LXDE-Sitzung (rechts unten) auf dritten Rechnern geöffnet.
Abbildung 2: X2go erlaubt verschachtelte Sitzungen: Hier läuft KDE 3.5 auf einem entfernten Server. Der Benutzer hat je eine KDE 4.6 (links oben) und eine LXDE-Sitzung (rechts unten) auf dritten Rechnern geöffnet.

Nativer Client

Einer der nativen Clients präsentiert sich als schlankes Qt-Programm (Abbildung 3) mit einem zweigeteilten Interface. Wer nicht auf Qt setzen will, holt sich entweder den CLI-Client für die Kommandozeile oder den GTK-Client aus den gleichnamigen Software-Paketen. Die Clients für Windows, Mac und Maemo finden Sie auf der X2go-Webseite. Der Kasten „Installation“ hilft beim Setup der Software.

Abbildung 3: Seit der 2009 erschienenen Version 3 hat X2go einen intuitiven Client, in dem Sie viele Funktionen per Mausklick erreichen.
Abbildung 3: Seit der 2009 erschienenen Version 3 hat X2go einen intuitiven Client, in dem Sie viele Funktionen per Mausklick erreichen.

Installation

Unter Debian 5.0 „Lenny“ haben Sie X2go schnell installiert. Dazu legen Sie als User root eine Datei x2go.list mit dem Inhalt aus Listing 1 im Verzeichnis /etc/apt/sources.list.d/ an. Seit das Projekt im Jahr 2010 auf den Radarschirm von OpenSuse geriet, gibt es auch RPM-Pakete fürs Chamäleon.

In den Debian-Repositories, die im Test fehlerfrei ab Ubuntu 8.04 und auch mit „Natty Narwhal“ liefen, finden sich zahlreiche Archive, die für unterschiedliche Einsatzzwecken dienen (siehe Tabelle „Paketvarianten“). Seit April 2011 existiert bei DEB-basierten Systemen nur noch ein Paket für den Server, die Aufteilung in x2goserver-home oder x2goserver-one entfällt.

Die Installation erledigen Sie am schnellsten auf der Kommandozeile. Um Server und Client auf dem lokalen System zu installieren und gleich für die richtige Konfiguration der beteiligten Dienste zu sorgen, genügt der Befehl:

$ sudo aptitude install x2goserver-home x2goclient

Hakt hier etwas, finden Sie in vielen Fällen im Wiki und auf der Mailing-Liste Tipps zur Fehlersuche. Prüfen Sie jedoch vor der Installation die Funktionsfähigkeit der beteiligten Dienste (siehe Kasten „X2go: Komponenten“). In der Regel konfiguriert das X2go-Paket diese korrekt.

Wichtig ist zudem die richtige Gruppenmitgliedschaft: Normalerweise sollten Benutzer auf Server und Client mindestens in den Gruppen fuse, und x2gousers enthalten sein. Wer Druck- und Datentransfer nicht benötigt, braucht nicht Mitglied in fuse zu sein.

LinuxUser 07/2011 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: