Comment utiliser le multiplexeur de terminal d'affichage sous Linux

Contenu

Comment utiliser l'utilitaire GNU Screen sous Linux

Vous souhaitez exécuter plusieurs sessions d'écran virtuel à partir d'une seule console de terminal? Ou évitez les coupures de connexion Internet lors de la déconnexion de la console via SSH? Si c'est ainsi, bienvenue le multiplexeur de terminal GNU Screen dans votre boîte à outils aujourd'hui.

Utilisation de l'utilitaire d'affichage GNU

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

Commencer est facile. Vous pouvez installer l'outil GNU Screen en utilisant sudo apt install screen dans la ligne de commande de votre terminal:

Installation de l'écran GNU

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

Pour ouvrir une nouvelle console virtuelle, maintenant vous pouvez simplement taper screen et appuyez sur entrée, qui vous présentera un écran de bienvenue:

Écran d'accueil de l'écran GNU

Appuyez simplement sur la barre d'espace ou revenez en arrière pour fermer l'écran d'accueil. L'invite de commande apparaîtra pour revenir, mais en réalité, vous êtes maintenant dans une session d'écran virtuel. Considérez-le comme une session de terminal alternative, s'exécutant dans la session de terminal ci-dessus.

L'une des meilleures choses à propos de l'écran GNU est que même si la session de terminal principale / le parent échouera ou plantera d'une manière ou d'une autre (par exemple, en raison d'une connexion réseau perdue), et même lorsque la session du terminal principal se ferme ou se termine / père, this La session d'écran restera active et en cours d'exécution!

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

Vérifier s'il s'agit d'une session d'écran GNU ou non

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

Ensuite, Comment revenir à notre session principale / borne principale? Cela peut être fait en utilisant une combinaison de touches que l'écran GNU entendra en arrière-plan. Appuyez simplement sur CTRL + A> CTRL + ré. Peu importe que vous relâchiez ou non la touche CTRL en le faisant.

Vous verrez quelque chose d'équivalent à cette sortie:

Quitter une session d'écran GNU

Cela nous indique également que nous nous sommes seulement déconnectés de la session d'écran virtuel GNU; ce n'est pas fini et, Si nous voulons, nous pouvons nous reconnecter à elle. Même si pour une raison quelconque la session principale / père aurait fermé, la session d'écran virtuel ne se serait pas terminée et nous pouvons nous y reconnecter.

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

Se reconnecter à une session d'écran GNU

Confirmer cette commande nous ramènera simplement à la session d'écran virtuel que nous avions en cours d'exécution. Notez que nous utilisons l'identifiant de procédure approprié (comme indiqué lorsque nous nous sommes séparés de la session d'écran) pour se reconnecter à la session d'écran virtuel. Cela clarifie encore plus immédiatement comment nous pouvons lancer un nombre indéfini de sessions d'écran (même si chacun consommera une certaine quantité de ressources) et connectez-vous à celui que nous voulons en utilisant le screen -d -r commander.

Nous pouvons en savoir plus sur les alternatives que nous utilisons pour cette commande dans le manuel en ligne de l'écran:

Options de clarification manuelle de l'écran r et d

Pour un aperçu plus complet de l'écran et de ses nombreuses fonctionnalités, vous pouvez utiliser le man screen commander:

Manuel GNU Screen Linux

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

Liste des écrans GNU

Notez comment la session est signalée comme 'Séparée’ o 'Attaché’ selon si vous êtes toujours connecté à elle quelque part ou non.

Parfois, vous voudrez peut-être 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 activées 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 de haut en bas, mais n'est pas.

À sa place, vous pouvez utiliser une combinaison de touches CTRL + ESC pour activer le mode copie (même si une copie réelle n'est pas faite si vous faites simplement défiler), et maintenant ta souris, ainsi que les touches curseur haut standard / ci-dessous fonctionnera correctement. Quand j'ai fini de chercher (et / ou copiez si vous voulez, par exemple, avec la souris en sélectionnant et en copiant comme d'habitude), il suffit d'appuyer à nouveau sur la touche ESC pour annuler le mode copie.

Parfois, un programme exécuté à 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 d'une situation de disque. Si ça arrive, l'écran affichera comme ' Dead’ dans le screen -list production:

Une session échouée de l'écran GNU

A un tel point, nous pouvons supprimer la session d'écran mort en émettant un screen -wipe commander:

Une session d'écran GNU supprimée

Dans ce billet, nous explorons comment installer l'utilitaire d'affichage GNU, comment démarrer une nouvelle session d'écran virtuel en l'utilisant et comment se déconnecter et rejoindre une session d'écran existante. En conclusion, nous verrons comment naviguer au sein des sessions écran, ainsi que comment gérer les sessions d'écran mort.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.