VNC (Remote Desktop) naar je Raspberry Pi

Doel 

De Pi overnemen vanaf een andere computer (Linux, OsX, Windows)

Benodigdheden 
  • Een Raspberry Pi
  • Een andere computer
Tutorial 

Je hebt niet altijd een monitor tot je beschikking en je kunt ook niet altijd de TV claimen voor je Raspberry Pi ge-hobby. Je kunt dan op je RPi inloggen via SSH maar soms is het handig om bij de grafische interface (Graphical User Interface: GUI) te kunnen. Dit kan op meerdere manieren. Met de manier die ik hieronder beschrijf kun je de interface zoals hij naar de HDMI (en DSI) uitgang van de RPi gestuurd wordt op een andere computer te zien krijgen. Zoals we het hier doen is het niet veilig om via internet te gebruiken (in dat geval moet je een SSH tunnel gebruiken), binnen je eigen netwerk is dit echter prima. Het voordeel van deze methode is dat je het binnen een minuut draaiend hebt.

De Raspberry Pi HDMI output op je laptop scherm

Open eerst een terminal (als je op de RPi werkt) of log in via SSH. Update eerste de apt-get database zodat je de nieuwste versie krijgt:
sudo apt-get update
Vervolgens installeer je x11vnc op je RPi:
sudo apt-get install x11vnc
Als x11vnc is geïnstalleerd start je het met de "no password" optie:
x11vnc -nopw
Dit start de VNC server. Als je de terminal wilt vervolgens wilt sluiten of de SSH verbinding wilt verbreken moet je aan het laatste command een "&" toevoegen:
x11vnc -nopw &
de "&" laat de VNC server in de achtergrond draaien. Verder hoef je op de RPi niets te doen.

Op je laptop (Linux, OsX of Windows) installeer je VNC. Als je Windows of OsX gebruikt download je het programma hier:
https://www.realvnc.com/download/
Let op dat je de viewer download. Onder Linux, bijvoorbeeld Debian of Ubuntu kun je Vinagre (Gnome/Unity) of KRDC (KDE) installeren uit de repo's.

Start Real VNC viewer (of Vinagre/KRDC) na installatie op, op Windows zie je het volgende scherm, vul het IP adres van je RPi in (bij mij 192.168.1.23) en klik op "Connect":

VNC viewer

Je zult nu hetzelfde beeld te zien krijgen als op je tv of je monitor. Zelf vind ik dit heel handig in combinatie met het nieuwe touchscreen, ik werk op mijn laptop met goede muis en toestenbord maar ik zie gelijk het effect op het kleine scherm. Ik kan zelfs afwisselend dingen met de muis op mijn laptop en het touchscreen doen.

De VNC sessie automatisch opstarten

Als je wilt dat je RPi na een reboot zelf een VNC sessie start, moet je de volgende stappen uitvoeren (die ik direct heb gekopieerd van learn.adafruit.com):
Ga naar je persoonlijke config map:
cd ~/.config
maak hier de map "autostart":
mkdir autostart
en ga deze map in
cd autostart
maak de file nano vnc.desktop
nano vnc.desktop
kopieer en plak de volgende tekst in de file:
[Desktop Entry]
Type=Application
Name=x11vnc
Exec=x11vnc -nopw
StartupNotify=false

Sluit de nano editor:
ctrl-x, y, enter

Dat is het, als je nu reboot kun je je VNC sessie weer openen (zoals hierboven beschreven) zonder hem te hoeven starten op de pi.