Performanter Remote Desktop für Ubuntu und Co.

Seit vielen Jahren nun nutze ich schon die tollen Möglichkeiten, die virtuelle Maschinen mir und meinen Mitarbeiter:innen im Arbeitsalltag bieten. So laufen die produktiven "Arbeitsdesktops" mit Ubuntu auf einem PROXMOX-Cluster, so dass ich als Administrator jederzeit Zugriff auf die Maschinen habe, um beispielsweise Updates einzuspielen. Gerade durch das Home Office ist das in meinen Augen die einzige Möglichkeit, dauerhaft Datenschutz und Sicherheit der Geräte zu gewährleisten.

Die Mitarbeiter verbinden sich dabei von Ihrem Arbeitsgerät (das kann auch Windows oder macOS sein) mittels Wireguard-VPN mit dem Rechenzentrum und dann über SPICE bzw. virt-viewer mit der ihnen zugedachten virtuellen Maschine. Ein Firewall-Regelwerk beschränkt dabei sämtliche Zugriffe ausschließlich auf diesen Fernzugriff.

Verbindungs-Diagramm

Das hat nun viele Jahre funktioniert, war aber leider nie sonderlich performant. Das liegt daran, dass SPICE als Protokoll nicht für Zwecke gedacht ist, bei denen die Daten auch über latenzbehaftete Leitungen gehen (siehe FAQ von SPICE). Und sobald man beginnt die Möglichkeiten von SPICE auszuschöpfen (wie beispielsweise zwei oder mehr virtuelle Bildschirme), steigt der Datenverkehr linear an und die Performance übers Internet leidet deutlich.

Bei meinem Praxistext wurden bei einer Auflösung von 1920x1080 (FullHD) in einem 30 Sekunden Testzeitraum und festgelegten Testszenario rund 18.369 KB übertragen. Da kann man sich vorstellen, wie schnell man da an Grenzen stößt.

Nun ist leider die Auswahl der Remote-Desktop-Alternativen nicht gerade üppig, wenn man – wie ich – ausschließlich auf Open Source-Software setzen möchte. Es bleiben VNC in verschiedensten Varianten und die freie Implementierung von RDP namens FreeRDP.

* * *

x11vnc

Also habe ich zuerst x11vnc ausprobiert, was mit Hilfe dieser Anleitung und tigervnc-client als Client recht zügig funktioniert hat. Aber irgendwie hat mir diese Lösung nicht wirklich zugesagt – es waren einfach zu viele Handgriffe nötig. Außerdem funktioniert x11vnc nur mit dem Display-Manager X11 und nicht mit Wayland. Da Ubuntu standardmäßig Wayland verwendet, wäre auch hier wieder eine Anpassung nötig gewesen, auf die ich verzichten wollte.

gnome-remote-desktop

Also habe ich meine Fühler weiter ausgestreckt und bin über eine großartige Möglichkeit gestoßen, die seit Ubuntu 22.04 standardmäßig mitinstalliert ist: gnome-remote-desktop

Dabei genügt es, ein aktuelles Ubuntu 22.04 LTS oder neuer installiert zu haben und oben rechts unter Einstellungen den Punkt Freigabe anzuklicken. Dort kann man dann die Bildschirmfreigabe aktivieren und hat im Handumdrehen einen lokalen RDP und auf Wunsch auch einen (veralteten) VNC-Server am Laufen.

Hinweis
Es funktioniert nicht nur mit Ubuntu, sondern kann auch Debian oder ein anderes Linux sein, solange GNOME als Benutzeroberfläche verwendet wird.

Auf Client-Seite braucht es dann nur noch ein Tool wie Remmina, was unter Ubuntu ebenfalls bereits mitinstalliert ist, um sich per RDP mit dem Gast zu verbinden.

Hinweis
Bitte beachte, dass bei jedem De- und erneuten Aktivieren von RDP die Zugangsdaten neu vergeben werden. Solange die Schalter aber aktiviert bleiben, bleibt auch das Kennwort gleich.

Für die Administration gibt es das Kommandozeilen-Tool grdctl, mit welchem man alle Einstellungen auch über das Terminal oder per SSH ausführen kann. Ggf. ist es erforderlich, dass man vor dem Ausführen die Display-Variable mit übergibt:

export DISPLAY=:0 ; grdctl status
* * *

Einziger Nachteil dieser Lösung ist, dass bei einer Auflösungsänderung des Gast-PCs die RDP-Verbindung getrennt wird und weder die automatische Anpassung der Gast-Auflösung an die Fenstergröße, noch mehrere Bildschirme und andere SPICE-Funktionen unterstützt werden. Aber die massiv gestiegene Performance macht diese Nachteile definitiv wieder wett.

Um den Praxistest nochmal aufzugreifen:
Mit RDP waren es – bei gleichem Testszenario wie oben mit gleicher Auflösung und Bildqualität – nur 6.957 KB an Datenverkehr. Insgesamt also eine Ersparnis von ca. 66% bei Nutzung von RDP gegenüber SPICE.

* * *

Ubuntu Hilfe: Ihre Arbeitsumgebung freigeben
Ubuntu 22.04 Finally Supports Remote Desktop Control via MS RDP Protocol
Reddit: Improve SPICE performance

* * *
Christian Süßenguth Christian Süßenguth @sweetgood

Hi, ich bin Christian und Inhaber der Firma SWEETGOOD. Mit dem andersGOOD Blog möchte ich auch dich für datensichere IT-Lösungen begeistern. So bringst du dein Unternehmen voran, ohne großen Konzernen deine wertvollen Daten zu liefern. Probiers mal anders!


Kommentarbereich

Die Kommentare sind für dich noch deaktiviert, da du dem Setzen von Cookies bisher nicht zugestimmt hast.
Klicke oben rechts auf "Ja, klar!" und lade die Seite neu, um die Kommentare anzuzeigen.

Seite neu laden

👾 Magst du Kekse?

Ich würde gerne Cookies setzen

Ist das OK für dich?