cloud_computing_network_data

| Publié :

| Temps de lecture :

4 minutes

| Auteur :

| Guide de VNC en 5 minutes

  1. Raspberry Pi : Configuration de VNC sur Raspbian Pt1
  2. Raspberry Pi : Configuration de VNC sur Raspbian Pt2

Le Raspberry Pi est un PC très abordable et très puissant pour sa taille. C’est ce qui le rend idéal pour de nombreux projets dans de multiples contextes. Cependant, il n’est pas toujours facile de trouver des informations précises dans leur intégralité. À Code Clinic, nous avons passé de nombreuses heures à essayer de mettre en place un serveur VNC fonctionnel pour nous permettre de faire fonctionner le Pi sans tête (c’est-à-dire sans clavier ni souris). Nous avons vu et essayé de nombreux tutoriels, et parcouru des forums apparemment sans fin pour essayer de faire fonctionner VNC, mais sans succès.

Maintenant que nous disposons d’une installation fiable, nous avons décidé de partager nos connaissances.

Choisir le bon serveur VNC

Il existe plusieurs projets de logiciels qui prennent en charge VNC. Mais le meilleur pour vos besoins dépend fortement de ce que vous avez besoin de faire via le VNC et, en fin de compte, avec votre Pi. Si vous avez besoin de travailler spécifiquement avec le même bureau que celui affiché sur un moniteur connecté au Pi, vous aurez probablement du mal à trouver des informations précises sur la façon de le faire. Heureusement, nous avons créé un guide pour vous.

Si vous avez simplement besoin d’une connexion au Pi pour effectuer des tâches générales et fonctionner sans tête, nous vous recommandons d’utiliser TightVNC car il s’agit d’un logiciel open source gratuit, qui fournit une compression lui permettant de fonctionner sur un réseau lent (Internet) et qui est facilement disponible dans les dépôts de logiciels. De plus, il semble être le plus fiable du lot. Pour installer TightVNC, continuez à lire.

Modèle client-serveur

VNC suit le modèle client-serveur traditionnel. Le logiciel serveur s’exécute sur le Pi auquel il faut accéder, et le logiciel client s’exécute sur la machine locale qui souhaite contrôler l’hôte. Le serveur et le client ne doivent pas nécessairement être identiques (par exemple, le client peut être RealVNC alors que le serveur est TightVNC), mais certaines fonctionnalités ne peuvent fonctionner que si le même client et le même serveur sont utilisés.

Installer le logiciel du serveur TightVNC

Actualisez d’abord les informations sur le dépôt de logiciels en utilisant :

sudo apt-get update && apt-get upgrade

Cette opération permet de mettre à jour les données du référentiel et de mettre à niveau les logiciels déjà installés. Ceci est particulièrement important si vous venez d’installer le système d’exploitation, car les informations sur le référentiel peuvent être incomplètes.

Ensuite, nous devons installer TightVNC à partir des dépôts :

sudo apt-get install tightvncserver

Démarrer le serveur VNC et configurer un mot de passe

La première fois que vous lancez le serveur, il vous demandera de définir un mot de passe. Il s’agit du mot de passe que vous utilisez pour vous connecter à distance.

/usr/bin/tightvncserver

Il n’est pas nécessaire de créer un mot de passe de consultation uniquement, sauf en cas de besoin spécifique. Lorsque le serveur démarre, il vous indique quel bureau virtuel a été configuré. En l’occurrence :

New 'X' desktop is raspberrypi:1

La mention “indique qu’il s’agit du bureau virtuel 1. Vous vous y connecterez en utilisant :1 à la fin de l’adresse IP dans le client, ou le numéro de port équivalent de 5901. Nous expliquerons cela plus en détail ultérieurement. Vous pouvez exécuter plusieurs instances. Chaque fois que vous démarrez tightvncserver, il utilisera le prochain bureau disponible, mais dans la plupart des cas, vous n’en aurez besoin que d’un seul.

Ajouter Tightvnc au démarrage

Dans la plupart des cas, vous voudrez probablement que le serveur VNC démarre automatiquement lorsque le Pi démarre. Alors que cela devrait être assez simple, cela peut s’avérer être la principale pierre d’achoppement pour la plupart des personnes qui essaient de mettre en place ce système. Il existe de nombreux tutoriels, chacun donnant une méthode légèrement différente. Mais dans chaque cas, les informations données sont soit erronées, soit ne conviennent pas à tout le monde.

Dans la plupart des cas, la première chose à vérifier est que vous utilisez la bonne fenêtre de terminal. Comme nous allons généralement nous connecter automatiquement à l’utilisateur par défaut ‘Pi’, il est important d’exécuter les commandes via le Terminal standard et non RootTerminal. Heureusement, les instructions suivantes fonctionnent quel que soit le terminal utilisé.

Pour que Tightvnc démarre automatiquement, nous devons créer un nouveau fichier init. Vous trouverez ci-dessous le code que nous allons ajouter :

#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO

# More details see:
# https://codeclinic.de/2014/01/raspberry-pi-tutorial-setting-vnc-default-desktop

### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required

eval cd ~$USER
case "$1" in
start)
su $USER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $USER "
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit

Pour télécharger ce code dans son intégralité, utilisez les commandes suivantes pour obtenir le code via le dépôt de Penguin Tutors :

wget http://www.penguintutor.com/otherfiles/tightvncserver-init.txt
sudo mv tightvncserver-init.txt /etc/init.d/tightvncserver

La ligne 16 est actuellement configurée avec le nom d’utilisateur par défaut, “pi”. Vous pouvez modifier ce paramètre si nécessaire, mais dans la plupart des cas, vous vous connecterez en tant qu’utilisateur par défaut. Ne mettez pas root comme utilisateur.

Modifier le fichier pour qu’il appartienne à root (ce n’est pas strictement nécessaire, mais c’est la propriété standard pour les fichiers d’initialisation). C’est la seule étape que nous avons trouvée absente de la plupart des tutoriels disponibles, et aucun d’entre eux n’a fonctionné pour nous. Il est donc fortement recommandé d’exécuter cette commande :

sudo chown root:root /etc/init.d/tightvncserver

Rendez le fichier exécutable en le lançant :

sudo chmod 755 /etc/init.d/tightvncserver

Ajoutez le script aux niveaux d’exécution par défaut avec la commande :

sudo update-rc.d tightvncserver defaults

TightVNC démarrera désormais au démarrage de votre bureau (LXDE). Je vous recommande de redémarrer à ce stade pour vous assurer que cela fonctionne, mais vous pouvez simplement arrêter et démarrer si vous ne voulez pas redémarrer. Vous pouvez le démarrer et l’arrêter manuellement :

sudo /etc/init.d/tightvncserver start

et

sudo /etc/init.d/tightvncserver stop

Notez que ceci est conçu pour exécuter une seule instance de TightVNC sur l’ordinateur. Si vous souhaitez pouvoir démarrer et arrêter des instances spécifiques de TightVNC, vous devrez modifier le script de démarrage en conséquence. Pour plus d’informations sur l’utilisation de VNC sur Raspbian Desktop, voir la partie 2.