Guide d’utilisation des commandes d’écran sous Linux
Introduction
La commande screen est un puissant multiplexeur de terminal pour Linux et les systèmes de type Unix. Elle vous permet de gérer plusieurs sessions shell à partir d’une seule fenêtre de terminal, de maintenir les sessions en cours même après la déconnexion et de vous reconnecter à ces sessions ultérieurement. Cela est particulièrement utile pour les sessions à distance via SSH, car cela permet de s’assurer que les processus en cours depuis longtemps ne sont pas interrompus en cas de perte de connexion. Dans ce guide, nous verrons comment installer, utiliser et gérer les sessions d’écran, ainsi que quelques commandes courantes et astuces pratiques.
Pourquoi utiliser screen ?
L’utilisation de screen présente plusieurs avantages :
- Gestion des sessions: Exécution de plusieurs sessions shell dans une seule fenêtre de terminal.
- Persistance de la session: Continuez à exécuter des processus même si vous vous déconnectez du terminal ou si vous perdez votre connexion SSH.
- Rattachement: Reconnectez-vous à une session à tout moment et reprenez là où vous vous étiez arrêté.
- Facilité d’utilisation: des commandes et des raccourcis simples facilitent la gestion des sessions.
Installation de l’écran
screen est généralement préinstallé sur la plupart des distributions Linux. Cependant, s’il n’est pas disponible sur votre système, vous pouvez l’installer à l’aide de votre gestionnaire de paquets :
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install screen
- CentOS/RHEL:
sudo yum install screen
- Fedora:
sudo dnf install screen
- Arch Linux:
sudo pacman -S screen
Une fois installé, vous pouvez commencer à utiliser screen immédiatement.
Démarrer une session screen
Pour démarrer une nouvelle session screen, il suffit de taper :
écran
Cela ouvrira une nouvelle session d’écran avec une interface de ligne de commande qui se comporte comme un terminal normal. Vous pouvez lancer des commandes ou des processus dans cette session.
Pour démarrer une nouvelle session avec un nom spécifique (ce qui facilitera sa gestion ultérieure), utilisez :
screen -S nom_session
Remplacez nom_session par un nom significatif pour votre session.
Détachement et rattachement à des sessions
L’une des fonctionnalités les plus utiles de screen est la possibilité de se détacher d’une session et de s’y rattacher ultérieurement.
Détachement d’une session
Pour se détacher d’une session écran sans la fermer, appuyez sur :
Ctrl A , D
La séquence Ctrl A indique à Screen que vous êtes sur le point de lui donner une commande, et D signifie “détacher” Après le détachement, votre session continuera à s’exécuter en arrière-plan.
Se rattacher à une session
Pour se reconnecter à une session détachée, utilisez la touche :
screen -r
Si vous avez plusieurs sessions, vous pouvez les lister et choisir la session spécifique à laquelle vous attacher :
screen -ls
Cette commande affiche toutes les sessions d’écran actives, y compris leurs identifiants et leurs noms :
Il y a des écrans sur :
1234.nom_de_la_session (Détaché)
5678.another_session (Détaché)
2 Sockets dans /var/run/screen/S-user.
Pour se rattacher à une session spécifique, utilisez son identifiant ou son nom :
screen -r 1234
ou
screen -r nom_de_la_session
Utilisation de plusieurs fenêtres dans une seule session d’écran
screen vous permet de créer plusieurs fenêtres au sein d’une même session. Cela signifie que vous pouvez exécuter différentes commandes ou processus dans des fenêtres distinctes et passer facilement de l’une à l’autre.
Création d’une nouvelle fenêtre
Pour créer une nouvelle fenêtre à l’intérieur d’une session screen existante, appuyez sur :
Ctrl A , C
Cela ouvrira une nouvelle fenêtre avec une nouvelle invite de l’interpréteur de commandes.
Navigation entre les fenêtres
Pour passer d’une fenêtre à l’autre, utilisez :
- Ctrl A, N : Passer à la fenêtre suivante.
- Ctrl A, P : Passer à la fenêtre précédente.
- Ctrl A, ” : afficher une liste de fenêtres ouvertes et choisir celle vers laquelle basculer.
Renommer une fenêtre
Pour renommer une fenêtre afin de mieux l’organiser, appuyez sur :
Ctrl A , A
Tapez le nouveau nom de la fenêtre et appuyez sur Entrée.
Fermeture d’une fenêtre
Pour fermer une fenêtre, il suffit de quitter l’interpréteur de commandes en cours d’exécution dans cette fenêtre en tapant :
exit
ou en appuyant sur Ctrl D.
Verrouillage et déverrouillage d’une session d’écran
Si vous devez verrouiller temporairement votre session à l’écran, utilisez la commande suivante :
Ctrl A , X
Vous devrez alors saisir votre mot de passe d’utilisateur pour déverrouiller la session.
Personnalisation de la configuration de l’écran
Le comportement de screen peut être personnalisé à l’aide du fichier .screenrc, qui se trouve dans votre répertoire personnel. Vous pouvez ajouter des commandes à ce fichier pour modifier les raccourcis clavier par défaut, définir les titres des fenêtres et personnaliser le comportement de screen au démarrage.
Pour créer ou modifier le fichier .screenrc, utilisez un éditeur de texte :
nano ~/.screenrc
Voici quelques exemples de paramètres que vous pourriez ajouter :
# Changer la séquence d'échappement par défaut en Ctrl B
escape ^Bb#
Afficher une ligne d’état en bas de l’écranhardstatus on
hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}% w”
Enregistrez le fichier et redémarrez l’écran pour appliquer les modifications.
Exemples de cas d’utilisation pour screen
- Exécution de processus longs: Si vous devez exécuter un script ou une commande qui prend beaucoup de temps, exécutez-le dans une session screen. Ainsi, même si vous vous déconnectez de SSH, le processus continuera à s’exécuter.
- Gestion de plusieurs sessions: Si vous travaillez sur plusieurs projets, vous pouvez utiliser des sessions d’écran ou des fenêtres différentes pour chaque tâche.
- Gestion de serveurs distants: Utilisez l’écran pour gérer des serveurs distants via SSH. Cette fonction est particulièrement utile pour administrer des serveurs qui nécessitent une maintenance ou une surveillance permanente.
Conclusion
La commande screen est un outil polyvalent et puissant qui permet de gérer plusieurs sessions de terminal et d’exécuter de longs processus sur les systèmes Linux. Avec la possibilité de détacher, de rattacher et de créer plusieurs fenêtres, screen fournit un environnement robuste pour les utilisateurs occasionnels comme pour les utilisateurs chevronnés. Que vous exécutiez des scripts complexes ou que vous ayez simplement besoin d’un moyen de maintenir une session shell persistante, la maîtrise de screen améliorera considérablement votre productivité et votre flexibilité sous Linux.