AA_seehund_123rf-6977400_SylvieBouchard.jpg

© Sylvie Bouchard, 123rf.com

Der letzte Heuler

X2go – Terminalserver auch für den Hausgebrauch

01.06.2011
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 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.

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.

Listing 1

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

Paketvarianten

Paket Funktion
x2goserver allein stehender Terminalserver mit lokaler Authentifizierung
x2goclient, x2goclient-gtk, x2goclient-cli QT-, GTK- und Befehlszeilenclient
x2gosmartcardrules fortgeschrittene Features für Profis, wie zum Beispiel Smartcard-Authentifizierung
x2goprint Drucken übers Netz
x2goldaptools zentrale LDAP-Benutzerverwaltung
x2gogroupadministration, x2gouseradministration, x2gohostadministration Administrationstools, die sich nahtlos ins KDE-Kontrollzentrum einklinken
x2gothinclient älteres Modul, das PXE-Boot mit echten Thin Clients ermöglicht
x2gospyglass sammelt Screenshots aller angeschlossenen Terminals und zeigt sie als Thumbnails in einer Übersicht (ideal zum Beispiel für Schulklassen)

Die Oberfläche des Clients fällt weitgehend selbsterklärend aus: Im Bereich rechts finden Sie die konfigurierten Sitzungen, im blauen Feld links melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort beim angewählten Server an. Eine neue Sitzung legen Sie entweder übers Menü Sitzung | Neue Sitzung oder das entsprechende Icon in der Werkzeugleiste.

Im folgenden Popup für die Konfiguration geben Sie dann einen Sitzungsnamen und als Host localhost an. Außerdem wählen Sie eine Sitzungsart (KDE, Gnome, LXDE, Windows). Wie bei Nomachines NX haben Sie auch bei X2go die Möglichkeit, dedizierte Programme zu starten oder die Verbindung zu einem Windows-Terminalserver durchzureichen. Setzen Sie eine andere Desktop-Oberfläche ein, gilt es zu recherchieren, wie Sie das entsprechende Programm explizit aufrufen.

Abbildung 4: Der Setup-Dialog stellt bekannte Desktops zur Auswahl.

Normalerweise genügen die Angabe eines Sitzungsnamens, Hosts und Benutzers, gefolgt vom Klick auf Ok. Damit haben Sie die neue Sitzung bereits konfiguriert. Sie aktivieren Sie per Mausklick auf den entsprechenden Eintrag im rechten Bereich – oder konfigurieren per Dropdown-Menüs, die sich beim Überfahren mit der Maus aktivieren, zum Beispiel die gewünschte Fenstergröße.

Der kleine, nach unten zeigende Pfeil um unteren rechten Rand des weißen Sitzungsbereichs führt zur Konfiguration und einem netten Feature: dem Erzeugen eines Desktopsymbols für die Sitzung. Das funktioniert über die Parameter der Software. Listing 2 zeigt eine beispielhafte .desktop-Datei.

Listing 2

#!/usr/bin/env xdg-open
[Desktop Entry]
Exec=x2goclient --hide --sessionid=20101124121455066
Icon=/usr/share/x2goclient/icons/x2gosession.png
Name=Localhost
StartupNotify=true
Terminal=false
Type=Application
X-KDE-SubstituteUID=false

Die Session-Nummer und weitere Daten des Clients finden Sie im Verzeichnis ~/.x2goclient, vor allem die Parameter printing, sessions und settings verdienen einen Blick – hier landen alle Einstellungen des Clients; die Details ändern Sie bei Bedarf mit wenig Aufwand. Welche Parameter es noch gibt, verrät der Befehl x2goclient --help in einem Terminal.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

  • Terminalserver X2go 3.0 erschienen
    Die neue Version mit dem Release-Namen Uthörn wurde hauptsächlich an Debian 5.0 angepasst. Druckaufträge komprimiert der neue Druckdienst vor dem Versand an den Client auf ca. 10% ihrer ursprünglichen Größe und mit Pulseaudio unterstützt der Terminalserver jetzt eine dritte Soundarchitektur.
  • Googles NX-Client Neatx
    Internetriese Google steigt auch in das Terminalserver-Geschäft ein. Mit Neatx, einer eigenen, in Python geschriebenen Anpassung der FreeNX-Quellen steht seit kurzem ein eigener GPL-Server zur Verfügung.
  • Arbeit und Kosten mit dem Terminal-Server ThinLinc reduzieren
    ThinLinc präsentiert sich als leicht zu installierende und zu wartende Terminal-Server-Lösung, die keine Wünsche offen lässt.
  • Work@Home
    Im modernen Unternehmen arbeiten die Mitarbeiter auch schon mal von zu Hause aus. Für den Zugriff auf die Anwendungen auf dem Server sorgt die NX-Technologie.
  • Nomachine 4.0 unterstützt auch Mac und Windows

    Der italienische Hersteller Nomachine hat auf seiner Webseite erste Features des nächsten Releases 4.0 seiner Open-Source-basierten Terminalserver-Software bekannt gegeben. Darunter sind zahlreiche lange erwartete Features wie verbesserte Multimedia-Funktionen, Unterstützung für mobile Geräte, ein Browserclient und Remote-Zugriff auch auf Apples Rechner oder Windows-Systeme.
Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...