Si vous avez déjà vu une tâche de longue haleine dans un terminal Linux interrompue par une session SSH perdue ou une fenêtre de terminal fermée, vous savez à quel point cela peut être frustrant. Heureusement, les serveurs Linux fournissent un utilitaire puissant appelé screen qui vous permet d’exécuter des sessions de terminal en arrière-plan, de vous en détacher et de vous reconnecter plus tard – même après une déconnexion.

Dans ce guide, nous allons vous présenter les bases de l’utilisation de screen, de l’installation aux commandes les plus courantes.

Qu’est-ce que screen ?

screen est un multiplexeur de terminal qui vous permet de créer plusieurs sessions de terminal à l’intérieur d’une même fenêtre. Vous pouvez vous détacher d’une session, la laisser tourner en arrière-plan et vous y rattacher plus tard, ce qui est idéal pour le travail à distance ou l’exécution de processus persistants.

Installation de screen

Sur la plupart des distributions Linux, screen est disponible via le gestionnaire de paquets par défaut.

Pour Debian/Ubuntu :

sudo apt update
sudo apt install screen

Pour CentOS/RHEL :

sudo yum install screen

Pour Fedora :

sudo dnf install screen

Utilisation de base

Démarrer une session Screen

écran

Cette commande ouvre une nouvelle session écran. Un message de bienvenue et une invite de terminal s’affichent.

Attribution d’un nom à votre session

screen -S mysession

Utilisez la commande -S pour attribuer un nom à votre session afin de pouvoir vous y référer facilement ultérieurement.

Détachement et rattachement

Se détacher d’une session

Dans la session écran, appuyez sur :

Ctrl A , puis D

Cette opération permet de détacher la session et de la laisser en cours d’exécution en arrière-plan.

Liste des sessions actives

screen -ls

Cette commande permet d’afficher la liste des sessions d’écran en cours :

Il y a des écrans sur:
12345.mysession (détaché)

Se rattacher à une session

screen -r mysession

Ou utilisez l’identifiant de la session :

screen -r 12345

Travailler avec plusieurs fenêtres

À l’intérieur d’une session screen, vous pouvez créer plusieurs fenêtres de terminal.

  • Créer une nouvelle fenêtre : Ctrl A , puis C

  • Passer à la fenêtre suivante : Ctrl A, puis N

  • Passer à la fenêtre précédente : Ctrl A, puis P

  • Lister toutes les fenêtres : Ctrl A, puis “(double guillemet)

Chaque fenêtre exécute son propre shell, et toutes continuent à fonctionner en arrière-plan si vous vous en détachez.

Enregistrement et sortie

Pour enregistrer les données de sortie d’une session écran, procédez comme suit

  1. Démarrez ou entrez dans votre session écran.

  2. Activez la journalisation :

    Ctrl A, puis H

    Cela crée un fichier appelé screenlog.0 dans le répertoire actuel.

Fermeture d’une session

Pour quitter une session, il suffit de taper exit dans le terminal d’écran. Cela met fin à l’interpréteur de commandes et ferme la session.

Si vous avez plusieurs fenêtres, vous devez les quitter toutes ou fermer la session entière en tapant :

exit

dans chacune d’elles.

Conseils avancés

  • Défilement arrière : Ctrl A, puis Esc vous permettent d’entrer en mode copie/retour en arrière.

  • Partage d’une session : Plusieurs utilisateurs peuvent se connecter à la même session en utilisant le mode multiutilisateur.

  • Configurations personnalisées : Modifiez ~/.screenrc pour ajouter des raccourcis et des préférences personnelles.

Conclusion

screen est un outil indispensable pour tout utilisateur de Linux gérant des tâches de longue haleine ou travaillant à distance via SSH. Sa capacité à maintenir les processus vivants et accessibles le rend inestimable pour les développeurs, les administrateurs système et les passionnés.

Explorez man screen pour découvrir encore plus de possibilités – et commencez à travailler plus intelligemment dans votre terminal !