Aller au contenu

Serveur TigerVNC (Xfce)

09/09/2026

1 - Prérequis

2 - Installation

Installation des paquets

Mises à jour/installation des paquets de TigerVNC :

sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common dbus-x11 -y

Image title

3 - Configuration

Définition d'un mot de passe VNC

Maintenant il faut définir un mot de passe avec la commande suivante :

vncpasswd

Note

Le maximum est de 8 caractères, il est également possible de définir un mot de passe de lecture seule

Image title

Configuration du lancement XFCE dans VNC

Création/édition du fichier xstartup :

mkdir -p ~/.vnc
nano ~/.vnc/xstartup
Contenu du fichier xstartup :

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
Puis il faut rendre le fichier exécutable :

chmod +x ~/.vnc/xstartup

Test du serveur

Toujours dans le terminal, entrez la commande suivante :

vncserver :1 -localhost no -geometry 1920x1080 -depth 24

Note
  • :1 correspond au port 5901 (:1 = 5900+1, :2 = 5900+2, etc...)
  • l'argument -localhost no autorise les connexions distantes
  • Ajustez -geometry à la résolution voulue

Dans le client VNC de votre choix, entrez l'adresse IP ainsi que l'identifiant (Nom de la machine par exemple).

Image title

Accepter le message d'avertissement suivant :

Image title

Attention

VNC n'est pas chiffré par défaut, pour un accès distant via internet vous pouvez utiliser un VPN héberger en local ou mettre en place un bastion comme Apache Guacamole .

Puis, entrez le mot de passe créé précédemment :

Image title

Résultat dans VNC Viewer :

Image title

La commande suivante est pour arrêter le server VNC :

vncserver -kill :1

Création du service systemd

Création du fichier /etc/systemd/system/vncserver@.service

sudo nano /etc/systemd/system/vncserver@.service
Contenu 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/TON_USER/.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.target

Note

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