Partage d'écran avec GNU/Linux
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.