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 :

CombinaisonAction
C-a ddétacher (fermer la fenêtre, mais pouvoir récupérer la session plus tard)
C-a ccréer une nouvelle fenêtre
C-a ksupprimer la fenêtre courante (kill)
C-a Fadapte 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 npasser à la fenêtre suivante
C-a ppasser à la fenêtre précédente
C-a 0 à C-a 9passer à 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.