Entfernte Desktop-Rechner lokal verwenden

Aus LinuxUser 06/2020

Entfernte Desktop-Rechner lokal verwenden

© Romolo Tavani, 123RF

In Verbindung bleiben

Das Installieren eines Pakets und das Aktivieren eines Server-Diensts genügen, um mit X2go grafische Programme oder den kompletten Desktop eines entfernten Rechners lokal zu nutzen.

X2go [1] dient als eine einfach zu bedienende quelloffene Software für den Fernzugriff auf grafische Programme (Abbildung 1). Als Übertragungsbasis nutzt es eine SSH-Verbindung. Besitzt der entfernte Rechner einen SSH-Zugang, dann genügt es, im X2go-Client die IP-Adresse und die Login-Daten des Remote-Rechners anzugeben.

Abbildung 1: Das Programmfenster des X2go-Clients für den Fernzugriff bildet optisch ein Login-Schirm am lokalen Rechner nach. Serverseitig gilt es, lediglich Programmpakete zu installieren und den Serverdienst zu aktivieren.

Abbildung 1: Das Programmfenster des X2go-Clients für den Fernzugriff bildet optisch ein Login-Schirm am lokalen Rechner nach. Serverseitig gilt es, lediglich Programmpakete zu installieren und den Serverdienst zu aktivieren.

Dort startet X2go die Anwendung für die Remote-Bedienung und zusätzlich das Programm Nxproxy, einen im Hintergrund laufenden, unsichtbaren X-Server, mit dem sich die Remote-Programme anstelle des normalen X-Servers verbinden. Nxproxy komprimiert und puffert die in den Programmfenstern dargestellten grafischen Inhalte, bevor es sie an den Client auf einem anderen Rechner überträgt (Abbildung 2).

Abbildung 2: Normale Programme kooperieren mit dem lokalen X-Server, per X2go übertragene dagegen mit dem unsichtbaren NX-Proxy. Er verhält sich dem Programm gegenüber wie ein normaler X-Server, überträgt die Daten jedoch komprimiert an den NX-Client auf dem zugreifenden Rechner, der sie dort in einem Programmfenster anzeigt.

Abbildung 2: Normale Programme kooperieren mit dem lokalen X-Server, per X2go übertragene dagegen mit dem unsichtbaren NX-Proxy. Er verhält sich dem Programm gegenüber wie ein normaler X-Server, überträgt die Daten jedoch komprimiert an den NX-Client auf dem zugreifenden Rechner, der sie dort in einem Programmfenster anzeigt.

Bereitstellung

Serverseitig gilt es, die Pakete x2goserver und, wenn für die Distribution vorhanden, x2goserver-xsession inklusive Abhängigkeiten zu installieren (siehe Kasten “X2go-Pakete”). Ein mit systemctl enable x2goserver zu aktivierender Server-Dienst gehört zum Bestandteil der serverseitigen Software, wird zum Aufbau einer Verbindung aber nicht zwingend benötigt. Seine Aufgabe besteht darin, verwaiste Sitzungen zu beenden. Diese ermitteln Sie mit dem Aufruf x2golistsessions, in dessen Ausgabe der Text zwischen der ersten und zweiten Pipe (|) den Session-Namen angibt. Den übergeben Sie anschließend dem Kommando x2goterminate-session als Parameter, um die fragliche Sitzung zu beenden.

X2go-Pakete

Debian, Ubuntu, Fedora und Arch Linux halten X2go-Pakete für Client und Server in den offiziellen Repositories vor. Die X2go-Entwickler stellen jedoch aktuellere Pakete sowie Windows- und MacOS-Clients zur Verfügung [2]. Unter OpenSuse funktionierten im Test nur die Pakete der X2go-Entwickler. Arch-Linux-Anwender finden die optionale Komponente x2godesktopsharing zum Spiegeln einer laufenden Desktop-Sitzung im AUR [3].

Eine Verbindung (Sitzung) zu einem entfernten Rechner mit installiertem X2go-Server legen Sie im X2go-Client mit Sitzung | Neue Sitzung an (Abbildung 3). Der sich öffnende Dialog mit seinen fünf Reitern fällt zwar umfangreich aus, doch in aller Regel genügt es, eine überschaubare Anzahl an Parametern anzupassen. Im ersten Reiter Sitzung tragen Sie unter Host die Netzadresse ein, unter Login den Benutzernamen des Users auf dem entfernten Rechner – im Grunde analog zur Anmeldung an einer SSH-Konsole.

Abbildung 3: Für einen X2go-Zugang über DSL genügt auf der Client-Seite in der Regel das Anpassen weniger Parameter, etwa den Hostnamen, den Benutzernamen oder einen nicht standardmäßigen SSH-Port.

Abbildung 3: Für einen X2go-Zugang über DSL genügt auf der Client-Seite in der Regel das Anpassen weniger Parameter, etwa den Hostnamen, den Benutzernamen oder einen nicht standardmäßigen SSH-Port.

SSH nutzt in der Standardkonfiguration ein Login mit Benutzername und Passwort; alternativ kommt eine Schlüsseldatei zum Einsatz. X2go arbeitet mit beidem, auf Wunsch sogar mit einer Kerberos-5-Authentifizierung. Die entsprechenden Optionen finden Sie im Dialog Neue Sitzung. Auch die Verbindung über einen Proxy-Server für die SSH-Verbindung bietet die Software an, zum Beispiel um SSH auf einem HTTP-Port durch eine Firewall zu tunneln. Da X2go alle Daten über eine gewöhnliche SSH-Verbindung überträgt, verwenden Sie dieselben Parameter wie bei einem SSH-Konsolen-Login.

X2go lässt sich einfach installieren und erfordert, bis auf das Aktivieren des Diensts auf der Server-Seite und der Login-Daten im Client, keine Konfiguration. Am schnellsten richten Sie Telearbeitsplätze ein, indem Sie die Software auf allen Arbeitsplatzrechnern installieren und diese so zum X2go-Server aufrüsten.

Alternativ erlaubt es die Software auch, einen zentralen X2go-Server für viele Benutzer einzurichten. Auch hier gestaltet sich der administrative Aufwand für den Fernzugriff gering: Neben der Installation von X2go richten Sie dafür lediglich Benutzerkonten und SSH-Zugänge für alle Teilnehmer ein. Nicht ganz so leicht fällt es aber, die Ressourcenanforderungen für mehrere Benutzer einzuschätzen und zu gewährleisten.

Fernbedient

Die Sitzungsart unten im Dialog Sitzungsvoreinstellungen legt fest, welche Anwendung nach dem Aufbau der Verbindung startet. Zum Testen genügt es, hier zunächst die Option Anwendung zu wählen und als Befehl /usr/bin/xterm einzugeben: Xterm gehört fest zu X-Windows und steht unter jedem Linux-System mit grafischer Oberfläche bereit.

Nach dem Schließen des Dialogs erscheint im X2go-Client-Fenster rechts neben der blauen Fläche ein grauer Kasten. Ein Klick darauf wählt die Sitzung aus, die daraufhin als Login-Dialog im blauen Hauptbereich des Fensters erscheint. Die Eingabe des Passworts und ein Klick auf Ok starten die Verbindung. Der hellgraue Kasten zeigt nun den Status als aktiv sowie einige Details, wie die Startzeit der Sitzung.

Im sich öffnenden X-Term-Fenster geben Sie nicht nur Konsolenbefehle ein, sondern starten daraus auch grafische Programme (Abbildung 4). Wer keine Berührungsängste im Umgang mit dem Terminal hat, dem steht der Remote-Rechner bereits uneingeschränkt zur Verfügung.

Abbildung 4: Die Fenster aller im per X2go vom Remote-Rechner übertragenen Xterm-Fenster gestarteten Programme erscheinen auf dem Client-Bildschirm.

Abbildung 4: Die Fenster aller im per X2go vom Remote-Rechner übertragenen Xterm-Fenster gestarteten Programme erscheinen auf dem Client-Bildschirm.

Die kleinen Buttons unten im Kasten der aktiven Sitzung ermöglichen es, Ordner zu teilen sowie die Sitzung zu pausieren oder zu beenden. Pausierte Verbindungen lassen sich auch von anderen Rechnern übernehmen, zum Beispiel um laufende Programme von einem Desktop-Rechner auf einen Laptop zu “teleportieren”.

Um die Einstellungen einer Sitzung zu verändern, beenden Sie diese mit einem Klick auf Abbrechen. Danach erscheint die Sitzung wieder als graue Box rechts im Client-Fenster. Ein Klick auf das Hamburger-Icon rechts unten in den Boxen öffnet erneut die Sitzungsvoreinstellungen.

X2go stellt auf Wunsch auch ein grafisches Startmenü für Remote-Programme bereit. Nach Auswahl von Veröffentlichte Anwendungen aus der Sitzungsart erscheint es unten im Kasten der aktiven Sitzung ganz links als kreisförmiges Icon (Abbildung 5). Es zeigt, analog zum lokalen Linux-Startmenü, Einträge für die im Ordner /etc/x2go/applications enthaltenen Programmstarter (desktop-Dateien).

Abbildung 5: Aktivieren Sie unter <span class="ui-element">Sitzungsart</span> den Punkt <span class="ui-element">Ver&ouml;ffentlichte Anwendungen</span>, stellt der linke Button im Sitzungskasten (rot markiert) ein grafisches Startmen&uuml; zur Verf&uuml;gung.

Abbildung 5: Aktivieren Sie unter Sitzungsart den Punkt Veröffentlichte Anwendungen, stellt der linke Button im Sitzungskasten (rot markiert) ein grafisches Startmenü zur Verfügung.

Dieses Verzeichnis müssen Sie nach der Installation von X2go als root von Hand anlegen. Entweder kopieren Sie die Programme, die das Remote-Startmenü enthalten soll, aus /usr/share/applications hinein, oder Sie legen statt des Ordners einen gleichnamigen symbolischen Link auf /usr/share/applications an. Damit steht das ganze Startmenü des entfernten Rechners auf dem Client zur Verfügung.

Wählen Sie als Sitzungsart die Option Veröffentlichte Anwendungen, dann startet nach Aufbau der Verbindung kein Programm. Sie wählen dann selbst eines aus dem Remote-Startmenü. Die X2go-Sitzung bleibt nach Beenden aller Remote-Anwendungen offen, während sie sich bei der Sitzungsart Anwendung schließt, sobald Sie das dort gewählte Programm beenden.

X2go überträgt aber nicht nur einzelne Programme, sondern auf Wunsch auch ganze Desktop-Umgebungen. Allerdings stammt der virtuelle X-Server Nxproxy von X11 R6.9 aus dem Jahr 2005 ab und kennt keine 3D-Beschleunigung (X.org-Erweiterung Xcomposite oder GLX). Die Remote-Desktop-Umgebung muss also zumindest einen Fallback-Modus anbieten, der ohne diese sonst längst selbstverständlichen Funktionen des X-Servers zurechtkommt.

Während die nicht besonders aktuelle Dokumentation hier wenig Hoffnung macht [4], funktionierte es im Test trotzdem mit KDE Plasma 5, LXDE, LXQt, Mate und IceWM, nicht jedoch mit Gnome 3. Zum Starten einer Remote-Desktop-Sitzung wählen Sie im Dialog Sitzungsvoreinstellungen unter Sitzungsart die gewünschte Desktop-Umgebung aus.

Es erleichtert das Miteinander von remote und lokal ausgeführten Programmen, einzelne Fenster statt des ganzen entfernten Desktops zu übertragen. Die Remote-Programmfenster integrieren sich nahtlos in die lokale Arbeitsumgebung, ein unhandlich großes Fenster mit der Arbeitsfläche entfällt. Auch die Zwischenablage funktioniert zwischen lokalen und entfernten Programmen in beide Richtungen. Unter Ein-/Ausgabe in den Sitzungsvoreinstellungen des Clients lässt sich das Clipboard-Sharing einschränken. Läuft auf dem Client KDE, lässt sich allerdings die Größe der Fenster nicht durch Ziehen mit der Maus verändern – ein offensichtlich schon lange bestehendes Problem [5].

Wer es bevorzugt, gefühlt direkt vor dem entfernten Rechner zu sitzen, und keine lokalen Programme benutzen möchte, der stellt im Reiter Ein-/Ausgabe der X2go-Client-Konfiguration unter Display die Optionen Vollbild oder Ganzen Bildschirm und die Nummer eines angeschlossenen Bildschirms ein. [Strg]+[Alt]+[F] wechselt im laufenden Betrieb zwischen Vollbild und Fensterdarstellung.

Benötigen Sie im Einzelfenstermodus Zugriff auf die auf dem entfernten Desktop abgelegten Dateien, dann genügt es, den gewünschten Ordner des entfernten Rechners per X2go permanent auf dem lokalen Computer einzubinden (Abbildung 6). Die meisten Dateimanager öffnen ohnehin entfernte Objekte über das SFTP-Protokoll.

Abbildung 6: In den <span class="ui-element">Sitzungsvoreinstellungen</span> w&auml;hlen Sie die Ordner des Client-Rechners zur Freigabe. Auf dem Server laufende Programme finden diese unter <code>media/disk/</code> im Home-Verzeichnis.

Abbildung 6: In den Sitzungsvoreinstellungen wählen Sie die Ordner des Client-Rechners zur Freigabe. Auf dem Server laufende Programme finden diese unter media/disk/ im Home-Verzeichnis.

Alternativ zum Remote-Start einzelner Programme oder einer Desktop-Sitzung spiegelt X2go eine bereits laufende X-Window-Sessions auf einen entfernten Rechner. Das erfordert jedoch zusätzlich das Paket x2goserver-desktopsharing auf dem Server und x2godesktopsharing auf dem Client. Ähnlich wie bei VPN, beim Windows-Desktop-Sharing oder dem proprietären Teamviewer dürfen Sie festlegen, ob der entfernte Benutzer dabei den Desktop nur zu sehen bekommt oder auch mit Maus und Keyboard bedienen darf. X2go lässt sich also auch für externen Support nutzen.

Soll der entfernte Rechner nicht rund um die Uhr laufen, dann gehört ein Verfahren zum Starten aus der Ferne mit ins Home-Office-Paket. Die meistgenutzte Lösung dafür ist Wake on LAN (WoL), bei dem die Netzwerkkarte einen ausgeschalteten, nicht vom Stromnetz getrennten Rechner einschaltet. Die standardmäßig meist deaktivierte Funktion schalten Sie mit dem Kommando ethtool -s interface wol g ein. Sollte die Software auf Ihrem Rechner fehlen, finden Sie das gleichnamige Paket in den Repositories der verwendeten Distribution. Diesen Befehl müssen Sie nach jedem Neustart erneut ausführen, entweder per Systemd oder Udev-Regel. Die Arch-Linux-Wiki-Seite nennt Details [6].

Zügig

Schon das unter Linux noch immer überwiegend genutzte grafische X-Window-Grundsystem erweist sich als netzwerkfähig. Wegen der zahlreichen Roundtrips zwischen Client und Server gerät allerdings bei einer DSL-Verbindung jedes Aufklappen eines Menüs zur Geduldsprobe. Praktisch lässt sich die Netzwerktransparenz von X also nur innerhalb eines lokalen Netzwerks vernünftig nutzen.

X2go mindert die Latenz um ein Vielfaches und verringert die Menge der übertragenen Daten. Im Test verwendete der Autor mit der Bürosuite LibreOffice sowie Grafikprogrammen wie Gimp oder Inkscape die Einstellung ADSL im Reiter Verbindung von X2go. Dabei fielen pro Stunde weniger als 100 MByte an Daten an. Übertragungsgeschwindigkeiten über 250 kbit/s traten nicht auf (Abbildung 7), eine schnelle DSL-Verbindung erfordert die Arbeit mit X2go also nicht. Als Ursache ansatzweise spürbarer, das flüssige Arbeiten jedoch nicht störender Trägheiten identifizierte der Autor eher Netzlatenzen als einen Durchsatzengpass.

Abbildung 7: Bei <span class="ui-element">ADSL</span> als <span class="ui-element">Verbindungsgeschwindigkeit</span> fallen bei X2go-&Uuml;bertragungsraten an, die auch m&auml;&szlig;ig schnelle Internet-Anschl&uuml;sse nicht &uuml;berfordern.

Abbildung 7: Bei ADSL als Verbindungsgeschwindigkeit fallen bei X2go-Übertragungsraten an, die auch mäßig schnelle Internet-Anschlüsse nicht überfordern.

Bei der Darstellungsqualität fiel kein Unterschied zu lokal laufenden Programmen auf. Auch die Bedienung etwa beim Scrollen von Inhalten oder dem Ausklappen von Menüs erschien unauffällig, allenfalls kleine Blitzer an den hereingescrollten Bereichen störten die Darstellung marginal. Beim Öffnen mancher Dialoge erschien gelegentlich für einen Moment ein Fensterrahmen noch ohne Inhalt. Mit kleinen Einschränken wirkt die Bedienung der Programme also ähnlich flüssig wie beim lokalen Arbeiten.

Träger erwies sich die Bedienung bei einer Verbindung über mobiles LTE. Doch auch mit der Einstellung Modem für die Verbindungsgeschwindigkeit erscheint die Reaktion noch angemessen, vor allem bei GTK-Programmen. Qt-/KDE-Programme reagieren beim Ausklappen von Menüs allerdings träger. Der Unterschied zwischen einer 3G- und 4G-Mobilfunkverbindung fällt beim Aufbau des Fensters eines neu gestarteten Programms spürbar auf, bei der Reaktion auf Klicks hingegen kaum. Erst bei 2G-Verbindungen dauert es Sekunden, bis ein ganzes Fenster vollständig erscheint.

Bild, Ton und Druck

Wie der Name Nxproxy des Schatten-Display-Servers vermuten lässt, stammt X2go von der letzten quelloffenen Version der Desktop-Sharing-Software NX der Firma NoMachine [7] aus dem Jahr 2005 ab. Programme wie Blender, die OpenGL voraussetzen, funktionieren mit X2go nicht. Dafür arbeitet die Software mit dem heute allgegenwärtigen Sound-System Pulseaudio zusammen. Der offene SSH-Port genügt, um Bild und Ton zu übertragen, sofern Sie die standardmäßig gesetzte Option Benutze Port-Weiterleitung über Tunnel nicht deaktivieren.

Prinzipiell ist das Linux-Drucksystem CUPS zwar netzwerkfähig, doch es wäre kaum praktikabel, eigene Drucker im Firmennetzwerk freizugeben, damit dort laufende Programme auf die heimische Hardware zugreifen. Auch dafür bietet X2go eine Lösung. Am einfachsten lässt sie sich nutzen, wenn auf dem X2go-Server ebenfalls ein CUPS-Server läuft. Hier müssen Sie keinen Zugriff auf die physischen Drucker im Netz des entfernten Rechners (die Firmendrucker) einrichten.

Stattdessen genügt es, nach Installation der Pakete x2goserver-printing und cups-x2go dort einen CUPS-X2go-Printer hinzuzufügen. Im CUPS-Wizard für neue Drucker finden Sie ihn unter der Marke Generic. Drucken Sie mit einem per X2go übertragenen Programm auf diesen virtuellen Drucker, dann übermittelt die Software den Druckauftrag an den CUPS-Server des Clients. Einen Auswahldialog erlaubt die Auswahl eines lokalen Geräts (Abbildung 8).

Abbildung 8: Per X2go &uuml;bertragene Programme drucken bei Bedarf auch auf dem Drucker des Clients.

Abbildung 8: Per X2go übertragene Programme drucken bei Bedarf auch auf dem Drucker des Clients.

Fazit

X2go überträgt die Fenster grafischer Programme mit erträglicher Latenz und geringem Datenvolumen über DSL-Anschlüsse und – mit Einschränkungen – auch über mobile Internet-Zugänge. Voraussetzung ist ein gegebenenfalls durch die Firewall geleiteter SSH-Zugang. Weitere Ports braucht X2go weder zum Übertragen von Sound noch zum Drucken. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 06/2020 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben