logo rss

Comment contrôler un bureau distant sous GNU/Linux

VNC Logo

Nous allons voir comment se connecter en bureau distant depuis des machines Windows ou GNU/Linux vers des serveurs d'affichage de type X.Org ou Wayland. Nous verrons que la configuration sera complètement différente selon le serveur d'affichage.

Identifier son serveur d'affichage

Comme expliqué ci-dessus, selon le serveur d'affichage, le paramétrage du partage d'écran sera différent. Donc la première chose à faire est d'identifier le serveur en question.

  • Avec la commande loginctl :
std@host:~$ loginctl SESSION UID USER SEAT TTY 5 1000 std seat0 tty2 std@host:~$ loginctl show-session 5 -p Type Type=wayland
  • Ou en affichant la variable $XDG_SESSION_TYPE, à exécuter depuis notre environnement de bureau.
Linux terminal $XDG_SESSION_TYPE

Paramétrage du partage d'écran avec Wayland

Wayland est encore jeune, et VNC n'est pas nativement supporté.

Nous allons donc utiliser gnome-remote-desktop qui offre la possibilité de contrôler un bureau distant en utilisant VNC à travers PipeWire.

Configuration

  • Debian : GNU/Linux 10 (buster)
  • Environnement de bureau : GNOME 3.3
  • Mutter / wayland : 3.30

Schéma réseau

Network diagram vnc server and client

Installation des logiciels

root@host:~# apt install gnome-remote-desktop

Configuration Réseau

Nous allons avoir besoin de paramétrer le réseau depuis le manager GNOME afin de pouvoir l'associer à notre profil de partage d'écran.

  • Pour se faire, ouvrir le gestionnaire configuration réseau :
Gnome Shell recherche du terme réseau
  • On édite le profil de sa carte :
Gnome Shell gestionnaire de configuration réseau
  • On paramètre les Addresses IP :
Gestionnaire de configuration réseau Gnome
  • Maintenant ouvrir Paramètres :
Gnome Shell recherche du terme paramètres
  • Et aller dans Partage d'écran :
Gnome Shell Paramètres partage
  • Configurer les paramètres du Partage d'écran :
Gnome Shell paramètres du partage d'écran

Paramétrage du partage d'écran avec X.Org / X11

Avec X11 nous pouvons utiliser un serveur VNC classique, utilisons donc x11vnc serveur.

Configuration

  • Debian : GNU/Linux 10 (buster)
  • xorg : 7.7
  • x11vnc : 0.9

Schéma réseau

Network diagram vnc server and client

Ouvrir une session Xorg

Depuis GDM3 (GNOME Display Manager) on choisit Xorg GNOME comme session.

GDM Open Gnome Xorg

Installation des logiciels

  • On installe notre serveur VNC
root@host:~# apt install x11vnc

Configuration Réseau

Nous avons ici le choix de configurer notre réseau via l'interface graphique (voir au dessus) ou de façon plus classique en éditant le fichier /etc/network/interface.

auto ens192 iface ens192 inet static address 192.168.1.200 netwmask 255.255.255.0 gateway 192.168.1.254 dns-nameserver 192.168.1.1

Exécuter le serveur x11vnc

  • Identifier le numéro Display
std@host:~$ echo $DISPLAY Linux Terminal echo $DISPLAY
  • On lance ici notre serveur pour qu'il écoute depuis le port 5900 (port par défaut) et sur le display :0.
std@host:~$ x11vnc -rfbport 5900 -display :0
  • On peut également utiliser la commande suivante afin de se connecter au GNOME Display Manager (écran de login de Gnome) :
std@host:~$ x11vnc -rfbport 5900 -display :0 -auth /var/lib/gdm/:0.Xauth
  • De la même façon pour se connecter au Lightgdm (écran login de xfce) :
std@host:~$ sudo x11vnc -rfbport 5900 -display :0 -auth /var/run/lightdm/root/:0

Mise en place d'un mot de passe (Optionnel)

Pour des questions de sécurité il est fortement recommandé de mettre en place un mot de passe afin de protéger l'accès vnc.

  • Pour se faire, installer le paquet tigervnc-common :
std@host:~$ sudo apt install tigervnc-common
  • Et paramétrer un mot de passe, ici pour l'identifiant vnc :
std@host:~$ vncpasswd vnc
  • Ensuite lancer le serveur x11vnc avec l'option suivante :
std@host:~$ x11vnc -display :0 -rfbauth vnc -rfbport 5900

Connexion depuis les clients

Microsoft Logo

Connexion depuis un poste Windows

Depuis un PC Windows, télécharger un client VNC. VNC Viewer est une bonne solution.

  • Exécuter VNC Viewer et se connecter au serveur :
VNC Viewer Main Interface
  • Entrer le mot de passe précédement paramétré :
VNC Viewer Main Interface
  • On continue malgré l'avertissement :
VNC Viewer certificate warning
  • Une fois connecté, si l'affichage est instable, aller dans propriétés (j'ai du le faire avec Wayland) :
VNC Viewer Properties
  • Et définir une valeur pour la qualité d'image :
VNC Viewer Properties picture quality high

Connexion depuis un poste Linux

On peut utiliser n'importe lequel des nombreux Clients VNC disponibles. Exemple avec tigervnc :

root@host:~# apt install tigervnc std@host:~$ vncviewer 192.168.1.200:5900

caught XIO error

  • Si comme moi vous subissez régulièrement des crash vnc avec l'erreur caught XIO alors ajouter l'option -noxdamage (coté serveur) lors du lancement de x11vnc :
std@host:~$ x11vnc -display :0 -noxdamage -rfbport 5900
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

adresse mail de contact