2118490

X2Go - Flotter Fernzugriff auf Ihren Linux-Desktop

05.10.2015 | 08:48 Uhr |

Das Open-Source-Projekt X2Go ist ein unkompliziertes Gespann aus Client und Server, um grafische Anwendungen auf dem Linux-Desktop in ansprechender Geschwindigkeit über das Netzwerk oder sogar über das Internet zu nutzen.

X2Go ist ein freier Terminal-Server für Linux, der mit wenig Aufwand ein Problem löst, das alle Anwender kennen dürften, die mehr als einen Arbeits-PC betreiben: Oft sitzen Sie ausgerechnet nicht vor dem PC, auf den Sie gerade Zugriff benötigen. Klar, ein Linux-System bringt eine mächtige Kommandozeile mit, die sich mittels SSH bestens zur Fernwartung eignet – zumindest für Shell-Spezialisten. Aber für den Fernzugriff auf Anwendungen und die Fernwartung mit grafischen Mitteln ist es zunächst eine Herausforderung, die passende Lösung zu finden. Das gilt umso mehr, wenn auch andere Betriebssysteme wie Windows als Clients zur Fernwartung dienen sollen.

Was X2Go anders macht

Für Linux-Systeme gibt es eine ganze Reihe von Lösungen zum Fernzugriff auf einen Desktop, und einige davon funktionieren auch für den Zugriff mit Windows auf ein Linux-System. Die bekannteste Lösung ist das Remote-Desktop-Protokoll VNC. Noch einfacher wird der Fernzugriff auf Desktops verschiedener Betriebssysteme mit dem Cloud-basierten Teamviewer, der sich durch seine unkomplizierte Installation auszeichnet, aber kein echtes Linux-Programm ist, sondern nur über Wine funktioniert. Zwischen Linux-Systemen gibt es sogar die besonders simple Lösung über X11-Forwarding, die außer einem laufenden SSH-Server kaum Vorbereitungen verlangt. Aber alle diese Wege sind nicht immer zufriedenstellend schnell, sicher oder skalierbar genug.

X2Go kombiniert die Vorteile verschiedener Ansätze. Es kümmert sich um eine sichere Verbindung und um eine flotte Darstellung auch bei niedrigen Übertragungsraten. Damit eignet sich X2Go nicht nur für das lokale Netzwerk, sondern auch für langsame Internet-Verbindungen. Mit seinem niedrigen Aufwand für Einrichtung und Verwaltung ist X2Go auch für Anwender interessant, die eine handliche Lösung ohne lange Einarbeitungszeit und Administrationsaufwand suchen.

Linux extern erreichen - dank Portfreigaben

Auf dem Server startet X2Go eine eigene grafische Oberfläche.
Vergrößern Auf dem Server startet X2Go eine eigene grafische Oberfläche.

Die Funktionsweise von X2Go

Die Entwickler des Open-Source-Projekts begannen vor zehn Jahren in Deutschland mit der Arbeit an X2Go, das in einer städtischen IT-Verwaltung als Ersatz für die „Sun Ray“-Clients von SUN Microsystems gedacht war. X2Go erfindet das Rad nicht neu, sondern nutzt bestehende Ansätze und verbreitete Linux-Komponenten: Als sicherer Übertragungsweg dient SSH, über das die anderen verwendeten Protokolle getunnelt werden. Ein X2Go-Server braucht also keinen anderen Dienst als SSH nach außen anzubieten. Der Benutzer braucht daher auf dem Server auch nur ein Linux-Benutzerkonto mit SSH-Zugang. Zur Anzeige und Steuerung des entfernten Desktops kommt eine ältere freie Version des effizienten Protokolls „NX“ der Firma Nomachine zum Einsatz. Die Server-Komponente hat ein komplettes XWindow-System im Gepäck. Bei der Verbindung des Clients startet der X2Go-Server eine neue grafische Oberfläche für den angemeldeten Benutzer. Diese läuft im Hintergrund, unabhängig vom grafischen Desktop und der Bildschirmauflösung auf dem Server. Auf Wunsch kann X2Go aber auch den tatsächlich laufenden Desktop des Servers auf den Client bringen.

Damit die Verbindung zum entfernten Desktop möglichst nahtlos wirkt, so als liefe dieser auf dem lokalen PC, bringt X2Go als Ergänzung noch eine gemeinsame Zwischenablage, Soundausgabe, eine Druckerverbindung für den lokalen Ausdruck und eine Ordnerfreigabe, um Dateien einfach vom Client zum Server zu bringen.

Die Top-20 der Linux-Distributionen: So finden Sie Ihr Lieblings-Linux

Auch diese Funktionen bauen auf bewährten vorhandenen Systemkomponenten auf: Den Sound schickt der Server per Pulseaudio zum Client, als Drucksystem dient Cups, und SSHFS erledigt die Ordnerfreigabe. Der Client bündelt die Einzeldienste in einer Anwendung, so dass Client-seitig nur ein einziges Programm nötig ist, das alle Voraussetzungen mitbringt.

Ist der X2Go-Server auf einem Linux-PC im Netzwerk installiert, dann reichen wie bei SSH der Benutzername und das Passwort.
Vergrößern Ist der X2Go-Server auf einem Linux-PC im Netzwerk installiert, dann reichen wie bei SSH der Benutzername und das Passwort.

Der Terminal-Server von X2Go

Einen Linux-Rechner machen Sie mit der Installation der X2Go-Server-Pakete zu einem Terminal-Server. Den X2Go-Server gibt es ausschließlich für Linux und hier für die verbreiteten Distributionen Debian , Ubuntu und Fedora in Form fertiger Pakete. Da der X2Go-Server aber eigene X11-Bibliotheken mitbringt, was den Paketrichtlinien einiger Distributionen wie Debian und Ubuntu zuwiderläuft, sind die Server-Pakete in externen Repositories der Entwickler verfügbar. Für Raspbian (Raspberry Pi) gibt es die Pakete nicht, und der Minirechner kann nur als zugreifender Client arbeiten.

Windows als Client

Eine Besonderheit des X2Go-Clients ist, dass er auch unter Windows erstaunlich unkompliziert Verbindungen zu Linux-Servern herstellt. Der Client bringt auch in der Windows-Version alle benötigten Programmteile mit, also SSH-Client, Pulseaudio-Client und Druckerschnittstelle. Die Installation unter Windows erfolgt über das Setup-Programm, das auf der X2Go-Webseite ganz oben in der Kategorie „MS Windows“ zum Download steht. Das 32-Bit-Programm läuft auch unter den 64-Bit-Ausgaben von Windows. Nach dem ersten Start und noch während der Verbindungsaufnahme müssen Sie die X2Go-Komponenten des Windows-Clients noch bei den diversen Abfragen durch die Firewall lassen.

Ubuntu: Auf einer Distribution des Ubuntu-Zoos (ab Version 14.04) richten Sie das PPA für X2Go zunächst mit dem Befehl

sudo add-apt-repository ppa:x2go/stable  sudo apt update  

ein. Dann installieren Sie die Server-Komponente zusammen mit Open SSH, das die Voraussetzung für eingehende SSH-Verbindungen ist:

sudo apt install x2goserver x2go server-xsession x2goserver-printing  

Ein manueller Start von Server-Diensten ist danach nicht nötig. Es genügt, wenn der automatisch ausgeführte Open-SSH-Server läuft.
Debian: Da mit PPAs für Ubuntu unter Debian nichts anzufangen ist, gibt es ein reguläres Repository für Debian 8, das Sie manuell in die Datei „/etc/ apt/sources.list“ aufnehmen. Öffnen Sie die Konfigurationsdatei dazu mit

sudo nano /etc/apt/sources.list  

im Texteditor Nano, und fügen Sie für Debian 8.x die Zeile

deb http://packages.x2go.org/debian jessie main  

hinzu. Danach ist die Aktualisierung der Paketquellen mit sudo apt update nötig. Den Warnhinweis zu einem fehlenden Schlüssel dieser Paketquelle müssen Sie derzeit ignorieren, da für Debian 8 noch keine gültige Signatur zu finden ist. Dann installieren Sie unter Debian die X2Go-Server-Pakete mit

sudo apt install x2goserver x2go server-xsession x2goserver-printing  

Die 10 wichtigsten Linux-Befehle im Netzwerk

Fedora: Hier installieren Sie die Pakete ohne Umweg über externe Paketquellen:

sudo dnf install x2goserver x2go server-printing  

Unabhängig davon, welche Distribution zum Einsatz kommt, sollte der Linux-Rechner mit dem X2Go-Server im lokalen Netzwerk immer unter einer festen IP-Adresse ansprechbar sein und nicht vom Router per DHCP regelmäßig eine neue Adresse bekommen. Diese Einstellung legen Sie im Router über eine Zuordnung der MAC-Adresse des Rechners mit einer statischen IP-Adresse fest. Beachten Sie, dass X2Go am besten mit traditionellen Desktops wie KDE 4, XFCE, LXDE funktioniert. Hardware-beschleunigte Desktops wie KDE Plasma 5 , Unity , Gnome und Cinnamon werden nur eingeschränkt unterstützt.

Im Idealfall hat der Server also zusätzlich noch ein XFCE oder LXDE installiert, auch wenn dies nicht als primäre Desktop-Umgebung dient.

Der X2Go-Client kann auch einzelne Software auf dem Server starten und überträgt dann lediglich deren Fenster.
Vergrößern Der X2Go-Client kann auch einzelne Software auf dem Server starten und überträgt dann lediglich deren Fenster.

Den Client installieren

Im Gegensatz zur Server-Komponente gibt es den X2Go-Client in den Standard-Paketquellen der verbreiteten Linux-Distributionen, und er ist damit einfacher auf den anderen Rechnern im Netzwerk installiert, die auf den Server zugreifen sollen.

Ubuntu, Debian und Raspbian: Das Paket hat unter allen drei Distributionen den gleichen Namen und ist mit

sudo apt install x2goclient

schnell eingerichtet.
Fedora: Die Installation ist hier mit dem Kommando

sudo dnf install x2goclient  

erledigt. Das Programm starten Sie über den Eintrag „X2Go Client“ unter „Internet“ im Anwendungsmenü der Desktop-Umgebung oder finden es unter diesem Namen in der Übersichtsseite von Unity und Gnome. Übrigens können Sie den Client auch auf einem System installieren, wo bereits der X2Go-Server eingerichtet ist.

Auch wenn die Verbindung zusammenbricht, bleibt die Sitzung auf dem X2Go-Server erhalten.
Vergrößern Auch wenn die Verbindung zusammenbricht, bleibt die Sitzung auf dem X2Go-Server erhalten.

Eine Verbindung herstellen

Sobald auf der Gegenseite der X2go-Server installiert ist, kann der Client- PC eine Verbindung aufbauen. Mehr als die lokale IP-Adresse des Servers, ferner Ihren Benutzernamen für den Linux-Server und das Passwort brauchen Sie nicht.

Die Programmoberfläche, die auch komplett in Deutsch vorliegt, ist funktional gehalten und zweigeteilt: In der Mitte ist das Anmeldefeld für eine neue Sitzung, und rechts in der anfangs noch leeren Leiste finden sich die bereits konfigurierten Verbindungen. Um eine neue Verbindung einzurichten, gehen Sie in der Menüleiste auf „Sitzung -> Neue Sitzung“ und bekommen dann den Dialog mit allen Einstellungen präsentiert. Als „Host“ tragen Sie die IP-Adresse des X2Go-Servers ein und darunter im Feld „Login“ den Namen Ihres dort vorhanden Linux-Benutzerkontos, mit dem Sie sich auch lokal anmelden. Unter „Sitzungsart“ wählen Sie den Desktop für die entfernte Sitzung aus. Diese Desktop-Umgebung muss auf dem Server nur verfügbar sein, aber nicht laufen. Auf der Menüseite „Verbindung“ legen Sie die erwartete Verbindungsgeschwindigkeit fest, die von „Modem“ bis „LAN“ reicht und die Kompressionsrate des übertragenen Desktop-Abbilds festlegt. Die Seite „Ein- /Ausgabe“ erlaubt die Anpassung der Standardgröße des Fensters, das sich danach aber sowieso auf die die gewünschten Dimensionen ziehen lässt.

Unter „freigegebene Ordner“ können Sie schließlich noch ein Verzeichnis auf dem Client auswählen, auf dessen Inhalt die Server-Sitzung dann zugreifen kann. Die Schaltfläche „OK“ speichert die Sitzung, die jetzt in der rechten Leiste erscheint und per Klick ausgewählt wird. Zur Verbindungsaufnahme müssen Sie das Log-in-Passwort für Ihr Linux-Benutzerkonto auf dem Server eingeben. Daraufhin öffnet der Client bei geglückter Verbindung ein neues Fenster mit dem Inhalt der Remote-Session.

Linux-Newsletter mit Tests, Tipps, Ratgebern und News jetzt abonnieren

Verbindungen anhalten und fortsetzen: X2Go bezieht auch Verbindungsabbrüche mit ein. Wird das Fenster der Sitzung geschlossen, so laufen die Programme auf dem Server weiter, und nach einer erneuten Anmeldung können Sie weiterarbeiten. Auch wenn Sie das Sitzungsfenster nur schließen, bleiben die gestarteten Programme Server-seitig erhalten. Um eine Verbindung ganz zu schließen, klicken Sie im Anmeldefeld des Clients auf das Power-Symbol an der dritten Stelle von links.

X2Go: Stärken und Schwächen

Mit X2Go verbinden Sie sich aus der Ferne bequem mit einem Linux-PC und arbeiten mit einzelnen Anwendungen oder auch mit einem kompletten Desktop, der auf dem Server-Rechner ausgeführt wird.

Vorteile:

  • Client-Programme gibt es für Linux, Windows und Mac-OS X.

  • Datenkompression und der Verzicht auf umlaufende Pakete ermöglichten Netzwerkverbindungen mit geringen Bandbreiten.

  • Die komplette Verbindung läuft stets verschlüsselt über SSH ab.

  • X2Go kann nicht nur den gesamten Desktop des entfernten Linux- PCs abbilden, sondern auch gezielt einzelne Anwendungen darstellen.

  • Die Desktop-Auflösung auf dem Server muss nicht der des Clients entsprechend.

  • Laufende Sitzungen lassen sich anhalten und später fortsetzen, auch auf anderen Clients, ohne die laufenden Anwendungen auf dem X2Go-Server zu schließen.

  • X2Go kümmert sich um Maus, Tastatur und Soundausgabe auf dem Client, erlaubt Druckaufträge und bietet einen Weg zum direkten Dateiaustausch.

Nachteile

  • Die Server-Komponente gibt es nur für Linux-Systeme, nicht für Windows und Mac-OS X.

  • X2Go liefert seine eigene Version des X-Window-Systems mit, eine modifizierte Abspaltung von Xorg 6.9. Diese Abspaltung wird nicht für die ARM-Plattform gepflegt, folglich läuft der X2Go-Server nicht auf Raspberry Pi und Co., auch nicht auf Android.

  • Während es die Client-Software für viele Linux-Distributionen über die Standard-Paketquellen gibt, ist die Server-Komponente im Fall von Debian, Ubuntu, Open Suse und Cent-OS nur über externe Repositories verfügbar.

  • Hardware-beschleunigte Oberflächen wie Unity, Gnome und Cinnamon werden nur in der Desktop-Ansicht unterstützt („Zugriff auf lokalen Desktop“).

Raspberry Pi - Fernzugriff auf Desktop einrichten
0 Kommentare zu diesem Artikel
2118490