Raspberry Pi: VNC Server installieren

Wer seinen Raspberry Pi weder an einem eigenen Display, noch ausschließlich über eine Konsole bedienen möchte, für den ist der VNC Server das richtige. VNC überträgt das Bild der grafischen Oberfläche über das Netzwerk, oder bei Portfreigabe auch über das Internet. Alternativ lässt sich Remote Desktop installieren, wobei ich auf die Vor- und Nachteile der beiden Protokolle an dieser Stelle nicht eingehen möchte, da diese an anderer Stelle im Netzausführlich erläutert werden. Im Folgenden beschreibe ich wie man einen VNC-Server auf seinem Raspberry Pi zum Laufen bekommt.
Voraussetzung: Raspbian oder vergleichbare Distribution installiert

Step 1
Als VNC-Server für den Raspberry Pi empfiehlt sich das Tight VNC Package, welches man mittels des Paketmanagers APT installieren kann.

sudo apt-get install tightvncserver

Step 2

Nun installieren wir noch preload, ein kleines Tool, welches vorhersagt, welche Programme und Abhängigkeiten als nächstes geöffnet werden und diese bereits zuvor in den RAM lädt. Dies hat den Vorteil, dass die grafische Oberfläche wesentlich schneller läuft. Für den Betrieb des Raspberry Pis als reinen Server ist preload nicht zu empfehlen.

sudo apt-get install preload

Step 3

Darauffolgend passen wir eine Konfiguration von preload an, damit die Nutzung des RAMs effektiver gehandhabt wird.

sudo sed -i 's/sortstrategy = 3/sortstrategy = 0/g' /etc/preload.conf

Step 4

Jetzt starten wir den VNC-Server zum ersten mal. Dabei werden wir nach einem Passwort zum Einloggen gefragt. Daraufhin kann man festlegen, ob man ein View Only Passwort festlegen möchte, um Dritten ohne Herausgabe oder Änderung des eigenen Passwortes erlauben zu können, den Desktop des Raspberry Pis zu betrachten.

tightvncserver

Step 5

Nun stoppen wir den VNC-Server wieder, um weitere Einrichtungen vorzunehmen.

vncserver -kill :1

Step 6

Wir legen nun ein Startscript für den VNC-Server mit dem Namen vnc.sh an, in welches wir die unten stehenden Befehle eintragen. Dabei kann man 1280×720 durch die gewünschte Auflösung ersetzen. Ich empfehle jedoch ohne Overclocking/Übertakten nicht über 1280×720 hinaus zu gehen, da dies deutlich auf die Performance geht.

nano vnc.sh

 

#!/bin/sh
vncserver :1 -geometry 1280x720 -depth 24

Step 7
Jetzt geben wir der eben angelegten Datei Rechte ausgeführt zu werden.

chmod +x vnc.sh

Möchte man VNC automatisch mit dem Booten des Raspberry Pis starten lassen so müssen wir folgende Schritte beachten.

Step 8 (optional)
Wir erstellen ein Start-/Stop-Script im Verzeichnis /etc/init.d mit dem Namen vncboot und fügen das folgende Startscript in dieses ein. Wie in Step 6 kann die Auflösung wieder angepasst werden.

sudo nano /etc/init.d/vncboot

### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: networking
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts VNC
# Description:
### END INIT INFO

export USER='pi'

eval cd ~$USER

# Check state
case "$1" in
start)
su $USER -c '/usr/bin/vncserver :1 -geometry 1280x720 -depth 24'
echo "Starting vncserver for $USER"
;;
stop)
pkill Xtightvnc
echo "vncserver stopped"
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac

exit 0

 

Step 9 (optional)
Nun müssen wir der erstellten Datei wieder weitere Rechte einräumen.

sudo chmod 755 /etc/init.d/vncboot

Step 10 (optional)

Abschließend müssen wir das Script in den Autostart einbinden.

sudo update-rc.d vncboot defaults

Endgültig fertig! Beim Starten des Raspberry Pis wird nun automatisch der VNC-Server gestartet. Wenn ihr den Raspberry Pi in dieser Form betreiben möchtet, kann ich euch empfehlen diesen zu übertakten, da die grafische Oberfläche dann wesentlich flüssiger läuft. Wie dies geht erklärte ich in dem Artikel Overclocking/Übertakten ohne Garantieverlust. Verbinden kann man sich nun im VNC Client über den Port 5901. Als Client kann ich für Windows TightVNC Viewer, für Mac OS X RealVNC und für Linux das Paket tightvnc-java empfehlen.