Bureau XFCE et TigerVNC sur un VPS Linux

2 min
Hébergement VPS/VDS

Certaines tâches sont plus simples avec un bureau graphique : lancer un navigateur, un outil à interface ou une application de bureau sur une machine distante. XFCE est assez léger pour un petit serveur, et TigerVNC vous permet de le voir depuis votre ordinateur. Ce guide le met en place sur un VPS Linux Infrawire sans jamais exposer le port VNC à Internet : on n'y accède que par un tunnel SSH.

📋 Prérequis

  • Un VPS sous Ubuntu 24.04 ou Debian 12 avec accès SSH root (depuis votre espace client vous retrouvez l'IP et le mot de passe root du VPS).
  • Au moins 2 Go de RAM pour un bureau confortable.
  • Un client SSH sur votre ordinateur et un client VNC (RealVNC Viewer ou TigerVNC Viewer).
  • Un compte utilisateur ordinaire : ne lancez pas le bureau en root.

📦 Installer XFCE et TigerVNC

Mettez le système à jour, puis installez le bureau et le serveur. dbus-x11 évite un problème fréquent d'écran gris.

Bash
apt update && apt upgrade -y apt install -y xfce4 xfce4-goodies tigervnc-standalone-server tigervnc-common dbus-x11

Créez un utilisateur dédié si vous n'en avez pas encore :

Bash
adduser USER usermod -aG sudo USER

🔑 Définir le mot de passe VNC et la session

Passez sur cet utilisateur et définissez le mot de passe VNC (8 caractères significatifs au maximum) :

Bash
su - USER vncpasswd

Répondez n à la question sur le mot de passe en lecture seule. Indiquez ensuite à TigerVNC de lancer XFCE :

Bash
mkdir -p ~/.vnc cat > ~/.vnc/xstartup <<'EOF' #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 EOF chmod +x ~/.vnc/xstartup

Testez à la main, en écoutant uniquement sur localhost :

Bash
vncserver :1 -localhost yes -geometry 1920x1080 -depth 24 vncserver -list vncserver -kill :1

⚙️ Démarrage automatique avec systemd

Redevenu root, créez une unité qui lance la session pour votre utilisateur. L'affichage :1 correspond au port TCP 5901.

INI
1# /etc/systemd/system/vncserver@.service 2[Unit] 3Description=TigerVNC server on display %i 4After=network.target 5 6[Service] 7Type=forking 8User=USER 9Group=USER 10WorkingDirectory=/home/USER 11PIDFile=/home/USER/.vnc/%H:%i.pid 12ExecStartPre=-/usr/bin/vncserver -kill :%i 13ExecStart=/usr/bin/vncserver :%i -localhost yes -geometry 1920x1080 -depth 24 14ExecStop=/usr/bin/vncserver -kill :%i 15 16[Install] 17WantedBy=multi-user.target
Bash
systemctl daemon-reload systemctl enable --now vncserver@1.service systemctl status vncserver@1.service

Pour un second utilisateur, copiez l'unité sous un autre nom avec cet utilisateur et l'affichage :2 (port 5902).

🔒 Se connecter par un tunnel SSH

L'option -localhost yes fait écouter VNC uniquement sur 127.0.0.1 : rien n'est joignable de l'extérieur. Depuis votre ordinateur, ouvrez un tunnel :

Bash
ssh -N -L 5901:localhost:5901 USER@VPS_IP

Laissez cette fenêtre ouverte. Dans votre client VNC, connectez-vous à localhost:5901 et saisissez le mot de passe VNC. La même commande fonctionne dans PowerShell sous Windows et dans le Terminal de macOS. N'ouvrez le port 5901 dans aucun pare-feu.

✅ Vérification

Sur le VPS, vérifiez que VNC écoute uniquement sur l'adresse de bouclage :

Bash
ss -tlnp | grep 5901 systemctl is-active vncserver@1.service

Vous devez voir 127.0.0.1:5901 et non 0.0.0.0:5901. Depuis votre ordinateur, le client doit afficher le bureau XFCE une fois le tunnel établi.

🛠️ Dépannage

Écran gris ou pas de bureau. Vérifiez que ~/.vnc/xstartup est exécutable, que dbus-x11 est installé et lisez le journal avec cat ~/.vnc/*.log. L'absence de la ligne exec startxfce4 est la cause la plus courante.

« A VNC server is already running as :1 ». Un verrou périmé subsiste. Lancez vncserver -kill :1, puis supprimez /tmp/.X1-lock et /tmp/.X11-unix/X1 s'ils persistent, et redémarrez le service.

Le tunnel refuse la connexion. Le service est probablement arrêté : vérifiez systemctl status vncserver@1.service. Assurez-vous aussi que le port local 5901 n'est pas déjà utilisé sur votre ordinateur, ou choisissez-en un autre comme -L 5999:localhost:5901.


🎉 Votre VPS propose maintenant un bureau XFCE privé, accessible uniquement par votre tunnel SSH.

Restez à jour avec les dernières offres, réductions et promotions spéciales.

Voir les promotions

Nous utilisons des cookies

Nous utilisons des cookies analytiques pour améliorer votre expérience sur notre site. Aucune donnée n'est revendue à des tiers. En savoir plus dans notre politique de confidentialité.