Le mul­ti­plexeur de terminaux tmux permet de tra­vail­ler en mul­ti­tâche avec les lignes de commande de la dis­tri­bu­tion Linux de votre choix. Avec tmux, il est possible de créer, traiter, séparer ou fusionner plusieurs sessions si­mul­ta­né­ment dans un seul et même terminal.

Le système d’ex­ploi­ta­tion Linux fait partie, avec Windows et macOS, des dis­tri­bu­tions les plus po­pu­laires. Il est en plus open source et donc gratuit. De nom­breuses dis­tri­bu­tions Linux type Ubuntu, Debian ou Linux Mint se gèrent par ligne de commande – soit des commandes Linux dans le terminal. Pour tra­vail­ler dans plusieurs sessions de console en parallèle dans un seul terminal, on utilise un mul­ti­plexeur de terminal comme GNU screen ou tmux.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

tmux, c’est quoi ?

Le mul­ti­plexeur de terminaux open source tmux a été développé par Nicholas Marriott et publié pour la première fois en 2007. Les fonctions de tmux sont si­mi­laires à celles du mul­ti­plexeur de terminal GNU screen : les deux per­met­tent de tra­vail­ler avec plusieurs fenêtres de console dans une seule session de terminal, de les diviser ou de les séparer en fenêtres dis­tinctes pendant que vous écrivez un script shell. Il est aussi possible de tra­vail­ler en équipe sur un projet, dans l’idéal avec un client Secure Shell (SSH) dans des sessions distantes.

Avec tmux, on utilise sa dis­tri­bu­tion Linux en sai­sis­sant des lignes de commande, qu’il s’agisse de commandes pour l’at­tri­bu­tion des droits d’accès avec chmod ou de la commande "shutdown -h" pour un shutdown de Linux. Si tmux dans Ubuntu, Debian et consorts ne pose pas de problème, tmux sous Windows ne fonc­tionne que via WSL ou WSL2 (Windows Subsystem pour Linux 2). L’interface WSL2 permet aussi d’utiliser des ap­pli­ca­tions et outils Linux dans Windows.

Conseil

Quel hébergeur pour vos projets Linux ? Avec l’hé­ber­ge­ment Linux de IONOS, profitez de tarifs flexibles, de per­for­mances évo­lu­tives et flexibles, d’un cer­ti­fi­cat SSL, de la pro­tec­tion DDoS et de HTTP/2.

Comment fonc­tionne tmux

Après le té­lé­char­ge­ment des paquets officiels Linux et l’ins­tal­la­tion, tmux se lance sim­ple­ment dans le terminal avec la commande « tmux ». Le mul­ti­plexeur de terminal tmux s’utilise via le terminal classique, après s’être assuré des con­di­tions suivantes :

  • Dis­tri­bu­tion Linux ou système basé sur Linux ;
  • Profil uti­li­sa­teur avec des droits d’admin ;
  • Accès au terminal et aux commandes ou rac­cour­cis clavier.

Le travail dans tmux se distingue par ses sessions de terminal, fenêtres et panneaux (aussi appelés panes dans la ter­mi­no­lo­gie tmux) :

  • Sessions de terminal : pour exécuter tâches et commandes et utiliser la dis­tri­bu­tion Linux ;
  • Fenêtres : tmux permet de tra­vail­ler en parallèle avec plusieurs fenêtres dans une même session pour exécuter sé­pa­ré­ment des tâches spé­ci­fiques ;
  • Panneaux (ou panes) : ces fenêtres peuvent se diviser en dif­fé­rentes zones (panes ou « panneaux »), par exemple pour exécuter des journaux d’erreurs pendant que vous effectuez d’autres tâches dans la même fenêtre.

L’uti­li­sa­tion de tmux se fait par commandes en ligne ou rac­cour­cis clavier. Voici les commandes et les rac­cour­cis clavier les plus im­por­tants,

Commandes tmux

Ins­tal­la­tion de tmux sous Linux via le ges­tion­naire de paquets officiel Linux :

apt-get install tmux

Ins­tal­la­tion de tmux sous Ubuntu et Debian :

sudo apt-get install tmux

Lancer tmux :

tmux

Lancer et nommer une nouvelle session tmux :

tmux new -s [nom_session]

Terminer une session tmux :

exit

Se re­con­nec­ter à la dernière session tmux :

tmux a -t [nom_session]

ou

tmux a #

Afficher toutes les sessions tmux (nom et nombre de fenêtres ouvertes)

tmux 1s

Ajuster les panneaux avec [Ctrl] + [B] + [:] et resize-pane

Lorsque vous divisez une fenêtre en panneaux, il est possible de con­fi­gu­rer leur taille comme vous le souhaitez. Pour ce faire, appuyez d’abord sur la com­bi­nai­son de touches [Ctrl] + [B] + [:] et per­son­na­li­sez la taille des panneaux sous tmux avec les commandes suivantes :

  • resize-pane -D : déplacer le sé­pa­ra­teur vers le bas (« Downwards ») ;
  • resize-pane -U : déplacer le sé­pa­ra­teur vers le haut (« upwards ») ;
  • resize-pane -R : déplacer le sé­pa­ra­teur vers la droite ;
  • resize-pane -L : déplacer le sé­pa­ra­teur vers la gauche.

Il est aussi possible de déplacer le sé­pa­ra­teur autour de cellules pré­dé­fi­nies – ce qui modifie tous les panneaux de la fenêtre :

  • resize-pane -U 10 : déplacer le sé­pa­ra­teur 10 cellules vers le haut ;
  • resize-pane -t 2 -R 5: déplacer le sé­pa­ra­teur 5 cellules vers la droite.

Maximiser et minimiser les panneaux (après raccourci clavier [Ctrl] + [B] + [:])

resize-pane -Z

Dé­ta­che­ment (« detach ») d’une session existante (le cas échéant avec nom de session)

tmux detach

Attacher (« attach ») à une session existante (le cas échéant avec nom de session)

tmux attach

Rac­cour­cis clavier tmux

À part l’exécution des lignes de commandes et des scripts, il est possible d’utiliser les commandes de tmux à l’aide de rac­cour­cis clavier. Pour lancer une commande via un raccourci clavier, appuyez sur [Ctrl] + [B]. Les saisies suivantes dé­clenchent l’action souhaitée. Voici les rac­cour­cis les plus im­por­tants.

Commandes de session :

  • S : afficher toutes les sessions et basculer d’une session à l’autre ;
  • $ : renommer la session actuelle ;
  • D : détacher la session existante (« detach ») et la déplacer en arrière-plan ;
  • ? : afficher les rac­cour­cis clavier ac­tuel­le­ment actifs (ouvrir l’aide).

Commandes pour les fenêtres :

  • C : créer/ouvrir une nouvelle fenêtre ;
  • W : lister toutes les fenêtres exis­tantes, basculer d’une fenêtre à l’autre ;
  • L : aller à la dernière fenêtre utilisée ;
  • P : passer à la fenêtre pré­cé­dente dans l’ordre chro­no­lo­gique ;
  • N : passer à la fenêtre suivante dans l’ordre chro­no­lo­gique ;
  • , : renommer la fenêtre actuelle ;
  • & : quitter la fenêtre actuelle (confirmer avec « y ») ;
  • 1, 2, 3, (etc.) : aller à la fenêtre n°X ;
  • [ : Utiliser le mode de dé­fi­le­ment (dé­fi­le­ment avec les flèches dans la fenêtre actuelle).

Commandes pour les panneaux :

  • X : fermer le panneau actuel ;
  • % : diviser le panneau actuel ver­ti­ca­le­ment (création d’un second panneau dans la fenêtre) ;
  • " : diviser le panneau actuel ho­ri­zon­ta­le­ment (création d’un second panneau dans la fenêtre) ;
  • Flèches (gauche, droite, haut, bas) : naviguer entre les panneaux ;
  • H : aller au panneau de gauche ;
  • I : aller au panneau de droite ;
  • J : aller au panneau en-dessous ;
  • K : aller au panneau au-dessus ;
  • Q : afficher le nombre de panneaux ;
  • O : naviguer entre les panneaux (chro­no­lo­gique) ;
  • } : échanger le panneau actuel avec le suivant ;
  • { : échanger le panneau actuel avec le précédent ;
  • Espace : alterner entre les zones des panneaux ;
  • ! : détacher le panneau actuel et l’ouvrir dans une nouvelle fenêtre.

tmux : guide d’ins­tal­la­tion et d’uti­li­sa­tion pas à pas

Voici les étapes à suivre pour installer et utiliser tmux :

Étape 1 : installez le mul­ti­plexeur de terminal à partir des sources of­fi­cielles de paquets Linux avec la commande d’ins­tal­la­tion de paquets apt-get install tmux

Sous Debian ou Ubuntu, utilisez le com­plé­ment « sudo » : sudo apt-get install tmux

Étape 2 : lancez tmux en tapant « tmux » dans le terminal. Au démarrage s’affiche en bas un état avec le nom d’hôte (username@host-server), l’heure et la date. En bas à gauche s’affichent le nom de la session (le cas échéant) et le nombre de fenêtres dans le format suivant « [0] 0:bash* ». La première fenêtre porte la dé­sig­na­tion « 0 ». Si un processus est en cours d’exécution dans la fenêtre, il est affiché après le 0 (par exemple « 0:bash* »).

Étape 3 : utilisez tmux avec des lignes de commande ou des rac­cour­cis clavier. In­tro­dui­sez chaque commande ou raccourci clavier par [Ctrl] + [B] (ou par [Ctrl] + [B] + [:] lors de la con­fi­gu­ra­tion des panneaux).

Étape 4 : démarrez une nouvelle session nommée en utilisant la commande « tmux new -s ». Après « -s », saisissez le nom souhaité pour la session. Si vous souhaitez démarrer une session sans nom de session, tapez sim­ple­ment « tmux ».

Étape 5 : pour mettre fin à une session, tapez la commande « exit » ou utilisez le raccourci clavier [Ctrl] + [D].

Étape 6 : pour ouvrir une nouvelle fenêtre dans la session, appuyez sur [C]. Pour démarrer une nouvelle deuxième session parallèle à la première, utilisez à nouveau la commande « tmux new -s [nom_session] ». L’in­di­ca­teur d’état en bas indique la session dans laquelle vous vous trouvez.

Étape 7 : pour diviser une fenêtre en panneaux (ou zones de fenêtre), appuyez sur [%] pour sé­pa­ra­teur vertical ou sur ["] pour un sé­pa­ra­teur ho­ri­zon­tal. Naviguez ensuite entre les panneaux à l’aide des flèches.

Étape 8 : pour vous dé­con­nec­ter d’une session sans arrêter les processus en cours, utilisez la commande « tmux detach ». La session ainsi que les processus en cours con­ti­nuent de fonc­tion­ner en arrière-plan. Pour reprendre la session, re­con­nec­tez-vous à l’aide de la commande « tmux attach ».

À quoi sert tmux ?

Comme le mul­ti­plexeur de terminaux GNU screen, tmux permet de tra­vail­ler en parallèle dans plusieurs sessions et fenêtres dans le terminal d’une dis­tri­bu­tion Linux, ainsi que de diviser et de con­fi­gu­rer les fenêtres en plusieurs zones pour du travail mul­ti­tâche. Il est ainsi possible d’exécuter des processus et des pro­grammes en parallèle et d’exécuter dif­fé­rentes commandes en même temps. tmux permet aussi les sessions à distance et le travail en équipe sur un même projet. Il est aussi possible de quitter des processus et des sessions, de les déplacer en arrière-plan et de les reprendre plus tard là où vous les avez laissés.

Conseil

Pour une vir­tua­li­sa­tion complète avec des per­for­mances VPS optimales, choi­sis­sez le VPS de IONOS avec un stockage SAN 100 % SSD : taillé pour les projets exigeants, avec res­sources évo­lu­tives dédiées et un hé­ber­ge­ment Web Plesk en option.

Dif­fé­rences avec GNU screen

À première vue, GNU screen et tmux fonc­tion­nent de manière identique et offrent les mêmes fonctions de premier plan. Par exemple, les commandes et rac­cour­cis clavier de GNU screen sont in­tro­duits par [Ctrl] + [A] au lieu de [Ctrl] + [B]. Autre dif­fé­rence majeure : GNU screen n’affiche pas au­to­ma­ti­que­ment l’état avec le nom de la session en cours dans la partie in­fé­rieure de la fenêtre. Pour afficher l’état dans GNU screen, il faut le con­fi­gu­rer à la main.

Le fait de pouvoir nommer et renommer fa­ci­le­ment les sessions et les fenêtres facilite aussi la vue globale et la na­vi­ga­tion entre les fenêtres/sessions dans tmux. De plus, con­trai­re­ment à GNU screen, le risque de perdre com­plè­te­ment une fenêtre disparaît en la détachant dans tmux pour la déplacer vers l’arrière-plan. Il est facile de récupérer les fenêtres avec une ligne de commande ou un affichage de toutes les fenêtres actuelles.

Conseil

Utilisez la puissance de calcul évolutive d’une machine virtuelle pour créer une in­fras­truc­ture per­for­mante avec un serveur Cloud de IONOS : 100 % de res­sources dédiées pour votre projet, un accès root, un Cloud Panel et des centres de données sécurisés en Europe.

En con­clu­sion : que vaut tmux ?

Renommer des fenêtres et des sessions, afficher l’état et les sessions en bas de la fenêtre – ces petits plus rendent tmux plus convivial et plus clair que GNU screen à l’uti­li­sa­tion. Si vous tra­vail­lez avec plusieurs processus et pro­grammes dans le terminal en même temps et que vous avez besoin d’un mul­ti­tâche aussi simple qu’efficace, tmux est un mul­ti­plexeur de terminal pertinent et gratuit qui mérite le détour.

Aller au menu principal