Se connecter au Raspberry Pi avec VNC

Vous êtes fâché avec SSH ? Marre d’avoir à brancher clavier et écran à votre framboise préférée ? Alors accéder à votre Raspberry via le service VNC !

tightvnc logo

De la même manière que Teamviewer, on va pouvoir, via un périphérique local ou même distant, se connecter à l’interface écran de notre Raspberry Pi.

  • Pour cela, il nous faut installer un logiciel se nommant tightvnc, logiciel libre, et gratuit.

sudo apt-get install tightvncserver

  • Une fois le service installé, il nous reste à le lancer :

vncserver :1 -geometry 1280x800 -depth 16

Alors, un peu d’explication s’impose :

vncserver :1 permet de lancer le service sur le port 1, j’y reviendrai plus tard.

-geometry 1280x800 permet de définir la résolution de sortie par défaut lors de la connexion distante.

-depth 16 définit le ratio couleur. (16/24/32 bits)

Sachez qu’il existe d’autres paramètres, moins important, et qu’ils ne sont pas obligatoire. un « vncserver :1 » suffit à lancer le service.

  • On vous demande ensuite de saisir un mot de passe, qui ne doit pas dépasser les 8 caractères.Vous pouvez également saisir un mot de passe de lecture seul, qui est loin d’être utile dans le cas d’une administration de Raspberry.

Il ne vous reste plus qu’à, une fois l’adresse ip locale du raspberry relevée, de vous y connecter via un client VNC, comme VNC Viewer par exemple. Il vous suffit de saisir cette adresse suivie du port :1 et vous aurez un accès direct !

Pour le peu que vous possédiez une IP Locale, ou un domaine personnalisé après avoir utilisé Inadyn comme présenté dans cet article, il vous suffit d’ouvrir le port correspondant à votre service sur le routeur.

Il faut savoir que dans le cas de tightvnc, le port à ouvrir est « 590X » en TCP/UDP, le paramètre X correspondant au chiffre que vous avez utilisez plus tôt pour lancer votre service. De cette manière, vous n’êtes pas obligé d’ouvrir absolument tout les ports VNC de votre routeur, ce qui permet de limiter les intrusions.

Une fois les ports ouverts, vous pouvez par exemple vous connecter à votre Raspberry via le réseau 3G avec votre téléphone mobile, en utilisant l’adresse IP/nom de domaine, suivi du port sous la forme :1 ou :5901.

Voilà, enfin, nous allons voir comment faire en sorte que le service tightvnc se lance directement au démarrage du Raspberry Pi.

  • Pour cela, rendez-vous dans le répertoire suivant :

cd /home/pi/.config/autostart

  • Là, créez un fichier que vous nommerez « tightvnc.desktop » :

sudo nano tightvnc.desktop

  • Saisissez enfin les lignes suivantes à l’intérieur de ce script :

[Desktop Entry]

Type=Application

Name=tightVNC

Exec=vncserver :1 -geometry 1280×800 -depth 24

StartupNotify=false

  • Enregistrez ensuite le fichier avec un Ctrl+O, quittez avec Ctrl+X.

Vous n’avez plus qu’à redémarrer votre Raspberry Pi sans son écran et vous y connectez via votre ordinateur principal ou au bureau via votre smartphone pour voir si votre petite bêbête va bien !

[Chris] Pour ceux qui ont un Mac, un client VNC est « Chicken of the VNC« . En mobilité, RealVNC (bien que payant) est un excellent produit.

[Chris] Voici un script pouvant vous permettre de lancer VNC au démarrage de la machine (merci à sebidouille). Modifiez le nom de l’utilisateur qui doit être utilisé par VNC en fonction de vos besoins.

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

#!/bin/sh
# /etc/init.d/vncboot
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/tightvncserver :1  -geometry 1280x800 -depth 24'
echo "Starting TightVNC Server for $VNCUSER "
;;
stop)
pkill Xtightvnc
echo "TightVNC Server stopped"
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac
exit 0

Reste à activer le script :

sudo chmod +x /etc/init.d/vncboot
sudo update-rc.d vncboot defaults

Vous aimerez aussi...

  • Oups

    Bonjour, et merci pour ce blog qui est devenu une référence pour moi !

    J’ai un petit soucis avec le démarrage auto… Il ne fonctionne pas !

    Je suis sous Wheezy-Raspbian.

    Quand j’exécute manuellement la commande (vncserver :7 -geometry 1280×800 -depth 16) cela fonctionne, mais en ayant fait la manip pour le démarrage auto, et après un reboot, le server vnc ne semble pas s’être lancé !

    Je précice aussi que le dossier ‘autostart’ dans /home/pi/.config/ n’existait pas, je l’ai donc créé manuellement.

    J’ai également changé le port (7 au lieu de 1), je l’ai bien changé dans le fichier ‘tightvnc.desktop’

    Si vous avez une petite idée…

    Merci 😉

  • A reblogué ceci sur Hackberry Pi.

  • mterrain

    Pour que le script marche il faut mettre
    #!/bin/sh
    en première ligne.

  • McSoda

    Merci, c’est nickel, surtout le script pour démarrer automatiquement vnc au lancement du rpi. Il manque juste les deux commandes :
    sudo chmod +x /etc/init.d/vncboot
    sudo update-rc.d vncboot defaults
    à lancer une fois le fichier de script créé.

    McSoda

  • Droid

    Question de noob : comment créer le script et où le placer ? Dans le dossier autostart ?

    • J’ai choisi /etc/init.d/vncboot (voir les commandes après le contenu du script)
      Ca permet de le démarrer après chaque boot du raspberry pi

  • Pierre Ballinger

    Bonjour,
    Au lancement, j’ai :

    sh: 1: Syntax error: "(" unexpected
    sh: 1: Syntax error: "(" unexpected
    sh: 1: Syntax error: "(" unexpected
    sh: 1: Syntax error: "(" unexpected
    Couldn't start Xtightvnc; trying default font path.
    Please set correct fontPath in the vncserver script.
    sh: 1: Syntax error: "(" unexpected
    sh: 1: Syntax error: "(" unexpected
    Couldn't start Xtightvnc process.

    Une idée ? Merci à vous d’avance.

    Pierre.

    • Ca doit venir du script pour le service. Est-ce qu’il ne manque pas des lignes ? ou des caractères bizarres qui sont venus s’insérer ?

  • Merci pour l’article, très instructif.

  • Jiddu

    Pour ma part la première méthode de démarrage auto au lancement du rasp de marchait pas.

    Par contre par la suite j’ai mis en place la solution de sebidouille et cela marche carrément bien, merci !

    et très bon tuto aussi.

  • DRfr57

    Bonjour,

    J’ai testé cette méthode et elle ne fonctionne pas sous rasbian jessie.
    J’ai réussi avec ce tuto :
    https://www.raspberrypi.org/forums/viewtopic.php?t=123457
    Bon raspberry à tous
    DR

  • Zak Zik

    J’utilise http://www.radmin.com/. Ce logiciel à distance fonctionne très bien. J’aime la capacité à l’échelle des écrans, transmettre des fichiers à distance sans interrompre l’utilisateur, et il est la vitesse. Il intègre également la sécurité avec AD.

  • Zak Zik

    I use http://www.radmin.com/. This remote control software works very well. I like the ability to share screens, transfer files remotely without interrupting the user, and it’s speed. It also integrates security with AD. The only downside is it will not operate through firewalls like TeamViewer or LogMeIn. It requires a VPN connection.

  • Pingback: Bureau à distance avec VNC – pi4you.fr()