Partage d'écran avec GNU/Linux

 · 2 min read
 · Jean Schurger
Table of contents

(l'idée peut être adaptée à d'autres systèmes)

Contexte

L'idée est de partager un écran visible par plusieurs personnes, et de leur laisser afficher leur "Bureau" dessus pour le montrer aux autres. L'écran en question est branché sur un ordinateur sous GNU/Linux (on pourrait utiliser un Raspberry Pi), lequel doit être accessible depuis le réseau local.

Mis en œuvre

L'affichage

Côté écran partagé (serveur)

La recette du partage d'écran est bien connue, VNC s'acquitte de cette tâche efficacement depuis longtemps. La subtilité ici est qu'on ne souhaite pas afficher un écran partagé par quelqu'un d'autre (via un serveur VNC), mais qu'on souhaite depuis un poste de travail pousser son propre écran sur un client VNC. Le client TightVNC peut se comporter en mode serveur, et accepter les connexions de serveurs VNC en mode client.

Dans la session X du serveur, utiliser la commande:

vncviewer -listen

Côté poste de travail

Nous avons besoin d'un serveur VNC en mode client, x11vnc fait l'affaire.

Utiliser la commande:

x11vnc --connect serveur:5500

Le contrôle (clavier et souris)

La plus part du temps, on va simplement utiliser le clavier et la souris du poste de travail, mais dans certains cas, on peut vouloir prêter le clavier et la souris à quelqu'un d'autre, sans que personne n'ai à se lever de sa chaise. x2x permet de transporter le clavier et la souris d'un serveur X à un autre.

Exemple:

ssh -Y server "x2x -resurface -east -from \$DISPLAY -to :0"

/L'option -Y de ssh permet de transporter l'affichage sur la machine distante, on a besoin de cette information pour savoir d'où vient le curseur./

L'option -resurface de x2x est parfois necessaire, et bien expliquée dans le manuel.

L'option -east de x2x indique par quel bord de l'écran ou veut sortir pour atteindre l'autre écran.

Contrôle de l'alimentation

Le partage d'écran étant occasionnel, si on a rien à afficher, autant éteindre l'écran. Le standard DPMS permet d'envoyer des ordres d'allumage et de mise en veille aux écran. L'outil en ligne de commande xset donne accès à ces fonctions.

Allumage

ssh server xset -display :0 dpms force on

Extinction

ssh server xset -display :0 dpms force off

Note pour le partage du son

Il y a beaucoup de logiciels et de façons de le faire, Pulseaudio fournit facilement ce service.