Für die Fernsteuerung des Desktops unter Ubuntu steht als Bordmittel das Desktop Sharing und der Remote Client Remmina zur Verfügung. Aus Sicherheitsgründen sollte man dazu eine VPN-Verbindung verwenden, wie ich sie in meinem Beitrag -> SSL-VPN mit OpenVPN in Ubuntu beschrieben habe. Die Konfiguration des Desktop Sharing und von Remmina sind dabei selbsterklärend. Allerdings muss der User des ferngesteuerten Rechners dazu eingeloggt sein, da der VPN-Server standardmäßig erst beim Login startet. Das wiederum ist beim Homeworking der Regel nicht gewünscht.
Daher beschreibe ich im zweiten Teil die für das Homeworking geeignete Variante mit X2GO, einem sehr starken Opensource-Projekt.
Verwendetes OS: Ubuntu 18.04
VNC-Server installieren
Als VNC-Server eignet sich für diesem Zweck tightvpnserver, der normalerweise bereits standardmäßig installiert ist. Ist das nicht der Fall, kann er fogendermassen nachinstalliert werden:
:~$ sudo apt-get update :~$ sudo apt-get install tightvpnserver
Beim ersten Start im Terminal wird der VNC-Server konfiguriert.
:~$ vncserver You will require a password to access your desktops. Password: Verify: Password too long - only the first 8 characters will be used Found /usr/share/tightvnc-java for http connections. New 'X' desktop is testpc:1 Creating default startup script /home/thu/.vnc/xstartup Starting applications specified in /home/thu/.vnc/xstartup Log file is /home/user/.vnc/Mankei:1.log
Über den in Remote-Desktop-Client Remmina kann man nun eine VNC-Verbindung aufbauen, indem man bei bestehender VPN-Verbindung die lokale IP-Adresse des Client-Rechners angibt. Allerdings hat diese Art der Fernsteuerung einige Nachteile. Der Start des VNC-Servers erfolgt erst beim Login und ein Start während des Bootvorgangs als Service erweist sich ale relativ schwierig. Arbeitet man von unterwegs mit einem Laptop, so hat man Probleme mit der Auflösung, wenn am Büroarbeitsplatz ein großer Monitor steht.
Diese Art der Fernsteuerung eignet sich also eher für die technische Unterstützung von Kunden, Bekannten und Kollegen, da beide Seiten sehen, was auf dem PC passiert und die Kontrolle dem Besitzer des Hostrechners überlassen bleibt.
X2GO für unbeausichtigte Rechner und Homeworking
Für eine Arbeitsplatz zuhause möchte man sicher nicht, dass am Monitor im Büro alles mitverfolgt werden kann. Wie VNC bietet auch die Fernsteuerungssoftware X2GO den Zugriff auf eine grafische Oberfläche, baut jedoch eine eigene Sitzung auf, so dass am Clientmonitor keine Ausgabe erfolgt. X2GO funktioniert allerdings nicht mit Unity, sondern nur mit 2D-GUIs wie xfce oder lxde auf dem Hostrechner im Büro. Ubuntu 18.04 hat sowohl die server- als auch die client-seitigen Pakete im Standard-Repository.
Ich bevorzuge xfce und die Installation erfolgt auf dem Hostrechner mit:
:~$ sudo apt update :~$ sudo apt install xfce4
Ebenfalls Voraussetzung ist SSH auf dem Hostrechner, da X2GO über dieses Protokoll kommuniziert. Nach einem Reboot kann auch der X2GO-Server installiert und getestet werden.
:~$ sudo apt install ssh :~$ sudo apt-add-repository ppa:x2go/stable <-- Diese Zeile benötigt man z.B. für Ubuntu 14.04 bzw. wenn x2go nicht im Repository verfügbar ist :~$ sudo apt-get update :~$ sudo apt-get install x2goserver x2goserver-xsession :~$ systemctl status x2goserver
Auf dem Client-Rechner installiert man den x2goclient.
:~$ sudo apt-add-repository ppa:x2go/stable <-- Diese Zeile benötigt man z.B. für Ubuntu 14.04 bzw. wenn x2go nicht im Repository verfügbar ist :~$ sudo apt-get update :~$ sudo apt-get install ssh :~$ sudo apt-get install x2goclient
Für eine erste Konfiguration wird lediglich die interne IP-Adresse des x2go-Server-Hosts und der richtige Session Type (hier xfce) benötigt. Der im Feld Login angegebene Username ersetzt bei der Anmeldung den Usernamen der Clientsitzung.
Verwendet man SSH-Schlüssel, kann im Prinzip auf VPN verzichtet werden.
Wie man den VPN-Tunnel mit Desktop-Icons starten und stoppen kann, erkläre ich -> hier.