Aller au contenu

L'utilitaire Screen

Screen

Petit mémo sur l'utilisation de l'outil screen sur linux, petit utilitaire que j'adore pour deux fonctionnalités principales que nous allons voir rapidement :

  • Avoir un terminal qui tourne en fond sur lequel on peut revenir quand on veut et même à partir d'un autre client (très pratique en ssh, surtout pour faire tourner un script qui prend du temps)
  • Diviser son terminal en deux ou plusieurs parties

Les commandes de base

Ici on va voir quelques commandes de base pour lancer screen. Ce qui est top avec screen, c'est que lorsque vous le lancez, vous pouvez ensuite à l'intérieur de ce screen lancer une commande ou un script et sortir de ce screen pendant que la commande ou le script s'exécute. C'est super pratique pour un script ou une commande qui va durer longtemps. Gros avantage (notamment en ssh), si vous perdez la connexion, pas de problème ! Vous vous reconnectez, vous réattachez le screen et vous vous retrouvez sur votre écran comme si de rien n'était. De même, vous pouvez vous connecter en ssh sur un serveur, lancer un screen, lancer une commande longue ou un script à l'intérieur puis vous détachez du screen et vous déconnecter du serveur. Vous pourrez vous reconnecter en ssh plus tard (même à partir d'un autre client) et rouvrir le screen pour voir où en est la commande ou le script.

Démarrer un screen (test est le nom qu'on donne au screen, on met ce qu'on veut) :

screen -S test

Sortir du screen en le supprimant :

exit
Se détacher du screen : Ctrl+A puis D

Se réattacher au screen :

screen -r test
Se réattacher au screen alors que celui-ci est déjà "Attached" (après une perte de connexion par exemple) :
screen -R test
Lister les screen :
screen -ls

Gestion des splits

Autre fonctionnalité intéressante, vous pouvez diviser votre terminal en régions. C'est bien pratique lorsque vous êtes connecté en ssh sur un serveur, cela vous évite d'ouvrir un autre terminal et de vous connecter une seconde fois.

Diviser l'écran horizontalement : Ctrl+A puis S

Diviser l'écran verticalement : Ctrl+A puis |

Passer d'une région à l'autre : Ctrl+A puis Tab

Démarrer le shell dans la nouvelle région : Ctrl+A puis C

Fermer une région : Ctrl+A puis X

Ne conserver que la région active : Ctrl+A puis Q

Sauvegarder la disposition des régions : Ctrl+A puis :