
Screen est un outil qui permet d’ouvrir plusieurs terminaux dans une seule fenêtre et de jongler facilement entre eux. C'est sans conteste un outil indispensable lorsqu'on souhaite garder un programme en fonctionnement sur un serveur local ou distant, quitter une session sans réellement la fermer et la retrouver plus tard telle qu'on l'a laissée.
Si ce n'est déjà fait:
sudo apt install screen
Démarrer Screen
screen
Une fois passé le message de version, il n'y a, en apparence, aucune différence avec la console habituelle, et pourtant vous vous trouvez bien devant un nouveau terminal.
À partir de là, vous avez le choix :
Quitter Screen (fermer le programme) en tapant exit ou avec la combinaison de touches que nous connaissons tous, [CTRL+d].
Détacher Screen tout en laissant le terminal s'exécuter en arrière-plan. On détache Screen avec la combinaison [CTRL+a] puis [d], ce qui vous ramènera vers la console principale, celle depuis laquelle vous avez lancé Screen.
La console principale n'est pas un objet Screen.
La combinaison de touches [CTRL+a] est la commande de base, elle est le préfixe de toutes les autres commandes Screen, on en reparle plus bas.
Après avoir détacher Screen vous voudriez sans doute pouvoir y revenir, on le fait avec :
screen -r
Dans le cas ou vous auriez ouvert plusieurs fenêtres, screen -r se comportera alors comme screen -ls et affichera la liste des consoles actives.
screen -r
There are several suitable screens on:
2525.pts-0.zoo (05/12/2025 10:04:04) (Detached)
2507.pts-0.zoo (05/12/2025 10:03:34) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Il suffit d'ajouter l'id de la console à restaurer.
screen -r 2525
RAPPEL : La fenêtre de terminal principale n'est pas un terminal Screen, elle n’apparaîtra donc pas et ne sera pas prise en compte dans ces différentes manipulations.
[CTRL+a] puis [c] : crée un nouveau terminal
Rien ne se passe en apparence mais vous êtes dans un nouveau terminal.
[CTRL+a] puis ["] : pour basculer d'un terminal à l'autre.
Affiche la liste des terminaux ouverts, on se déplace de l'un à l'autre par les touches fléchées ou par le numéro.
[CTRL+a] puis [0-9] : bascule d'un terminal à l'autre en saisissant son numéro
[CTRL+a] puis ['] : le même mais avec un prompt pour saisir le numéro
[CTRL+a] puis [n] : switch directionnel (n comme next)
[CTRL+a] puis [p] : switch directionnel (p comme previous ou précédent)
[CTRL+a] puis [w] : où suis-je (w comme where)
Affichera quelques instants, en bas de la console, la liste des terminaux actifs. Un astérisque (*) marque la position actuelle et un tiret (-) la position précédente. Plutôt pratique non?
[CTRL+a] puis [S] : Attention c'est un S majuscule, Divise l'écran horizontalement, le terminal actif en haut et une "zone" en attente en bas.
[CTRL+a] puis [|] : ( [Alt Gr]+[6] pour | ) Divise l'écran verticalement, le terminal actif à gauche et un "espace" en attente à droite.
[CTRL+a] puis [TAB] : Basculer d'une vue à l'autre.
[CTRL+a] puis [X] : Attention c'est un X majuscule, Fermer la vue active (qui a le focus). Seule la vue est fermée mais le terminal reste actif.
La nouvelle vue issue d'une division n'est pas attribuée, vous devez lui donner le focus avec [CTRL+a] puis [TAB] puis décider de ce que vous voulez faire.
Créer un nouveau terminal comme on sais déjà le faire avec [CTRL+a] puis [c].
Attribuer un terminal existant [CTRL+a] puis ["] ou [n] ou ['] ou [p].
[Ctrl] + [A] puis [ESC]
Puis faire défiler avec les touches fléchées ↑ ↓
Il est possible dans Screen de garder une trace de l'activité de la console. Si vous démarrez la session il suffit d'ajouter l'option -L.
screen -L
Il est également possible de l'activer dans une session déjà ouverte.
[Ctrl] + [A]
puis tapez
:log on
Dans les deux cas, un fichier "screenlog.0" sera créé dans le répertoire courant.