Il est fréquent lorsque l’on fait du télésupport ou de la téléformation d’avoir besoin de partager un écran 1) ou plus simplement une session terminal. Le fait de partager uniquement la session terminal évite d’avoir recours à un partage d’écran complet et peut fonctionner sur les réseaux bas débit. GNU Screen permet, entre autres, de faire ce genre d’opérations et c’est lui que nous allons utilisé.
Ce tutoriel a été fait sur Ubuntu Hardy Heron 8.04.3 et il est plus ou moins la traduction de cette page. L’exemple ci-dessous est donné pour un élève souhaitant que son professeur puisse voir en temps réel ce qu’il tape et que celui-ci puisse également intervenir. C’est donc une session partagée en écriture pour les deux rôles que nous allons décrire. L’élève a pour identifiant system et le professeur guru. Il faut installer screen sur la machine de l’élève.
Un simple aptitude install suffit
sudo aptitude install screen
Dans notre contexte, il faut positionner le bit setuid sur screen et donner les droits nécessaires sur le fichier /var/run/screen.
sudo chmod +s /usr/bin/screen sudo chmod 755 /var/run/screen
La dernière manipulation n’est peut-être pas très heureuse en termes de sécurité mais nous sommes dans un contexte de formation, donc pas de paranoïa excessive
Installation terminée
Sur la machine de l’élève, il faut lancer une session screen en donnant avec le paramètre -S un nom de session
screen -S screen-test
Il faut maintenant rendre cette session multi utilisateurs
CTRL-A :multiuser on
Il reste à autoriser le professeur (guru) à se connecter sur cette session
CTRL-A :acladd guru
Après avoir vérifié que l’élève vous a bien autorisé comme indiqué ci-dessus, il ne reste plus qu’à se connecter sur sa machine avec l’identifiant du professeur soit guru.
ssh guru@ordinateur.eleve.ip.address
Il ne reste plus qu’à se connecter sur la session partagée par l’élève.
screen -x system/screen-test
L’écran ci-dessous montre un exemple de partage avec le terminal de l’élève et du professeur superposé. Tout ce qui est tapé dans l’un ou l’autre est répercuté simultanément sur l’autre.