L’ins­tal­la­tion d’un VNC server Ubuntu 22.04 vous donne la pos­si­bi­lité d’accéder à votre bureau Linux d’où que vous soyez. Que ce soit pour tra­vail­ler à domicile, en dé­pla­ce­ment ou sim­ple­ment depuis une autre pièce, un VNC server vous donne accès à votre espace de travail à tout moment.

Quels sont les avantages d’un VNC server Ubuntu 22.04 ?

Un VNC server Ubuntu 22.04 offre de nom­breuses pos­si­bi­li­tés qui sim­pli­fient gran­de­ment le travail quotidien. Un VNC server vous permet d’accéder à votre bureau Ubuntu de n’importe où dans le monde. Cela signifie que vous n’avez pas besoin d’être à votre poste de travail pour gérer vos ap­pli­ca­tions et vos données. Cette flexi­bi­lité est ex­trê­me­ment pratique pour les té­lé­tra­vail­leurs, les pro­fes­sion­nels en dé­pla­ce­ment ou tous ceux qui sou­hai­tent tra­vail­ler à partir de dif­fé­rents endroits. La con­fi­gu­ra­tion du VNC server est par­ti­cu­liè­re­ment simple, de sorte que même les uti­li­sa­teurs moins férus d’in­for­ma­tique peuvent ra­pi­de­ment établir une connexion à distance qui fonc­tionne.

Un VNC server facilite aussi l’in­te­rac­tion au sein des équipes. Il permet à plusieurs membres d’accéder si­mul­ta­né­ment au même bureau. Cela permet aux équipes de col­la­bo­rer ef­fi­ca­ce­ment, de tra­vail­ler ensemble sur des projets et de résoudre des problèmes en temps réel, où qu’elles se trouvent. Les ad­mi­nis­tra­teurs systèmes et réseaux ainsi que les services de support in­for­ma­tique peuvent également résoudre les erreurs à distance sans devoir se rendre sur place. Cela permet d’éco­no­mi­ser du temps, des frais de dé­pla­ce­ment et des rendez-vous. En matière de sécurité, de nombreux VNC server Ubuntu 22.04 disposent d’options robustes. Les con­nexions chiffrées et les dif­fé­rentes méthodes d’au­then­ti­fi­ca­tion protègent les données et in­ter­di­sent l’accès au système aux personnes non au­to­ri­sées.

Les prérequis pour un VNC server Ubuntu 22.04

Dans un premier temps, Ubuntu 22.04 doit être installé et fonc­tion­ner par­fai­te­ment. De nombreux VNC server sont en­tiè­re­ment com­pa­tibles avec ce système d’ex­ploi­ta­tion et tous les paquets et dé­pen­dances né­ces­saires sont dis­po­nibles dans les dépôts officiels Ubuntu. Veillez à ce que votre système soit à jour afin d’éviter toute com­pli­ca­tion lors de l’ins­tal­la­tion. Il convient de répondre aux exigences suivantes :

  • Ubuntu 22.04 : une ins­tal­la­tion récente et par­fai­te­ment fonc­tion­nelle d’Ubuntu 22.04
  • Connexion au réseau : une connexion Ethernet ou WIFI stable pour un accès à distance
  • Au­to­ri­sa­tion root : le super-uti­li­sa­teur d’un VNC server a besoin des droits root pour l’ins­tal­la­tion et la con­fi­gu­ra­tion.
  • Logiciels : une ins­tal­la­tion des logiciels VNC server comme TigerVNC, RealVNC ou x11vnc à partir des dépôts Ubuntu.
  • En­vi­ron­ne­ment de bureau : un en­vi­ron­ne­ment de bureau (par exemple GNOME, XFCE) doit être installé.
  • Con­fi­gu­ra­tion du pare-feu : ouverture du port 5900 ou ajus­te­ment des règles du pare-feu pour autoriser le trafic VNC

Ins­truc­tions étape par étape : ins­tal­la­tion d’un VNC server Ubuntu 22.04

Lorsque vous choi­sis­sez votre VNC server et votre en­vi­ron­ne­ment de bureau, de nom­breuses options s’offrent à vous. Dans ce tutoriel, nous ins­tal­le­rons les derniers paquets pour l’en­vi­ron­ne­ment de bureau XFCE et le paquet TigerVNC, dis­po­nible dans le dépôt Ubuntu. XFCE et TigerVNC re­quiè­rent tous deux peu de res­sources et offrent de bonnes per­for­mances. Cela permet à la connexion VNC de rester fluide et stable, même si la connexion Internet est lente.

Étape 1 : mettre à jour les paquets

Avant de commencer l’ins­tal­la­tion, assurez-vous que votre système est à jour. Exécutez les commandes suivantes pour installer toutes les mises à jour dis­po­nibles :

sudo apt update
sudo apt upgrade
bash

Étape 2 : installer l’en­vi­ron­ne­ment de bureau

Le VNC server a besoin d’un en­vi­ron­ne­ment de bureau, car il met le bureau à dis­po­si­tion via le réseau. Ubuntu 22.04 est livré par défaut avec GNOME, mais vous pouvez installer d’autres en­vi­ron­ne­ments de bureau comme XFCE qui est très peu gourmand en res­sources.

sudo apt install xfce4 xfce4-goodies
bash

Le paquet xfce4-goodies contient des outils et des plug-ins sup­plé­men­taires utiles pour XFCE.

Étape 3 : créer un nouvel uti­li­sa­teur

Après avoir installé l’en­vi­ron­ne­ment de bureau, il faut créer un nouvel uti­li­sa­teur pour faire fonc­tion­ner le VNC server. Il est conseillé de ne pas le faire en tant que super-uti­li­sa­teur afin de garantir la sécurité. Nous allons donc créer un nouvel uti­li­sa­teur nommé « john » et lui donner les au­to­ri­sa­tions né­ces­saires pour que le VNC server fonc­tionne sous ce compte d’uti­li­sa­teur.

Dans un premier temps, vous devez créer l’uti­li­sa­teur « john » et lui attribuer un mot de passe. Pour ce faire, utilisez les commandes suivantes :

sudo useradd -m -s /bin/bash john
sudo passwd john
bash

La commande sudo useradd -m -s /bin/bash john crée l’uti­li­sa­teur « john » et installe un ré­per­toire personnel, le shell étant défini par défaut sur /bin/bash. Utilisez ensuite sudo passwd john pour définir un mot de passe pour cet uti­li­sa­teur. Il est impératif de choisir un mot de passe sûr.

Après avoir créé l’uti­li­sa­teur, ajoutez-le au groupe sudo pour qu’il puisse exécuter des commandes ad­mi­nis­tra­tives. Pour ce faire, utilisez la commande suivante :

sudo usermod -aG sudo john
bash

Cette commande permet à « john » d’exécuter des commandes avec des droits étendus en utilisant sudo.

Pour vérifier que « john » dispose des bonnes au­to­ri­sa­tions, connectez-vous en tant que « john » et testez les droits root. Pour ce faire, exécutez ces commandes :

su - john
sudo su
bash

La commande su - john permet de passer à l’uti­li­sa­teur « john » et la commande sudo su permet d’obtenir les droits root, à condition que le mot de passe ait été cor­rec­te­ment saisi. Si l’au­then­ti­fi­ca­tion est réussie, une invite de commande telle que root@hostname s’affiche, attestant que vous disposez des droits d’ad­mi­nis­tra­teur.

Étape 4 : installer le logiciel VNC server

Ici, nous utilisons TigerVNC, car c’est une option de VNC serveur très répandue et bien supportée. Installez TigerVNC avec cette commande :

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
bash

Cette commande installe le logiciel VNC server ainsi que certains paquets né­ces­saires à son fonc­tion­ne­ment.

Étape 5 : créer l’instance du VNC server

Avant de pouvoir démarrer le serveur VNC, dé­fi­nis­sez d’abord un mot de passe qui permettra d’accéder au serveur VNC. Tapez la commande suivante dans le terminal :

vncserver
bash

Vous serez invité à indiquer un mot de passe et à le confirmer. Ce mot de passe protège l’accès à votre VNC server. Vous pouvez également choisir une option pour définir un mot de passe View-only si vous souhaitez que d’autres uti­li­sa­teurs voient l’écran mais n’aient pas le contrôle.

Au premier démarrage du serveur, un nouvel affichage est créé, ty­pi­que­ment :1. Cette sortie indique le numéro exact de l’affichage que vous pouvez utiliser.

Voici un exemple :

New 'X' desktop is your-machine-name:1
bash

Notez le numéro d’affichage (dans ce cas :1). Vous en aurez besoin pour vous connecter au VNC client.

Étape 6 : con­fi­gu­rer l’instance du VNC server

Créez un fichier de con­fi­gu­ra­tion pour le VNC server pour être sûr que XFCE soit chargé au démarrage du VNC server. Le fichier ~/.vnc/xstartup peut, par exemple, avoir le contenu suivant :

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
bash

Le fichier devient exé­cu­table lorsque vous utilisez la commande suivante :

chmod +x ~/.vnc/xstartup
bash

Étape 7 : exécuter le VNC server en tant que service système

En con­fi­gu­rant le VNC server comme service Systemd, vous pouvez le démarrer, l’arrêter et le re­dé­mar­rer comme n’importe quel autre service. Par ailleurs, vous pouvez utiliser les commandes Systemd pour que le VNC server se lance au­to­ma­ti­que­ment au démarrage du système.

Créez d’abord un nouveau fichier avec l’éditeur de texte de votre choix :

nano /etc/systemd/system/vncserver@.service
bash

Ajoutez le contenu suivant au fichier :

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your-username>
PAMName=login
PIDFile=/home/<your-username>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
bash

Remplacez <your-username> par votre vrai nom d’uti­li­sa­teur. Chargez le nouveau fichier de service et activez le service :

sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@:1
bash

La commande sudo systemctl enable vncserver@1.service active le service VNC server pour l’affichage :1 afin qu’il démarre au­to­ma­ti­que­ment au démarrage du système. Pour ce faire, on fait appel au fichier de service Systemd vncserver@.service, dans lequel %i est remplacé par 1. Cela permet de con­fi­gu­rer le VNC server pour l’affichage :1 et de s’assurer qu’il est lancé à chaque démarrage du système. La commande crée les rac­cour­cis né­ces­saires pour inclure le service dans le bon processus de démarrage.

Étape 8 : con­fi­gu­rer le pare-feu

Si vous avez activé un pare-feu sur votre VNC server Ubuntu, il faut dé­ver­rouil­ler le port VNC afin d’autoriser les con­nexions à distance. Le VNC server utilise par défaut le port 5900, suivi du numéro d’affichage. Pour l’affichage :1, le port est donc 5901.

Autoriser le port avec la commande ufw :

sudo ufw allow 5901/tcp
bash

Vérifiez les pa­ra­mètres du pare-feu et assurez-vous que le port est ouvert :

sudo ufw status
bash

Voici un exemple de réponse possible :

Status: active
To                              Action        From
--                                ------            ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                   ALLOW       Anywhere
5901/tcp                 ALLOW       Anywhere
22/tcp (v6)              ALLOW       Anywhere (v6)
80/tcp (v6)              ALLOW       Anywhere (v6)
443/tcp (v6)            ALLOW       Anywhere (v6)
5901/tcp (v6)          ALLOW       Anywhere (v6)
bash

Étape 9 : se connecter au VNC server

Pour vous connecter à votre VNC server, vous avez besoin d’un VNC client sur votre or­di­na­teur local. Les VNC client po­pu­laires sont RealVNC, TigerVNC Viewer et TightVNC Viewer. Pour améliorer la sécurité de votre connexion VNC, envisagez d’utiliser une connexion chiffrée via SSH. Cela protège la com­mu­ni­ca­tion entre votre VNC client et le VNC server.

Éta­blis­sez une connexion à votre serveur via SSH et redirigez le port VNC :

ssh -L 59000:localhost:5901 -C -N -l <your-username>@<server-ip>
bash
  • ssh : commande pour la connexion sécurisée à un serveur distant via le protocole SSH qui transmet les données de manière chiffrée.
  • -L 59000:localhost:5901 : permet d’activer une re­di­rec­tion de port local ; le trafic du port 59000 sur votre or­di­na­teur local est redirigé par le tunnel SSH vers le port 5901 sur le serveur distant. localhost se réfère au serveur distant sur lequel tourne le VNC server.
  • C : permet d’activer la com­pres­sion du trafic de données ; cela peut améliorer la vitesse de trans­mis­sion et réduire l’uti­li­sa­tion de la bande passante, en par­ti­cu­lier en cas de con­nexions lentes.
  • N : interdit l’exécution de commandes sur le serveur distant ; ce mode est utile si vous souhaitez uni­que­ment créer le tunnel sans lancer de shell sur le serveur distant.
  • -l <your-username> : indique le nom d’uti­li­sa­teur avec lequel vous vous connectez au serveur distant.
  • <server-ip> : l’adresse IP ou le nom d’hôte du serveur distant auquel vous souhaitez vous connecter via SSH.
Note

Remplacez <your-username> par votre nom d’uti­li­sa­teur et <server-ip> par l’adresse IP de votre serveur.

Connectez-vous au port local 5901 que vous avez transféré via le tunnel SSH en sai­sis­sant localhost:5901 dans votre VNC Viewer.

Cette méthode garantit que votre connexion VNC s’effectue via une connexion SSH chiffrée pour la rendre plus sûre.

Étape 10 : gérer le VNC server

Pour stopper ou re­dé­mar­rer le VNC server, utilisez les commandes suivantes :

Arrêter le VNC server :

vncserver -kill :1
bash

Re­dé­mar­rer le VNC server :

vncserver :1
bash

Fermer le VNC server (avec systemd) :

sudo systemctl stop vncserver@:1
bash

Vé­ri­fi­ca­tion du statut :

sudo systemctl status vncserver@1
bash

Une réponse possible pourrait être :

vncserver@1.service - Start TigerVNC server at startup
      Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
      Active: active (running) since Mon 2024-07-29 16:57:26 UTC; 20s ago
     Process: 97088 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
     Process: 97092 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status=0/SUCCESS)
    Main PID: 97103 (Xtigervnc)
        Tasks: 77 (limit: 4665)
      Memory: 146.7M
          CPU: 4.459s
      CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
. . .
bash

Étape 11 : dépannage

Si vous ren­con­trez des problèmes, vérifiez les points suivants :

  • Fichiers journaux : les fichiers log pour le VNC server se trouvent dans ~/.vnc. Vérifiez que ces fichiers ne con­tien­nent pas de messages d’erreur pouvant indiquer d’éventuels problèmes.
  • Con­nexions réseau : veillez à ce qu’aucune res­tric­tion réseau ou pare-feu ne bloque l’accès au port VNC.
  • Fichiers de con­fi­gu­ra­tion : vérifiez que le fichier ~/.vnc/xstartup ne contient pas d’erreurs de con­fi­gu­ra­tion de l’en­vi­ron­ne­ment de bureau.

Vous pouvez désormais fa­ci­le­ment gérer vos fichiers, vos pro­grammes et vos pa­ra­mètres système via un VNC server. Si vous préférez utiliser Windows, nous vous re­com­man­dons notre tutoriel « Installer un VNC server sous Windows ».

Serveurs dédiés
Per­for­mance et in­no­va­tion
  • Pro­ces­seurs dernière gé­né­ra­tion
  • Hardware dédié haute per­for­mance
  • Data centers certifiés ISO
Aller au menu principal