Screen
Screen
Screen, le multiplexeur de
terminaux
Screen (GNU Screen (https://fr.wikipedia.org/wiki/GNU Screen)) est un «
multiplexeur de terminaux » permettant d'ouvrir plusieurs terminaux dans une
même console, de passer de l'un à l'autre et de les récupérer plus tard.
• La possibilité d'attacher et de détacher une session, pratique par exemple pour reprendre la main sur un
client IRC () tel que Irssi ou Weechat.
• La possibilité de partager un terminal avec un autre utilisateur, idéal pour aider un utilisateur distant.
1. Pré-requis
• Disposer des droits d'administration ;
• Disposer d'une connexion à Internet configurée et activée ;
• Avoir activé l'accès aux dépôts Universe et Multiverse
2. Installation
S'il ne l'est pas déjà, installez le paquet screen (apt://screen)
screen -S nom_de_la_session
Un message annonçant la version utilisée et indiquant que ce programme est publié sous licence GPL () s'affiche à
l'écran. Il ne reste plus qu'à presser la touche [ESPACE].
La nouvelle session du shell s'affiche et attend qu'on saisisse une commande, par exemple :
echo test
screen -r nom_de_la_session
Le rattachement à la session du screen peut très bien se faire à distance. Nous accédons alors à notre
machine via un accès ssh par exemple.
4. Utilisation
4.1 Lancement de Screen
• Créer un nouveau screen en nommant la session :
screen -S toto
Une fois passé l'écran de version, nous avons devant nous un terminal prêt à servir, nous pouvons l'utiliser comme
d'habitude (en dehors des applications en mode graphique).
screen -r
va afficher :
Nous avons donc le choix entre plusieurs screen que l'on va préciser simplement par
screen -r 13379
ou
screen -r toto1
Si le screen que nous essayons de rattacher n'a pas été détaché (toto3 dans l'exemple ci-dessus), il est possible de
forcer son détachement de la console précédente :
screen -d toto3
Pour avoir plusieurs attachements simultanés (option "-x"), voir la section Partager un terminal.
Si un screen est mort (toto4 dans l'exemple ci-dessus), il est possible de le supprimer en saisissant la commande
screen -wipe
Si vous avez auparavant exécuté une commande, le contenu du terminal devrait visiblement changer : vous êtes
dans le nouveau terminal dont vous venez de demander la création.
exit
• [CTRL]+[D] : équivalent à exit. Lorsqu’il n’y a plus qu’une seule console quitte screen.
• [CTRL]+[A] puis :quit le ferme également. Lorsqu'il n'y a plus qu'une seule console quitte screen.
screen -S toto
Votre ami se connecte sur votre machine via ssh par exemple et saisit la commande suivante :
screen -x toto
À partir de là, tout ce qui est saisi dans un des 2 terminaux (le vôtre ou le sien) apparaît sur les deux. Si il n'y a qu'un
seul screen de lancé, il n'est pas nécessaire de préciser son nom lors de la connexion.
5. Raccourcis supplémentaires
Séparation de la console :
• [CTRL]+[a] suivi de [AltGr]+[6] (|): Sépare la console courante en deux consoles verticalement (la console
courante devient celle de gauche).
• [CTRL]+[a] suivi de [S]: Sépare la console courante en deux consoles horizontalement (la console courante
devient celle du dessus).
• [CTRL]+[a] suivi de [TAB]: Une fois la console séparée, ce raccourci permet de se positionner sur la console
suivante.
• [CTRL]+[a] suivi de [Q]: Supprime toutes les régions, sauf la région courante.
• [CTRL]+[a] suivi de [K]: Tue la console courante ainsi que les processus qui s'y trouvent.
• [CTRL]+[a] suivi de [X]: Ferme la région courante.
Pour la seconde console, il faut créer un nouveau screen par [CTRL]+[a] suivi de [c]
A noter que la suppression d'une ou plusieurs régions ne supprime pas les consoles qui s'y trouvaient.
Divers :
• [CTRL]+[a] suivi de [F]: Redimensionnement de la fenêtre à la taille de son terminal. Utile lorsque l'on est
plusieurs sur une même console et que l'on enrage de ne pas avoir un écran 16/9e.
• [CTRL]+[a] suivi de [H]: Permet de logguer tout ce qui passe à l'écran dans un fichier $HOME/screenlog.XX (XX
: no de la console)
• [CTRL]+[a] suivi de [?]: Affiche une petite aide
Déplacement et copie :
• [CTRL]+[a] suivi de [ESC]: Entre en mode copie/scrollback. On peut se déplacer dans le screen avec les flèches
directionnelles.
• ENTER : Permet de commencer une sélection. Appuyer une nouvelle fois sur ENTER pour terminer la
sélection.
• [CTRL]+[a] suivi de []]: Colle le contenu sélectionné précédemment.
cp /etc/screenrc ~/.screenrc
Il est possible de changer le caractère d'échappement (CTRL+a). De cette manière, vous avez un
caractère d'échappement sur votre machine et un différent sur une machine distante. Et grâce à cela,
vous pouvez faire du screen dans un screen. https://forum.ubuntu-fr.org/viewtopic.php?id=846021
(https://forum.ubuntu-fr.org/viewtopic.php?id=846021)
7. Voir aussi
• Les pages du manuel man screen et info screen
• La page du projet (http://www.gnu.org/software/screen) (en)
• Un article sur screen (http://www.ddmdllt.org/weblog/posts/2008/10/27/screen-ssh-et-autres-joies/) paru
sur le Planet de l'APRIL ()
• Tutoriel video de screen (http://postit.petitchevalroux.net/linux/screen-tutoriel-video-linux.191.html)
• Partagez vos '.screenrc' (sur Ubuntu-fr) (https://forum.ubuntu-fr.org/viewtopic.php?id=390985)
• Manuel de screen (http://durak.org/sean/pubs/software/screen/screen.html#Top), partie sur le multiuser
(http://durak.org/sean/pubs/software/screen/screen_27.html) (en)
• Ignore crtl+d (http://unstableme.blogspot.fr/2010/01/prevent-exit-of-shell-with-ctrl-d.html) (en)
• Tmux un autre multiplexeur.
• Byobu une version améliorée de Screen.