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.