Achtung, es scheint bei Bookworm Unterschiede zwischen 32bit und 64bit zu geben, einmal mit X und einmal mit x.
Also evtl. anpassen.
Man kennt es, wenn überhaupt zeigt der VNC nur einen Bildschirm ohne Tasleiste, Menüleiste, oder wie auch immer man die Leiste nennt.
Da ich gerade einen Pi2 mit 32bit-Bookworm installiert habe und der mitgelieferte RealVNC-Server nicht starten will, hier eine Anleitung, wie man den Tigervncserver so installiert, dass man einen gemeinsamen Bildschirm hat, der auch die Leiste oben links mit Applikationsmenü, Browser-Button, PCManFM Dateimanager und rechts Lautstärke, Netzwerkverbindung, Uhr etc. anzeigt.
Die Fehlermeldungen, die beim originalen VNC-Server kommen sind übrigens:
Jan 07 01:53:01 host vncserver-x11-serviced[5167]: /usr/bin/vncserver-x11-core: error while loading shared libraries: libbcm_host.so: cannot open shared object file: No such file or directory
Jan 07 01:53:01 host vncserver-x11-serviced[645]: vncserver-x11-serviced: Server exited with status 127, restarting in 5s
Jan 07 01:53:06 host vncserver-x11-serviced[5168]: /usr/bin/vncserver-x11-core: error while loading shared libraries: libbcm_host.so: cannot open shared object file: No such file or directory
Jan 07 01:53:06 host vncserver-x11-serviced[645]: vncserver-x11-serviced: Server exited with status 127, restarting in 3600s
Ab hier alles als root:
Zunächst stoppen wir den originalen VNC-Server mit systemctl stop vncserver-x11.serviced.
Dann editieren wir die Datei mit nano /usr/lib/systemd/system/vncserver-x11-serviced und ändern sie wie folgt:
[Unit]
Description=Tiger VNC Server in Service Mode daemon
After=network.target
[Service]
User=pi
ExecStart=/usr/bin/x0tigervncserver -SecurityTypes=VncAuth,TLSVnc -PasswordFile=/home/pi/.vnc/passwd :0
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Display More
Sollte euer Benutzer nicht pi heissen, müsst ihr das User= und den Pfad zum Passwort entsprechend anpassen.
Die Datei mit Strg-x speichern (mit j und Enter) und verlassen. (bei englischen Systemen ist es y und Enter).
Jetzt installieren wir tigervnc mit apt install tigervnc-common tigervnc-scraping-server tigervnc-standalone-server tigervnc-tools.
Als Benutzer:
Mit tigervncpasswd erstellen wir als der Benutzer, dessen Bildschirm wir haben wollen (bei mir heisst der Benutzer pi) ein Passwort.
Passwort Eingeben, Enter, Passwort bestätigen, nochmal Enter. (Die Eingabe des Passworts wird dabei nicht angezeigt)
Nun sollte in /home/pi/.vnc/passwd das (verschlüsselte) Passwort stehen.
Wieder als root:
In die Datei /etc/tigervnc/vncserver-config-mandatory fügen wir noch die Zeile $localhost = "no" ein, damit wir vom Netzwerk aus zugreifen können.
Wenn alles geklappt hat benennen wir die originale .service noch in tigervncserver.service um, starten zur Sicherheit noch ein systemctl daemon-reload und enablen die tigervncserver.service:
mv /usr/lib/systemd/system/vncserver-x11-serviced.service /usr/lib/systemd/system/tigervncserver.service
systemctl daemon-reload
systemctl enable tigervncserver
systemctl start tigervncserver
systemctl status tigervncserver
Eigentlich dürften keine Fehlermeldungen kommen und nach einem Neustart sollte der VNC-Server automatisch starten.
Also auf dem Client noch apt install tigervnc-viewer installieren, den TigerVNC-Betrachter starten (Menü-> Internet-> TigerVNC-Betrachter) und die IP des Pi eingeben, Verbinden klicken, Passwort eingeben. Fertig.
Update:
Nach einem Software-Update kommt beim Verbindungsversuch der Fehler no valid VeNcrypt sub-type deshalb musste ich auf dem Server noch ein systemctl stop waynvc-control und systemctl stop wayvnc durchführen, bzw. dann mit systemctl disable waynvc-control und systemctl disable wayvnc komplett deaktivieren.
Der Fehler kam wohl mit einem Update von Bookworm. Auch das umschalten von Wayland auf x11 half nicht mehr.
Sollte es nicht klappen, kann man mit netstat -tulpen nachsehen, ob der VNC läuft, das sollte auf Port 5900 sein, sonst muss man beim Verbinden hinter der IP noch den Port angeben:
Z.B. 192.168.0.155:5901