GNU Screen n’est pas connu de tous les utilisateurs d’Unix. Pourtant, ce programme se rend vite indispensable. Derrière sa description de multiplexeur de terminal se cache un concept simple : vous pouvez laisser tourner des applications consoles sur une machine, même lorsque vous vous en déconnectez, et vous prenez la main sur leurs « terminaux » quand vous le souhaitez, d’où vous le souhaitez.
Screen se lance simplement par la commande screen
. Pour se reconnecter (rattacher) à une session existante, on tape screen -r ID_SESSION
. La liste des ID de session existants s’obtient par la commande screen -ls
.
En cours de fonctionnement, screen
dispose de nombreuses commandes accessibles par des raccourcis clavier qui commencent par C-a
. La liste des principaux raccourcis est la suivante :
Combinaison | Action |
---|---|
C-a d | détacher (fermer la fenêtre, mais pouvoir récupérer la session plus tard) |
C-a c | créer une nouvelle fenêtre |
C-a k | supprimer la fenêtre courante (kill) |
C-a F | adapte la taille de la fenêtre, très utile en cas de passage d’un terminal à un autre (fit) |
C-a ? | aide en ligne |
C-a n | passer à la fenêtre suivante |
C-a p | passer à la fenêtre précédente |
C-a 0 à C-a 9 | passer à la fenêtre de numéro indiqué |
C-a " | menu des fenêtres |
C-a : | prompt pour taper directement des commandes (cf. manuel) |
Pour plus de détails, on consultera le manuel officiel, ou cette bonne documentation en français.
Screen peut répondre à de nombreux besoins. Il est très utilisé en conjonction avec le client IRC irssi
, mais on peut trouver des applications plus exotiques, par exemple screen comme terminal série.
À noter que j’ai eu quelques soucis sur Mac, pour me connecter à une Debian : le terminal local fonctionne bien, screen en local fonctionne bien, le terminal distant par ssh fonctionne bien, mais screen sur la Debian distante posait problème : la touche Backspace envoyait Delete (mais seulement lorsque TERM
valait xterm-color
, pas xterm
)… Il s’agit d’une sombre histoire de terminfo dont une solution est donnée sur Mac OS X Hints : recopier le fichier terminfo xterm-color
du Mac sur la debian, dans le répertoire ~/.terminfo/x
.