Deutsch

XFCE-Desktop und TigerVNC auf einem Linux VPS

2 min
VPS/VDS-Hosting

Manche Aufgaben gehen mit grafischer Oberfläche leichter von der Hand: einen Browser, ein GUI-Werkzeug oder eine Desktop-Anwendung auf einem entfernten Rechner starten. XFCE ist leicht genug für einen kleinen Server, und mit TigerVNC sehen Sie ihn auf Ihrem eigenen Computer. Diese Anleitung richtet ihn auf einem VPS Linux Infrawire so ein, dass der VNC-Port nie im Internet erreichbar ist: Sie gelangen nur über einen SSH-Tunnel hin.

📋 Voraussetzungen

  • Ein VPS mit Ubuntu 24.04 oder Debian 12 und SSH-Root-Zugang (in Ihrem Kundenbereich finden Sie die IP und das Root-Passwort des VPS).
  • Mindestens 2 GB RAM für einen komfortablen Desktop.
  • Ein SSH-Client auf Ihrem Computer und ein VNC-Viewer (RealVNC Viewer oder TigerVNC Viewer).
  • Ein normales Benutzerkonto: Starten Sie den Desktop nicht als root.

📦 XFCE und TigerVNC installieren

Aktualisieren Sie das System und installieren Sie dann Desktop und Server. dbus-x11 verhindert ein häufiges Problem mit grauem Bildschirm.

Bash
apt update && apt upgrade -y apt install -y xfce4 xfce4-goodies tigervnc-standalone-server tigervnc-common dbus-x11

Legen Sie einen eigenen Benutzer an, falls Sie noch keinen haben:

Bash
adduser USER usermod -aG sudo USER

🔑 VNC-Passwort und Sitzung festlegen

Wechseln Sie zu diesem Benutzer und setzen Sie das VNC-Passwort (höchstens 8 Zeichen sind signifikant):

Bash
su - USER vncpasswd

Beantworten Sie die Frage nach dem schreibgeschützten Passwort mit n. Danach weisen Sie TigerVNC an, XFCE zu starten:

Bash
mkdir -p ~/.vnc cat > ~/.vnc/xstartup <<'EOF' #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 EOF chmod +x ~/.vnc/xstartup

Testen Sie von Hand, mit Lauschen nur auf localhost:

Bash
vncserver :1 -localhost yes -geometry 1920x1080 -depth 24 vncserver -list vncserver -kill :1

⚙️ Automatischer Start mit systemd

Erstellen Sie wieder als root eine Unit, die die Sitzung für Ihren Benutzer ausführt. Display :1 entspricht dem TCP-Port 5901.

INI
1# /etc/systemd/system/vncserver@.service 2[Unit] 3Description=TigerVNC server on display %i 4After=network.target 5 6[Service] 7Type=forking 8User=USER 9Group=USER 10WorkingDirectory=/home/USER 11PIDFile=/home/USER/.vnc/%H:%i.pid 12ExecStartPre=-/usr/bin/vncserver -kill :%i 13ExecStart=/usr/bin/vncserver :%i -localhost yes -geometry 1920x1080 -depth 24 14ExecStop=/usr/bin/vncserver -kill :%i 15 16[Install] 17WantedBy=multi-user.target
Bash
systemctl daemon-reload systemctl enable --now vncserver@1.service systemctl status vncserver@1.service

Für einen zweiten Benutzer kopieren Sie die Unit unter anderem Namen mit diesem Benutzer und Display :2 (Port 5902).

🔒 Über einen SSH-Tunnel verbinden

Die Option -localhost yes lässt VNC nur auf 127.0.0.1 lauschen, von außen ist nichts erreichbar. Öffnen Sie auf Ihrem eigenen Computer einen Tunnel:

Bash
ssh -N -L 5901:localhost:5901 USER@VPS_IP

Lassen Sie dieses Fenster offen. Verbinden Sie Ihren VNC-Viewer mit localhost:5901 und geben Sie das VNC-Passwort ein. Derselbe Befehl funktioniert in der Windows-PowerShell und im macOS-Terminal. Öffnen Sie Port 5901 in keiner Firewall.

✅ Überprüfung

Prüfen Sie auf dem VPS, dass VNC nur auf der Loopback-Adresse lauscht:

Bash
ss -tlnp | grep 5901 systemctl is-active vncserver@1.service

Sie sollten 127.0.0.1:5901 sehen und nicht 0.0.0.0:5901. Auf Ihrem Computer sollte der Viewer bei bestehendem Tunnel den XFCE-Desktop anzeigen.

🛠️ Fehlerbehebung

Grauer Bildschirm oder kein Desktop. Prüfen Sie, ob ~/.vnc/xstartup ausführbar ist, ob dbus-x11 installiert ist, und lesen Sie das Log mit cat ~/.vnc/*.log. Eine fehlende Zeile exec startxfce4 ist die häufigste Ursache.

„A VNC server is already running as :1“. Eine veraltete Sperre ist übrig. Führen Sie vncserver -kill :1 aus, entfernen Sie bei Bedarf /tmp/.X1-lock und /tmp/.X11-unix/X1 und starten Sie den Dienst neu.

Der Tunnel verweigert die Verbindung. Wahrscheinlich ist der Dienst gestoppt: Prüfen Sie systemctl status vncserver@1.service. Achten Sie außerdem darauf, dass der lokale Port 5901 auf Ihrem Computer nicht schon belegt ist, oder wählen Sie einen anderen wie -L 5999:localhost:5901.


🎉 Ihr VPS bietet jetzt einen privaten XFCE-Desktop, erreichbar nur über Ihren SSH-Tunnel.

Bleiben Sie über die neuesten Angebote, Rabatte und Sonderaktionen informiert.

Aktionen ansehen

Wir verwenden Cookies

Wir verwenden Analyse-Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Es werden keine Daten an Dritte verkauft. Mehr erfahren Sie in unserer Datenschutzerklärung.