La commande screen

Introduction

Screen est un « multiplexeur de terminaux » permettant d'ouvrir plusieurs terminaux dans une même console, de passer de l'un à l'autre et de les récupérer plus tard.

Cet utilitaire est très utile lorsque l'on est connecté à un équipement en SSH et que l'on souhaite télécharger des fichiers lourds ou lancer des opérations longues sur la machine sans être interrompu par une potentielle déconnexion due à des problèmes réseaux ou à une trop longue durée d'inactivité (car fermeture de la session SSH = arrêt des processus lancés par l'utilisateur).

Installation

Le paquet screen s'installe sur la plupart des distributions Linux à l'aide du gestionnaire de paquets par défaut.

Utilisation

Ouvrir une nouvelle session screen :

screen

Ouvrir une nouvelle session screen en lui donnant un nom :

screen -S <nom de la session>

Si aucun nom n'est spécifié, screen va alors générer un nom de session aléatoire. Un ID se session sera toujours généré également pour permettre de se rattacher facilement à la session en cas de problème de clavier.

Se rattacher à une session screen en cours :

screen -r

:!: Lorsqu'il n'y a qu'une seule session screen en cours, cette commande la rattache automatiquement. S'il y en a plusieurs, elle vous affichera les différentes sessions en cours et il faudra alors faire un choix :

Liste des sessions screen en cours

Se rattacher à une session screen en spécifiant son nom :

screen -r <nom ou ID de la session>

Lister les sessions screen en cours :

screen -ls

ou

screen -list

Ce qui donne :

Lister les sessions screen en cours

:!: Dans l'exemple ici, la mention (Attached) affichée à côté de la session screen en cours indique que c'est la session à laquelle nous sommes connectés. J'ai donc lancé la commande screen depuis cette session. On y constate également qu'elle possède l'ID 142, que je pourrais utiliser également pour m'y rattacher (le chiffre juste avant son nom).

Se détacher d'une session screen :

Quitter le client SSH ou faire CTRL+A puis d

Se détacher d'une session screen en la quittant :

Faire CTRL+D ou utiliser la commande exit jusqu'à fermer la session. Ou bien : Faire CTRL+A puis dd

Sources