Installation et configuration de TigerVNC sur un environnement de bureau Xfce
Prérequis
- Un système Debian avec un environnement de bureau Xfce
- Une connexion SSH
Installation
Installation des paquets
Mises à jour/installation des paquets de TigerVNC :
sudo apt update && sudo apt install tigervnc-standalone-server tigervnc-common dbus-x11 -yConfiguration
Définition d’un mot de passe VNC
Maintenant il faut définir un mot de passe de connexion pour TigerVNC avec la commande suivante :
vncpasswdNote
Le maximum est de 8 caractères, il est également possible de définir un mot de passe pour l’affichage en lecture seule.
Configuration du lancement Xfce dans TigerVNC
Création/édition du fichier xstartup :
mkdir -p ~/.vnc
nano ~/.vnc/xstartupContenu du fichier xstartup :
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4Puis il faut rendre le fichier exécutable :
chmod +x ~/.vnc/xstartupTest du serveur
Toujours dans le terminal, entrez la commande suivante :
vncserver :1 -localhost no -geometry 1920x1080 -depth 24Note
Commande pour vérifier l’état du service :
- L’argument
:1correspond au port5901(:1 = 5900+1, :2 = 5900+2, etc…) - L’argument
-localhost noautorise les connexions distantes. - L’argument
-geometrypermet de modifier la résolution de l’écran.
Dans le client VNC de votre choix, entrez l’adresse IP ainsi que l’identifiant (Nom de la machine par exemple).
Exemple avec RealVNC Viewer :
Accepter le message d’avertissement :
Attention
VNC n’est pas chiffré par défaut, pour un accès distant via internet vous pouvez utiliser un VPN ou mettre en place un bastion comme Apache Guacamole
Puis, entrez le mot de passe créé précédemment :
Résultat dans VNC Viewer :
La commande suivante est pour arrêter le server VNC :
vncserver -kill :1Création du service avec systemd
Création du fichier /etc/systemd/system/vncserver@.service
sudo nano /etc/systemd/system/vncserver@.serviceContenu du fichier vncserver@.service :
[Unit]
Description=Remote desktop service (VNC) - %i
After=syslog.target network.target
[Service]
Type=simple
User=NOM_D'UTILISATEUR
WorkingDirectory=/home/NOM_D'UTILISATEUR
PIDFile=/home/NOM_D'UTILISATEUR/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1920x1080 -depth 24 -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.targetNote
Pensez à remplacer NOM_D'UTILISATEUR par l’utilisateur de la session VNC
Activation/démarrage du service créé précédemment
sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@1.service