Linux mascot using a laptop with some multiplexer terminals around it.
Agence web » Actualités du digital » Les multiplexeurs terminaux expliqués et pourquoi vous en utiliseriez un

Les multiplexeurs terminaux expliqués et pourquoi vous en utiliseriez un

Résumé

  • Les multiplexeurs de terminaux vous permettent d'exécuter plusieurs commandes dans différentes bornes virtuelles dans un seul terminal.

  • Les multiplexeurs comme TMUX vous permettent d'exécuter des commandes sur des connexions distantes sans perdre de progression en raison des interruptions de réseau.

  • Les options populaires incluent l'écran GNU, TMUX et BYOBU.

Si vous travaillez sur des séances Linux éloignées, vous avez probablement ressenti la douleur de votre connexion baisser au milieu d'une opération longue. Ou vous pouvez exécuter plus d'une session sur une seule connexion SSH. Un multiplexeur terminal peut être ce que vous recherchez.

Qu'est-ce qu'un multiplexeur terminal?

Un multiplexeur de terminal est un utilitaire qui vous permet de « multiplex » un terminal ou d'utiliser un terminal comme s'il s'agissait de plusieurs bornes. Il est similaire à plusieurs fenêtres de terminal ou bornes à onglets, mais dans un terminal. Sur les ordinateurs modernes, c'est généralement dans un émulateur de terminal Linux, mais le concept remonte au moment où le principal moyen d'utiliser les ordinateurs était de terminales de texte dédiées.

Un multiplexeur de terminal vous permet d'exécuter des commandes dans un terminal virtuel tout en passant à un autre terminal pour exécuter d'autres commandes.

Pourquoi utiliser un multiplexeur de terminal?

Les machines modernes étant en mesure d'exécuter plusieurs fenêtres de terminal ou d'utiliser des terminaux à onglets, et les deux en même temps, pourquoi vous soucieriez-vous avec un multiplexeur de terminal?

Si vous avez déjà été connecté à une machine distante, comme un serveur Web ou peut-être même votre propre serveur de laboratoire domestique, et avez subi un problème de réseau, vous pouvez voir l'avantage d'un multiplexeur de terminal. Au cours d'une session SSH régulière, vous constaterez que même après le retour du réseau, SSH ignorera vos touches. Vous devrez résilier et redémarrer votre connexion SSH. Si vous étiez au milieu d'une opération complexe, comme la mise à jour des packages ou l'installation de logiciels, vous devrez recommencer à zéro. SSH a été conçu pour les connexions câblées.

Des outils comme Mosh peuvent éliminer une grande partie de ce problème, mais les multiplexeurs terminaux brillent sur des connexions distantes. Vous pouvez commencer une session, et si la connexion se casse, vous pouvez vous reconnecter et y revenir, comme si de rien n'était. Vous pouvez commencer un long processus, le détacher, aller faire autre chose, rattacher et ramasser là où vous vous êtes arrêté. Vous pouvez conserver une session sur une machine distante, et détacher et rattacher aussi longtemps que vous le souhaitez. Tant que le serveur n'a pas été redémarré et que votre session reste en place, vous pouvez en plonger et en sortir autant que vous le souhaitez.

Si vous avez déjà été sur l'IRC et que vous vous êtes demandé pourquoi certains utilisateurs ne se sont jamais déconnectés, ce n'est pas parce qu'ils ne dormaient pas en quelque sorte, ne vont pas travailler, l'école ou d'autres choses. Ok, peut-être qu'ils ne vont pas fonctionner ou classe, mais la principale façon dont ils restent connectés est d'exécuter un multiplexeur de terminal sur un serveur Shell quelque part. Ceci est connu sous le nom de «ralenti», de rester connecté à l'IRC sans rien dire.

En rapport

Vous pouvez utiliser Internet à l'ancienne Unixy Way avec des comptes Shell

Revivez Internet au début des années 90.

L'autre raison évidente est d'avoir plusieurs fenêtres terminales. Encore une fois, il s'agit d'une capacité qui devient utile sur les connexions distantes, car la plupart des personnes exécutant Linux sur le bureau utiliseront généralement un système de fenêtres comme X11 ou Wayland qui leur permet déjà d'exécuter plusieurs fenêtres terminales. Dans une pincée, ils peuvent utiliser des consoles virtuelles pour exécuter des séances de ligne de commande à écran complet.

Sans un multiplexeur de terminal installé sur la machine distante, les seules façons de transformer la SSH sont d'utiliser le contrôle du travail ou d'ouvrir plusieurs connexions. Le premier peut être lourd, tandis que le second a besoin de plus de ressources. Il est plus logique d'utiliser la même connexion lorsque vous le pouvez. Si vous devez exécuter une commande et vous référer à la page manuelle, vous pouvez avoir le shell dans une fenêtre et la page manuelle dans une autre. De nombreux multiplexeurs terminaux vous permettront d'afficher plusieurs fenêtres sur le même écran. C'est similaire à l'utilisation d'un gestionnaire de fenêtres en carrelage.

Les multiplexeurs terminaux sont les meilleurs si vous travaillez beaucoup sur des machines distantes, comme un serveur Web, un compte Shell ou un serveur de laboratoire domestique. Si vous utilisez principalement une machine de bureau, vous feriez mieux d'utiliser plusieurs fenêtres de terminal ou des terminaux à onglets. Si vous souhaitez que vos fenêtres terminales disposent soigneusement, envisagez d'utiliser un gestionnaire de fenêtres en carrelage.

Il existe plusieurs multiplexeurs terminaux que vous pouvez utiliser sur votre système Linux.

Écran GNU: Il s'agit de l'un des multiplexeurs terminaux les plus anciens, antérieurs à Linux. L'écran GNU existe depuis 1987. Même dans les années 80, avec la croissance des postes de travail, beaucoup de gens étaient toujours coincés sur les terminaux basés sur les personnages. L'écran a facilité la vie pour bon nombre de ces utilisateurs avec la possibilité de diviser l'écran exigu en plusieurs fenêtres terminales. Il a également introduit l'idée de détacher et de rattacher des séances.

C'était une aubaine pour les personnes qui ont composé des systèmes éloignés sur les modems. Bien que je n'utilisais jamais les comptes Shell à leur apogée, je me souviens des jours de réseautage de numérotation, et c'était ennuyeux quand mon modem était sur une ligne partagée et que quelqu'un a ramassé le récepteur.

L'écran GNU était largement incontesté jusqu'à ce qu'il obtienne des concurrents au 21e siècle.

TMUX: Développé à l'origine dans le cadre du projet OpenBSD, il semble avoir volé le tonnerre de l'écran GNU en tant que multiplexeur de premier terminal, étant porté vers presque tous les systèmes de type Unix existant.

BYOBU: Byobu était à l'origine une fourche d'écran GNU créée pour Ubuntu. Le nom vient d'un mot japonais pour un écran décoratif pliant. Fidèle à l'utilisation moderne des multiplexeurs terminaux pour les systèmes distants, il a été principalement conçu pour une utilisation sur les serveurs Ubuntu. Au fil du temps, Byobu est passé à améliorer principalement TMUX au lieu de l'écran GNU.

Comment utilisez-vous un multiplexeur de terminal?

Avant d'utiliser un multiplexeur de terminal, vous devez l'installer. Je vais démontrer l'utilisation de TMUX, car il se trouve que ce soit mon multiplexeur terminal de choix.

En rapport

Comment utiliser TMUX sur Linux (et pourquoi c'est mieux que l'écran)

La commande Linux TMUX est-elle vraiment meilleure que l'écran? Nous l'avons donné pour découvrir.

TMUX est largement disponible pour la plupart des principaux gestionnaires de packages de distribution Linux. J'utiliserai Debian / Ubuntu comme exemple:

        
sudo apt install tmux

Maintenant que j'ai installé TMUX, je peux le lancer à partir de la ligne de commande:

        
tmux

Dans TMUX, j'ai une autre session Shell. Je peux entrer des commandes dedans comme si j'étais dans une session de shell ordinaire. Je peux émettre des commandes à TMUX avec le préfixe Ctrl + B. Pour créer une autre fenêtre de terminal, j'utilise Ctrl + B, puis appuyez sur c. Cela ouvrira une autre fenêtre de terminal dans TMUX et y passera. Les fenêtres actuelles sont répertoriées dans le coin inférieur gauche de la fenêtre du terminal sur la barre d'état. Pour basculer entre Windows, je peux à nouveau appuyer sur Ctrl + B, suivi du numéro de la fenêtre à laquelle je souhaite déplacer.

Je peux également diviser une fenêtre actuelle pour avoir plus de sessions terminales. Pour diviser la fenêtre horizontalement, je peux appuyer sur Ctrl + B suivi d'un « (double citation), et pour le diviser verticalement, je vais appuyer sur Ctrl + B suivi d'une clé de% (pour cent). Les séances de chaque fenêtre sont connues sous le nom de » volets « dans TMUX. Je peux basculer entre les pannes avec le Ctrl + B suivi par un O) et échanger les positions de pane avec Ctrl + B suivi par un O) et un O).

Pour détacher une session, je peux appuyer sur Ctrl + B suivi d'un d. Pour Rattach après l'avoir détaché, je vais taper ceci à l'invite

        tmux attach
    

Je peux copier et coller entre les séances en allant dans le « mode de copie », mais la plupart du temps, j'utiliserai les fonctions de copie et de coller natives dans mon système de fenêtre.


Les multiplexeurs de terminaux peuvent être obscurs, mais si vous utilisez largement les machines Linux distantes, ils peuvent être utiles pour diviser une session de terminal en plusieurs terminaux et rester connecté à votre serveur même si votre connexion est à l'extérieur. Choisir un multiplexeur de terminal comme TMUX peut rendre vos séances en ligne plus utiles et encore plus amusantes.

★★★★★