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 lancer 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 voudrez sans doute pouvoir y revenir, on le fait avec :
screen -r
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és 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édant)
[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].