Raspberry Pi | Server | Michael Kofler | 5/2024 | 26. Juli 2024

Pi-Remote mit Real VNC

Das Standardsystem Raspberry-Pi-OS Bookworm verwendet auf den Pi-Modellen 4B, 400 und 5 das Grafiksystem Wayland. Aus diesem Grund funktionieren viele Programme zur Fernwartung und für Remotedesktop-Funktionen nicht mehr wie gewohnt.

Das Standardsystem Raspberry-Pi-OS Bookworm verwendet auf den Pi-Modellen 4B, 400 und 5 das Grafiksystem Wayland. Aus diesem Grund funktionieren viele Programme zur Fernwartung und für Remotedesktop-Funktionen nicht mehr wie gewohnt.

Von Wayland-Bremsen betroffen ist unter anderem das Tool Real VNC, das über viele Jahre als Standardlösung der Raspberry Pi Foundation diente. In diesem Artikel stellen wir Ihnen das neue Programm Wayvnc vor. Alternativ können Sie weiterhin Real VNC verwenden, sofern Sie das Grafiksystem von Wayland auf Xorg umstellen.

Hinweis: Die in diesem Artikel präsentierten Verfahren sind gewissermaßen „Plan B“. Den einfachsten Weg zum Screensharing bietet das neue Programm Raspberry Pi Connection für Raspberry Pi 5, das im voranstehendem Artikel genauer vorgestellt wird. Wayvnc und Real VNC sind in der Einrichtung und Nutzung etwas umständlicher – aber sie haben einen großen Vorteil: Sie funktionieren auch auf älteren Raspberry-Pi-Modellen und -Systemen.

Xorg versus Wayland

Das Linux-Grafiksystem befindet sich bekanntlich seit Jahren im Umbruch. Das Grafiksystem wurde über Jahrzehnte durch das X-Window-System und den Xorg-Server geprägt. Allerdings ist der Xorg-Server mit vielen Altlasten und Sicherheitsproblemen verbunden. Die Software wird schon seit Jahren nicht mehr weiterentwickelt und kaum noch aktiv gewartet. Seine Zeit läuft ab.

Der Nachfolger von Xorg heißt Wayland und ist eigentlich „nur“ ein neues Protokoll für die Kommunikation zwischen dem Wayland Compositor (einem Displayserver) und den Anwendungsprogrammen (Clients). Wayland bricht mit dem X-Window-System und verspricht ein System, das schlanker, sicherer und effizienter ist. Wayland gehört die Zukunft. Unter Raspberry-Pi-OS Bookworm kommt Wayland automatisch zum Einsatz, allerdings nur bei den neueren Pi-Modellen 4, 400 und 5. Zwar sind mittlerweile viele Programme Wayland-kompatibel, aber leider nicht alle. Besonders große Probleme gibt es bei Programmen, die den Bildschirminhalt auslesen wollen, also Tools für Screenshots, Screencasts, Screensharing und Remotedesk­top. Derartige Funktionen sind natürlich auch unter Wayland möglich, sie müssen aber vollständig neu implementiert werden.

Ob ein Raspberry Pi aktuell Wayland oder Xorg als Grafiksystem verwendet, stellen Sie am einfachsten mit einem Kommando im Terminal fest:

echo $XDG_SESSION_TYPE

Im Desktopbetrieb lauten die möglichen Antworten „wayland“ oder „x11“. In einer SSH-Session im Textmodus lautet das Ergebnis dagegen „tty“. Im Terminal können Sie mit dem üblichen Konfigurationstool

sudo raspi-config

zwischen den Grafiksystemen Xorg und Wayland umschalten (unter „Advanced Options –› Wayland“). Eine geänderte Einstellung wird erst mit einem Neustart wirksam. Optisch ändert sich dadurch wenig, der Pixel-Desktop von Raspberry-Pi-OS sieht fast gleich aus und funktioniert auch so.

Remotedesktop mit Wayvnc

Wenn Sie Wayland als Grafiksystem verwenden möchten, können Sie zum Screen­sharing das neue Programm Wayvnc einsetzen. Sie aktivieren es am einfachsten mit dem Programm „Raspberry Pi-Konfiguration“ im Register „Schnittstellen –› VNC“. Damit entsteht automatisch folgende Konfigurationsdatei für den Desktopstart:

#/etc/xdg/autostart/wayvnc.desktop
[Desktop Entry]
Type=Application
Name=wayvnc
Comment=Start wayvnc
NoDisplay=true
Exec=/usr/bin/wayvnc --render-cursor --keyboard=de
OnlyShowIn=wayfire

Jetzt brauchen Sie auf dem Clientsystem (auf dem Rechner, wo Sie den Raspberry Pi fernsteuern möchten) einen zu Wayvnc kompatiblen VNC-Client. Empfohlen wird das Tool vncviewer des Projekts Tiger VNC (siehe https://tigervnc.org). Die meisten Linux-Distributionen stellen ein entsprechendes Paket zur Verfügung. Für Windows und Mac-OS (Intel) finden Sie die passenden Downloads hier: https://github.com/TigerVNC/tigervnc/releases.

Hinweis: Verbindungsversuche mit dem Windows-Standard Remotedesktopverbindung (mstsc.exe) scheitern. Greifen Sie von vornherein zum vncviewer von Tiger VNC.

Sofern der Raspberry Pi mit einem eigenen Monitor verbunden ist, gilt für den Remotedesktop dieselbe Bildschirmauflösung. Wenn der Raspberry Pi dagegen „headless“ läuft, können Sie die gewünschte Auflösung nach sudo raspi-config unter „Display Options –› VNC Resolution“ einstellen (maximal 1920 × 1080). Die Änderung wird dann mit dem nächsten Reboot des Raspberry Pi wirksam.

Raspberry-Fernbedienung trotz Wayland: Aktivieren Sie den Wayvnc-Server über die Option „VNC“ in der Raspberry-Pi-Konfiguration.

Remotedesktop mit Real VNC

Das proprietäre Programm Real VNC hat unter alten Raspberry-Pi-OS-Versionen ausgezeichnet funktioniert, setzt allerdings Xorg als Grafiksystem voraus. Real VNC versprach eine Wayland-kompatible Version für das erste Halbjahr 2024, davon war aber bis Mitte Juni nichts zu sehen. Wenn Sie Real VNC einsetzen wollen, müssen Sie zuerst mit sudo raspi-config das Grafiksystem von Wayland auf Xorg umstellen. Die Einstellung wird in der Datei „/etc/lightdm/lightdm.conf“ gespeichert: Statt

user-session=LXDE-pi-wayfire

erscheint dann dieser Wert:

user-session=LXDE-pi-x

Der Real-VNC-Server ist weiterhin standardmäßig installiert. Die Aktivierung kann aber nicht über das Raspberry-Pi-Konfigurationsprogramm erfolgen. Dessen VNC-Option gilt nämlich nur für Wayvnc und muss unbedingt deaktiviert sein – sonst kommt es zu einem Portkonflikt. Den Real-VNC-Dienst aktivieren Sie anschließend wie folgt:

sudo systemctl enable --now vncserver-x11-serviced

Das VNC-Icon in der Leiste zeigt an, dass der Serverstart funktioniert hat und ob aktuell eine Verbindung aktiv ist. Für den Verbindungsaufbau auf einem Clientsystem müssen Sie dort den Real-VNC-Client herunterladen (https://www.realvnc.com/en/connect/download/viewer). Das Tool wird für Windows, Linux und Mac-OS angeboten und ist für private Nutzung kostenlos.

Remotedesktop mit Real VNC: Dies setzt klassisches X11/Xorg voraus, das Sie an dieser Stelle mit raspi-config einstellen können.

Wayvnc und Real VNC: Nur im lokalen Netz?

Wayvnc und Real VNC funktionieren nur innerhalb des lokalen Netzwerk. Sofern Sie IPv4 verwenden, müssen also beide Rechner zu Hause laufen oder beide in der Firma, in der Sie arbeiten. Es gibt zwei Möglichkeiten, diese Grenze zu überwinden:

1. Wenn beide Rechner über öffentliche IPv6-Adressen verfügen, ist eine direkte Punkt-zu-Punkt-Verbindung möglich. Sowohl Real VNC als auch Wayvnc sollten so funktionieren (außer eine Firewall funkt dazwischen). Allerdings ist eine IPv6-Konfiguration mit öffentlichen Adressen eher die Ausnahme.

2. Die zweite Variante führt über einen Relayserver, der von beiden Geräten aus erreichbar ist. Sowohl das kommerzielle Programm Teamviewer als auch das in diesem Heft vorgestellte Programm Raspberry Pi Connect verwenden solche Relays. Prinzipbedingt sind Relayserver allerdings relativ langsam.

Real-VNC-Zugriff auf den Pixel-Desktop des Raspberry Pi: Nach Umstellung auf X11 funktioniert der Clientzugriff problemlos.