Comment utiliser le multiplexeur de terminal d'écran sous Linux

0
201

Voulez-vous exécuter plusieurs sessions d'écran virtuel à partir d'une seule console de terminal ? Ou éviter les coupures de connexion Internet en mettant fin à votre session de console via SSH ? Si tel est le cas, accueillez dès aujourd'hui le multiplexeur de terminal GNU Screen dans votre ensemble d'outils !

Utilisation de l'utilitaire GNU Screen

L'utilitaire GNU Screen pour Linux est un multiplexeur d'écran polyvalent qui vous permet de démarrer plusieurs sessions d'écran virtuel (pensez-y comme des fenêtres de console supplémentaires) à partir de votre session de terminal actuelle !

La mise en route est facile. Vous pouvez installer l'outil GNU Screen à l'aide de sudo apt install screen sur la ligne de commande de votre terminal :

Si vous utilisez un système d'exploitation basé sur RedHat/RPM, veuillez remplacer « apt » par « yum » dans la commande ci-dessus.

Pour ouvrir une nouvelle console virtuelle, vous pouvez maintenant simplement taper screen et appuyer sur Entrée, qui vous présentera un écran de démarrage :

Publicité

Appuyez simplement sur espace ou retour pour fermer l'écran de démarrage. L'invite de commande semblera revenir, mais en fait, vous êtes maintenant dans une session d'écran virtuel. Considérez-le comme une session de terminal alternative, s'exécutant dans l'ancienne session de terminal.

L'un des avantages de l'écran GNU est que même si la session du terminal principal/parent devait échouer ou se bloquer (par exemple en raison d'une connexion réseau perdue), et même lorsque vous fermez ou mettez fin à la session du terminal principal/parent, cela la session screen restera en ligne et fonctionnera !

Il est facile de vérifier si nous sommes actuellement dans une session screen ou non :

Cette instruction if teste si la variable $STY est définie ou non. Si la variable d'environnement $STY est définie, il s'agit d'une session d'écran.

Alors, comment pouvons-nous revenir à notre session de terminal principal/parent ? Cela peut être fait en utilisant une combinaison de touches que l'écran GNU écoutera en arrière-plan. Appuyez simplement sur CTRL+A > CTRL+D. Peu importe si vous relâchez ou non la touche CTRL en le faisant.

Vous verrez quelque chose de similaire à cette sortie :

Cela nous indique également que nous nous sommes seulement détachés de la session d'écran virtuel GNU – il ne s'est pas terminé, et si nous le voulons, nous pouvons nous y reconnecter. Même si, pour une raison quelconque, la session principale/parentale s'était fermée, la session d'écran virtuel ne se serait pas terminée et nous pouvons à nouveau nous y reconnecter.

Publicité

Pour nous reconnecter à la session, nous pouvons émettre une simple commande :

La confirmation de cette commande nous ramènera simplement à la session d'écran virtuel que nous avions en cours d'exécution. Notez que nous avons utilisé l'ID de processus pertinent (comme indiqué lorsque nous nous sommes détachés de la session d'écran) pour nous reconnecter à la session d'écran virtuel. Cela clarifie également immédiatement comment nous pouvons démarrer un nombre indéfini de sessions d'écran (bien que chacune consomme une certaine quantité de ressources) et nous connecter à celle que nous aimons en utilisant la commande screen -d -r.

Nous pouvez en savoir plus sur les options que nous avons utilisées pour cette commande dans le manuel en ligne de l'écran :

Pour un aperçu plus large de screen et de ses nombreuses fonctionnalités, vous pouvez utiliser la commande man screen :

Si nous voulons voir une liste des sessions d'écran qui s'exécutent sur la machine en ce moment, nous pouvons émettre une commande screen -list :

Notez comment la session est signalée comme ‘Détachée’ ou ‘En pièce jointe’ selon que vous y êtes toujours connecté quelque part ou non.

Publicité

Parfois, vous pouvez souhaiter revenir en arrière dans une session d'écran, par exemple lorsque plus de lignes de sortie ont été générées que le nombre de lignes disponibles dans la taille de la fenêtre de votre terminal. On pourrait s'attendre à ce que ce soit aussi simple que d'utiliser la souris pour faire défiler vers le haut et vers le bas, mais ce n'est pas le cas.

Au lieu de cela, vous pouvez utiliser une combinaison de touches CTRL + ÉCHAP pour activer le mode copie (bien qu'aucune copie réelle ne soit effectuée si vous ne faites que faire défiler), et maintenant votre souris, ainsi que les touches de curseur haut/bas standard fonctionneront correctement. Lorsque vous avez terminé de regarder (et/ou de copier si vous le souhaitez, par exemple avec votre souris en sélectionnant et en copiant normalement), appuyez simplement à nouveau sur la touche ESC pour annuler le mode de copie.

À fois qu'un programme s'exécutant à l'intérieur d'un écran peut planter, par exemple, en raison d'une erreur de programme ou d'un manque de mémoire ou de disque. Si cela se produit, l'écran affichera ‘Dead’ dans la sortie screen -list :

À ce stade, nous pouvons effacer l'écran mort session en émettant une commande screen -wipe :

Dans cet article, nous avons exploré comment installer l'utilitaire d'écran GNU, comment démarrer une nouvelle session d'écran virtuel en utilisant le même, et comment se détacher et se rattacher à une session d'écran existante. Enfin, nous examinons comment faire défiler à l'intérieur des sessions d'écran, ainsi que comment gérer les sessions d'écran mort.