Raspberry Pi – VNC Konfiguration – v2

Nachdem nun die Jessie Version bei Raspian aktuell ist, war es einmal an der Zeit den alten Artikel durch einen neuen, aktuellen zu ersetzen.

Auf dem Pi

Das Paket TightVNC mit dem Packetmanager installieren (xfonts werden mit installiert):

sudo apt-get install tightvncserver

TightVNC konfigurieren

vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

New 'X' desktop is raspi-test2:1

Creating default startup script /home/pi/.vnc/xstartup
Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspi-test2:1.log

Passwort vergeben. Bei read only N eingeben.

Nun kann schon einmal per RealVNC vom Windows Rechner aus zugegriffen werden:

  • 192.168.65.xx:1 mit IP Adresse und dem gewähltem Passwort
  • raspi-test2:1 mit Rechner Name und dem gewähltem Passwort

Unter Windows am PC

Hier benutze ich RealVNC.

Eine Installation ist nicht nötig. Mit der folgenden Anleitung habe ich das Programm an mein Windows 10 Startmenü geheftet:

Copy / Paste zwischen Windows und Raspi

Von Haus kann man nicht Text zwischen dem Raspi und Windows hin und her kopieren. Dazu muss man autocutsel installieren:

sudo apt-get install autocutsel

Im Anschluss noch die Konfigurationsdatei des vnc servers (~/.vnc/xstartup) mit dem autocutsel Kommando erweitern:

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
autocutsel -fork
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

Danach den vncserver neu starten:

vncserver -kill :1 (pick your display number)
vncserver :1

Tuning. Display :0 disable

Wenn man den Raspi ausschliesslich per remote VNC Viewer bedienen möchte, kann man den Display Manager des Hauptdisplay :0 entfernen:

service lightdm stop

Tuning. Mauspointer

Statt des großen Kreuzes in der remote VNC, lässt sich auch ein normaler Mauszeiger konfigurieren. Dazu ergänzt man in der vnc Konfigurationsdatei ~/.vnc/xstartup

xsetroot -solid grey -cursor_name left_ptr

Tuning. Secure VNC mit putty Tunnel

Von Haus aus ist das VNC Protokol nicht sicher und überträgt alles im Klartext. Dies lässt sich dadurch vermeiden, indem man per putty einen SSH Tunnel zu Raspi aufbaut und erst darüber den VNC viewer startet. Dies ist in einer englischen Anleitung beschrieben.

Automatischer Start des VNCSERVER mit systemd

Seit Jessie wird zum automatischen Start der systemd eingesetzt. Um den vncserver automatisch beim Booten zu starten, müssen wir eine .service Datei für den systemd erstellen. Diese muss an folgender Stelle angelegt werden (unter dem Directory system kann man eigene service Dateien anlegen):

sudo nano /etc/systemd/system/vncserver.service

Ein passender Inhalt kann wie folgt aussehen:

# neue Datei /etc/systemd/system/vncserver.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=pi
PAMName=login
PIDFile=/home/pi/.vnc/%H:1.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -geometry 1300x800 -depth 16 :1
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

Das File noch präparieren. Owner root und executable:

sudo chown root:root /etc/systemd/system/vncserver.service
sudo chmod 755 /etc/systemd/system/vncserver.service

Enable den Start beim Booten:

sudo systemctl enable vncserver

Um den VNC Server manuell zu starten:

sudo systemctl daemon-reload && systemctl start vncserver

Um den Status des VNC Server abzufragen:

sudo systemctl status vncserver

Um den VNC Server zu stoppen:

sudo systemctl stop vncserver

Quellen