Der bekanntest VNC-Server ist tightvnc, genügte aber nicht so wirklich meinen Ansprüchen, da bei jeder VNC-Verbindung ein neuer Desktop erstellt wurde. Dafür kann ich auch eine neue XSession öffnen.

Um mal schnell vom Laptop aus ein Fenster zu schließen ist x11vnc die bessere Wahl.

sudo apt-get install x11vnc

Soweit so gut.

Bin ich direkt am Raspberry Pi zu Gange und habe dort ein Terminal-Fenster offen, sollte der Befehl
x11vnc
ausreichen, um den VNC-Server erfolgreich zu starten.

Starte ich den VNC-Server von einem anderen Computer aus via ssh, müsste ich mindestens noch die Display-Nummer mitgeben

x11vnc -display :0
– trotzdem wird sich der x11vnc-Server wahrscheinlich sofort wieder beenden.
x11vnc benötigt noch die Befugnis, sich auf den aktuell laufenden Desktop aufzuschalten.

Den Namen zum notwendigen "Magic Cookie" fand' ich durch folgenden Befehl:

ps wwwwaux | grep auth

Ausgabe:

root      4334  0.9  9.3  54376 17484 tty7     Ss+  22:15   0:03 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

Interessant wird es ab

-auth
. Dies geben wir x11vnc mit und starten es vor allem mit root-Rechten:

sudo x11vnc -display :0 -auth /var/run/lightdm/root/:0

Nun sollte man sich von einem anderen Computer aus mit einem VNC-Client auf den laufenden Desktop aufschalten können.

Leider beendet sich der x11vnc-Server immer, sobald man am entfernten Rechner das VNC-Client-Fenster schließt. Durch die Option -forever kann man x11vnc dazu bringen, auch nach Beenden einer Verbindung weiterhin aktiv zu bleiben. Durch -q reduziert man außerdem noch etwas den Text im Terminal-Fenster, der durch das Starten des x11vnc-Servers anfällt.

So lautet mein schlussendlicher Startbefehl:

sudo x11vnc -display :0 -auth /var/run/lightdm/root/:0 -q -forever