Commande screen sur Linux expliquée

La commande screen est une commande très courante utilisée sur Linux pour lancer et organiser plusieurs shells de terminal au sein d’un seul shell.

La commande screen est la plupart du temps utilisée à deux fins.

Elle peut soit être utilisée afin d’organiser plusieurs shells et de naviguer facilement entre eux.

Elle peut également être utilisée afin d’avoir des commandes qui s’exécutent longtemps sur des serveurs distants.

En fait, screen est lancé afin de s’assurer que vous ne perdez aucun travail distant en cas de panne soudaine du réseau.

Dans ce tutoriel, nous allons avoir un aperçu complet de ce qu’est la commande screen sous Linux et comment l’utiliser efficacement.

Prête ?

Table des matières

Prérequis

Pour installer de nouveaux paquets, vous devrez être un utilisateur sudo.

Si vous devez ajouter un utilisateur à sudoers sur Debian, il existe un tutoriel pour cela.

Il en existe également un pour les distributions basées sur Red Hat.

Quand vous êtes prêt, tapez cette commande pour vous assurer que vous avez les droits sudo.

$ sudo -lUser user may run the following commands on localhost: (ALL) ALL

Installation de screen sur Linux

Pour installer screen, vous devrez exécuter l’une des commandes suivantes.

Sur les distributions basées sur Debian, vous pouvez exécuter

$ sudo apt-get install screen

Pour les distributions basées sur Red Hat, vous devrez exécuter

$ sudo yum install -y screen

Quand vous aurez terminé, vous pourrez exécuter cette commande afin de vérifier votre version actuelle de screen.

$ screen -vScreen version 4.06.02 (GNU) 23-Oct-17

Interagir avec Screen sous Linux

Comme décrit précédemment, screen est utilisé afin de démarrer un shell interactif dans lequel vous pouvez réorganiser plusieurs shells.

Pour démarrer votre premier screen, tapez simplement la commande suivante .

Comme vous pouvez le constater, il n’y a pas de différences avec votre précédent shell si ce n’est que l’en-tête écrit

screen 0: :~

À partir de là, cela signifie qu’un interpréteur bash est exécuté à l’intérieur d’un autre interpréteur bash grâce à l’utilitaire screen.

Pour exécuter une commande, il suffit de taper une commande comme vous le feriez normalement.

Aide avec screen

Lorsque vous interagissez avec la commande screen, vous devrez exécuter des raccourcis sur votre clavier pour exécuter des actions dans la session screen.

Par défaut, les touches « Ctrl + A » sont conçues pour interagir avec screen.

À titre d’exemple, tapez « Ctrl + A » puis  » ? » afin d’obtenir l’aide de l’écran.

Comme vous pouvez le voir, vous avez de nombreuses options différentes pour interagir avec l’écran.

Les plus populaires sont probablement les suivantes :

  • « Ctrl + A » puis « d » : mode détachement. Vous pouvez utiliser cette option afin de vous détacher (ce qui signifie revenir à votre shell d’origine) et laisser screen s’exécuter en arrière-plan. Ceci est particulièrement pratique lorsque vous exécutez des tâches longues sur votre hôte.
  • « Ctrl + A » puis « x » : lockscreen. Ceci est utilisé afin de protéger votre session d’écran pour qu’elle soit utilisée par un autre utilisateur. En conséquence, un mot de passe est défini pour votre session.
  • « Ctrl + A » puis « c » : commande d’écran. Une des commandes les plus utilisées de loin, ces liaisons sont utilisées afin de créer une nouvelle fenêtre au sein de votre instance d’écran.
  • « Ctrl + A » puis « | » : division verticale. Par défaut, cette commande va diviser votre fenêtre actuelle en deux zones différentes avec lesquelles vous pouvez interagir.
  • « Ctrl + A » puis « S » : division horizontale.
  • « Ctrl + A » puis « n » : utilisé pour naviguer entre vos différentes sessions de fenêtre de celle ayant l’indice le plus bas jusqu’à celle ayant l’indice le plus grand.
  • « Ctrl + A » puis « Tab » : utilisé afin de déplacer votre curseur de saisie vers l’une de vos différentes zones à l’écran.

Dans la plupart des cas, ce sont les commandes que vous allez utiliser avec screen.

Découpage de régions avec la commande screen

À titre d’exemple, nous allons créer la mise en page suivante avec la commande screen sous Linux.

Comme vous pouvez le voir, nous allons diviser le terminal à la fois verticalement et horizontalement.

Une fenêtre sera utilisée afin d’exécuter une commande (comme une commande longue durée par exemple).

Une deuxième fenêtre sera utilisée afin de surveiller les performances du système en utilisant la commande supérieure.

Enfin, une autre fenêtre pourra être utilisée afin de modifier un fichier via l’éditeur nano.

Création d’une fenêtre d’écran

D’abord, créez une session d’écran en exécutant la commande suivante.

$ screen -S user-screen

L’option -S créera une session nommée pour votre environnement d’écran.

Lorsque plusieurs administrateurs travaillent sur le même système, il peut être judicieux d’avoir des sessions nommées pour distinguer vos sessions des autres.

Puis, comme vous allez manipuler trois sessions shell, vous allez avoir besoin de deux écrans supplémentaires.

Exécutez la commande « create » deux fois (« Ctrl + A » puis « c »). Vous devriez vous retrouver avec l’écran suivant.

Notez que l’en-tête ou votre shell de terminal affiche « écran 2 » car trois écrans sont actuellement actifs pour votre session.

Division des fenêtres d’écran verticalement et horizontalement

La prochaine étape consistera à créer vos différentes régions sur votre fenêtre actuelle.

Pour ce faire, divisez d’abord votre région actuelle verticalement en appuyant sur « Ctrl +A » puis « | »

Vous devriez vous retrouver avec la sortie suivante.

Puis, divisez votre mise en page horizontalement en appuyant sur « Ctrl +A » puis « S ».

Voici ce que vous devriez obtenir.

Naviguez vers votre deuxième région en appuyant sur « Ctrl +A » puis « Tab ». Par défaut, votre région doit être vide, vous pouvez donc appuyer sur « Ctrl +A » puis « n » afin de naviguer vers votre session d’écran 0.

De là, exécutez la commande que vous souhaitez exécuter.

Répétez les étapes précédentes afin d’exécuter les commandes dans les autres régions.

Rappellez-vous que vous devez naviguer entre vos fenêtres d’écran lorsque vous entrez pour la première fois dans une région divisée.

Superbe ! Vous avez créé votre session écran personnalisée complète.

Détacher de votre session écran

Pour vous détacher de votre session écran, il suffit d’appuyer sur les touches suivantes.

$ Ctrl + A then d

Votre session écran s’exécute toujours en arrière-plan.

C’est l’un des principaux aspects de la commande écran.

Elle peut être utilisée afin de créer à un hôte distant via SSH, effectuer certaines actions, et sortir pour y revenir plus tard.

De cette façon, vous n’avez pas à manipuler l’arrière-plan et le premier plan que vous pourriez perdre en fermant votre terminal actuel.

Pour vérifier que votre session d’écran est toujours en cours, exécutez la commande suivante

$ pstree | grep -A 2 -E "screen-"

Rattachement à votre session écran

Tout d’abord, vous pouvez lister vos fenêtres d’écran en exécutant la commande suivante.

$ screen -ls

Si vous avez nommé votre session écran, vous pouvez simplement exécuter la commande suivante

$ screen -r <session_name>

Dans l’exemple ci-dessus, je devrais exécuter cette commande afin de revenir à ma session.

$ screen -r user-screen

Notez que vous pouvez également revenir à votre session en utilisant l’ID de l’écran tout à gauche de la commande ls.

$ screen -r 3600

Malheureusement, vous perdez tous vos changements visuels et vous devrez à nouveau diviser vos fenêtres.

Cependant, avec suffisamment de pratique, vous pourriez apprendre les raccourcis très facilement.

Verrouiller votre session d’écran

Parfois, vous pourriez vouloir empêcher d’autres utilisateurs d’interagir avec votre session d’écran.

Pour verrouiller votre écran, appuyez sur « Ctrl + A » puis sur « x ».

Pour le déverrouiller, vous devez entrer le mot de passe de l’utilisateur propriétaire de la session écran.

Conclusion

Dans le tutoriel d’aujourd’hui, vous avez appris comment vous pouvez facilement manipuler la commande screen sous Linux afin de créer des environnements shell personnalisés au sein d’un shell commun.

Vous avez appris qu’elle peut être utilisée sur des serveurs distants afin de vous assurer que vous pouvez quitter la session tout en sauvegardant votre travail (si vous avez des commandes longues en cours d’exécution au premier plan par exemple).

Si l’administration système Linux vous intéresse, nous avons une section complète qui lui est dédiée sur le site.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *