Installation eines VNC-Servers auf Armbian mit x11vnc
February 28, 2025
Diese Anleitung beschreibt die Installation und Konfiguration von x11vnc auf einem Armbian-System. x11vnc ist ein VNC (Virtual Network Computing)-Server, der im Gegensatz zu anderen VNC-Servern wie TigerVNC oder TightVNC keine virtuelle Desktop-Sitzung startet, sondern eine bestehende physische X-Display-Sitzung spiegelt.
Dies ist ideal für Szenarien, in denen ein Gerät (z.B. ein Orange Pi) an einen Monitor angeschlossen ist und man aus der Ferne genau dieselbe Sitzung sehen und steuern möchte.
1. Installation
Aktualisieren Sie die Paketlisten und installieren Sie x11vnc:
sudo apt update
sudo apt install -y x11vnc
2. Passwort für den VNC-Zugang festlegen
Erstellen Sie ein Passwort, das für die Authentifizierung von VNC-Clients verwendet wird.
x11vnc -storepasswd
Dieser Befehl speichert das verschlüsselte Passwort in der Datei ~/.vnc/passwd.
3. Manueller Start des VNC-Servers
Für einen ersten Test können Sie den Server manuell starten.
x11vnc -auth guess -forever -shared -rfbauth ~/.vnc/passwd
-auth guess: Versucht, den korrekten X-Display-Authentifizierungs-Cookie zu finden.-forever: Hält den Server aktiv, auch nachdem sich der erste Client getrennt hat.-shared: Erlaubt mehreren Clients, sich gleichzeitig zu verbinden.-rfbauth ~/.vnc/passwd: Verwendet die zuvor erstellte Passwortdatei.
Der VNC-Server lauscht standardmäßig auf Port 5900. Sie können sich nun mit einem VNC-Client (z.B. Remmina, RealVNC Viewer) mit der IP-Adresse Ihres Armbian-Geräts verbinden (z.B. 192.168.1.100:5900).
4. Autostart mit systemd einrichten
Um x11vnc automatisch nach dem Systemstart zu starten, erstellen Sie eine systemd-Service-Datei.
sudo nano /etc/systemd/system/x11vnc.service
Fügen Sie folgenden Inhalt ein. Passen Sie den Pfad zur Passwortdatei an Ihren Benutzernamen an (ersetzen Sie snow).
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/snow/.vnc/passwd -rfbport 5900 -shared
Restart=on-failure
[Install]
WantedBy=multi-user.target
Zusätzliche empfohlene Flags für Stabilität: -loop, -noxdamage, -repeat.
Aktivieren Sie den neuen Service:
# systemd anweisen, die neue Konfiguration zu laden
sudo systemctl daemon-reload
# Service für den automatischen Start aktivieren
sudo systemctl enable x11vnc.service
# Service sofort starten
sudo systemctl start x11vnc.service
# Status überprüfen
sudo systemctl status x11vnc.service
5. Sicherheit: VNC über einen SSH-Tunnel absichern
Die VNC-Verbindung ist unverschlüsselt. Um die Kommunikation abzusichern, sollte sie durch einen SSH-Tunnel geleitet werden.
-
SSH-Tunnel vom Client-Rechner aufbauen:
code# Leitet den lokalen Port 5901 zum Port 5900 auf dem Armbian-Gerät weiter ssh -L 5901:localhost:5900 user@ihr-armbian-gerät -
Mit dem lokalen Port verbinden: Verwenden Sie nun in Ihrem VNC-Client
localhost:5901als Adresse. Der gesamte Datenverkehr wird sicher über SSH getunnelt.
Fazit
x11vnc ist eine effektive Lösung, um eine bestehende grafische Sitzung auf einem Armbian-Gerät fernzusteuern. Aufgrund der fehlenden Verschlüsselung ist die Verwendung eines SSH-Tunnels für den Zugriff über unsichere Netzwerke unerlässlich.