Comment controler un bureau distant sous GNU/Linux

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 :1.
std@host:~$ x11vnc -rfbport 5900 -display :1 -auth /var/lib/gdm/:0.Xauth

Connexion depuis les clients

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
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :