Tutoriel tmux : Comprendre ce que c’est, comment l’installer et l’utiliser

Tmux est un outil qui permet aux utilisateurs de créer plusieurs sessions virtuelles de terminal dans leur système, chacune exécutant un processus individuel. Il fonctionne de manière similaire à d’autres multiplexeurs tels que GNU Screen, mais offre des fonctionnalités de gestion des fenêtres améliorées.

En plus d’améliorer la collaboration entre les tâches, tmux permet aux utilisateurs de maintenir des processus de longue durée en arrière-plan et de sauvegarder l’état du terminal après la déconnexion. Cet outil convient donc à la gestion d’un système distant tel qu’un serveur privé virtuel (VPS).

Dans cet article, nous allons passer en revue tout ce que vous devez savoir sur l’utilisation de tmux. Cela inclut le processus d’installation, les raccourcis clavier, les cas d’utilisation courants et les avantages par rapport au terminal traditionnel.

Télécharger le cheatsheet complet de tmux

Tmux est un multiplexeur de terminal qui vous permet de créer plusieurs sessions shell dans votre système, chacune exécutant un processus distinct. Il conserve les tâches en cours d’exécution en arrière-plan, ce qui permet aux utilisateurs de poursuivre leur travail plus tard.

Tmux vous permet de créer plusieurs sessions Terminal pour une collaboration efficace. Pour améliorer votre flux de travail, vous pouvez également modifier les paramètres via le fichier tmux.conf.

Comment installer tmux

Pour configurer tmux, connectez-vous à votre système distant en tant que root à l’aide d’un client SSH tel que PuTTY. Les utilisateurs de l’hébergement VPS d’Hostinger peuvent trouver les identifiants sous l’onglet Accès SSH dans la page Aperçu général du VPS de hPanel.

Une fois connecté, assurez-vous de passer à un autre superuser, car l’exécution de commandes erronées à l’aide de l’utilisateur root peut entraîner de graves problèmes :

su username

Avant d’installer tmux, mettez à jour le référentiel de paquets de votre système. Cette commande diffère d’un système d’exploitation Linux à l’autre. A titre d’exemple, voici comment procéder sous Ubuntu :

sudo apt update

Ensuite, lancez la commande Linux suivante pour installer tmux :

sudo apt install tmux

Ajustez la commande en fonction du gestionnaire de paquets de votre système. Par exemple, CentOS utilise yum ou dnf au lieu d’apt

Une fois le processus d’installation de tmux terminé, vérifiez s’il est correctement configuré en interrogeant la version :

tmux -V

Si votre terminal renvoie le numéro de version, tmux est correctement installé. Sinon, il renverra l’erreur « command not found« .

Dans tmux, vous pouvez diviser le terminal en sessions, fenêtres et volets. Il s’agit de shells dédiés et isolés dans lesquels vous pouvez exécuter des commandes ou des processus sans affecter les autres.

La seule différence est leur structure hiérarchique, qui fournit une modularité pour une organisation efficace des tâches. Une session est un ensemble de fenêtres, tandis que les volets sont des subdivisions d’une fenêtre unique. 

Raccourcis clavier de tmux

Les raccourcis clavier de tmux sont essentiels pour la gestion des fenêtres et des volets. Voici quelques-unes des combinaisons de touches les plus utiles et leurs fonctions :

  • Ctrl-b + d – se détacher de la session en cours.
  • Ctrl-b + % – divise une fenêtre en deux volets, l’un supérieur et l’autre inférieur.
  • Ctrl-b +  » – divise une fenêtre en deux volets verticalement.
  • Ctrl-b + flèche – permet de changer de volet dans une direction donnée.
  • Ctrl-b + x – fermer le volet en cours.
  • Ctrl-b + c – créer une nouvelle fenêtre.
  • Ctrl-b + n – passer à la fenêtre suivante en fonction du numéro.
  • Ctrl-b + p – retour à la fenêtre précédente.
  • Ctrl-b + numéro d’identification – permet d’accéder à une fenêtre spécifique à l’aide du numéro d’identification.
  • Ctrl-b + : – ouvre le mode ligne de commande.
  • Ctrl-b + ? – imprimer tous les raccourcis.
  • Ctrl-b + w – liste toutes les fenêtres de la session en cours.

Notez que les raccourcis tmux ne fonctionnent que dans une session tmux. Plus important encore, pour que les raccourcis clavier fonctionnent, vous devez appuyer sur Ctrl-b avant la touche que vous voulez utiliser, comme illustré ci-dessus.

Comment utiliser tmux

Voyons comment les administrateurs système peuvent utiliser le multiplexeur pour un flux de travail efficace en ligne de commande. Vous apprendrez à démarrer des sessions tmux, à créer des fenêtres multiples, à diviser les volets et à personnaliser les paramètres.

Démarrer une nouvelle session

Pour démarrer tmux et créer votre première session, exécutez l’une des commandes suivantes dans la fenêtre principale du terminal :

tmux 
tmux new
tmux new-session

Notez que vous devez exécuter ces commandes dans la fenêtre principale du terminal. Bien que vous puissiez en créer une nouvelle dans une session existante, cela n’est pas recommandé et nécessite de désactiver la variable d’environnement $TMUX. 

Par défaut, une nouvelle session tmux utilise un numéro d’identification. Cependant, vous pouvez donner un nom personnalisé en utilisant l’option -s :

tmux new-session -s [name]

Séances de détachement et d’attachement

Après avoir créé une nouvelle session, vous y serez automatiquement attaché. Pour vous détacher et quitter le client tmux, appuyez sur Ctrl-b + d. 

Pour vous rattacher à la session la plus récente, utilisez la commande tmux attach-session. Vous pouvez également revenir à un shell spécifique en entrant :

tmux attach-session -t [session-name]

Vous pouvez également vous rattacher à une session cible spécifique en utilisant son numéro d’identification. Puisque tmux démarre la commande à partir de 0 par défaut, entrez ce qui suit pour accéder au premier shell :

tmux attach-session -t 0

Gestion des sessions

Pour dresser la liste de toutes les sessions actives, exécutez l’une des commandes tmux suivantes. Vous pouvez le faire dans le shell principal ou virtuel :

tmux list-sessions
tmux ls

Votre interface de ligne de commande affichera toutes les sessions avec des détails tels que leur nom, leur identifiant, le nombre de fenêtres et la date de création. Vous verrez également à quelle session vous êtes actuellement attaché.

Si vous êtes actuellement dans une session de terminal virtuel, vous pouvez passer à une autre session à l’aide de la commande suivante. Comme pour le rattachement, utilisez le nom ou le numéro d’identification :

tmux switch -t [session-name-or-id]

Pour mettre fin à la session en cours, entrez exit ou appuyez sur Ctrl-d. Entre-temps, exécutez cette commande si vous souhaitez fermer une session spécifique :

tmux kill-session -t [session-name-or-id]

Attention ! Utilisez le raccourci ou la commande de terminaison avec prudence car la session tmux supprimée disparaît définitivement.

.

Création et navigation dans les fenêtres

Votre nouvelle session tmux sera une fenêtre de terminal unique par défaut. Pour la diviser en deux, appuyez sur Ctrl-b + c. La nouvelle fenêtre s’affichera dans la barre d’état inférieure avec son nom et son numéro d’identification.

La fenêtre tmux en cours est marquée d’un astérisque (*). Vous pouvez passer à la fenêtre suivante en appuyant sur Ctrl-b + n ou revenir à la fenêtre précédente en utilisant Ctrl-b + p

Au lieu de passer d’une fenêtre de terminal à l’autre, vous pouvez accéder directement à une fenêtre spécifique en appuyant sur Ctrl-b + numéro d’identification. Par exemple, appuyez sur Ctrl-b + 0 pour revenir à la première fenêtre.

Renommer et organiser les fenêtres

Par défaut, tmux crée une nouvelle fenêtre appelée bash ou sh. Si vous avez de nombreux processus, il peut être difficile de les distinguer, ce qui complique la gestion des tâches.

Attribuez aux nouvelles fenêtres tmux un nom personnalisé pour faciliter leur identification. Pour ce faire, naviguez jusqu’à celle que vous souhaitez renommer et appuyez sur Ctrl-b + : pour entrer dans le mode de commande tmux. Exécutez ensuite la commande suivante :

rename-window window-name

Remplacez window-name par le nom de votre choix. Vous devriez voir les informations sur la nouvelle fenêtre dans la barre d’état inférieure de la session changer.

Diviser les fenêtres en volets

Pour organiser une tâche plus spécifique, divisez une fenêtre en plusieurs volets. Appuyez sur Ctrl-b +  » pour la diviser horizontalement ou verticalement en utilisant Ctrl-b + %.

Vous pouvez répéter les raccourcis de séparation des fenêtres pour diviser les vitres en zones de travail plus petites. Par exemple, voici à quoi ressemblera votre fenêtre actuelle après l’avoir séparée trois fois.

Navigation et redimensionnement des volets

Pour naviguer entre les volets, appuyez sur Ctrl-b + une touche fléchée selon la direction souhaitée. Votre position actuelle est mise en évidence par un cadre vert. 

Vous pouvez également passer au volet suivant en appuyant sur Ctrl-b + o, ou revenir au volet précédent en utilisant le raccourci Ctrl-b + ;.

Par défaut, la division d’une fenêtre crée deux volets de taille identique. Pour modifier la dimension, appuyez sur Ctrl-b et maintenez Alt et le bouton de la flèche en fonction de la direction du redimensionnement.

Appuyez sur les touches haut et bas pour modifier la hauteur. Pendant ce temps, utilisez la flèche droite ou gauche pour ajuster la largeur.

Notez que vous ne pouvez modifier la taille qu’une seule fois par pression de touche. Si vous souhaitez réduire deux fois la taille d’un volet, vous devez répéter le raccourci Ctrl-b + Alt-gauche.

Fermeture des volets

Pour fermer un volet, naviguez jusqu’à celui que vous souhaitez fermer, puis appuyez sur Ctrl-b + &. Nous vous recommandons toutefois d’éviter cette méthode, car l’absence de message de confirmation la rend susceptible d’être supprimée accidentellement.

Au lieu de cela, appuyez sur Ctrl-b + x pour fermer un volet en toute sécurité. Une fenêtre de vérification s’affiche alors, que vous devez confirmer en appuyant sur Y et sur Entrée.

L’arrêt des volets n’affectera pas les tâches des autres sessions. N’oubliez pas non plus que ce processus est irréversible.

Personnaliser tmux

Tmux vous permet de créer un fichier de configuration auquel vous pouvez ajouter du code pour personnaliser son apparence et son comportement. En fonction de la portée, il peut être local ou global.

Le fichier local s’applique à un utilisateur spécifique et se trouve dans le répertoire bash par défaut du compte. Exécutez la commande suivante pour le créer :

sudo touch ~/.tmux.conf

La configuration globale, quant à elle, s’applique à l’ensemble du système et se trouve dans le répertoire /etc. Voici comment en créer une :

sudo touch /etc/tmux.conf

Pour ajouter le code de configuration, ouvrez le fichier à l’aide d’un éditeur de texte comme Nano. Vous pouvez modifier de nombreux paramètres, y compris l’apparence et les raccourcis. Consultez notre tutoriel sur la personnalisation de tmux pour en savoir plus sur les options de personnalisation.

Par exemple, l’extrait suivant modifie la combinaison de touches de préfixe par défaut de Ctrl-b en Ctrl -a :

# Change prefix from 'Ctrl+B' to 'Ctrl+A'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

En outre, vous pouvez modifier le numéro d’identification de départ. Par exemple, le code de configuration tmux suivant le fait passer de 0 à 1

# Start counting pane and window number at 1
set -g base-index 1
setw -g pane-base-index 1

Pour enregistrer les modifications, appuyez sur Ctrl+X, Y et Entrée

Pourquoi utiliser Tmux

Dans un terminal Linux traditionnel, les utilisateurs ne peuvent travailler que sur une seule tâche par session et ne peuvent pas poursuivre leur progression après s’être déconnectés. Tmux aide à résoudre ce problème en offrant les avantages suivants : 

  • Gestion des tâches et des sessions. Les administrateurs système peuvent créer plusieurs sessions pour regrouper les tâches. Ils peuvent également lier des fenêtres, en répliquant un processus sur un autre pour plus de cohérence. 
  • Multitâche. Les utilisateurs peuvent se détacher d’une session et se reconnecter à l’endroit où ils se sont arrêtés. Cela permet un travail multitâche efficace puisqu’ils peuvent travailler sur plusieurs tâches de manière transparente.
  • Travail à distance. Le serveur tmux préserve tous les processus en cours, même lorsque l’utilisateur se déconnecte. Il vous permet de travailler de manière fiable sur un système distant comme un VPS sans vous soucier de la connexion SSH. 
  • Processus de longue durée. Les processus dans tmux resteront actifs jusqu’à ce que l’utilisateur y mette fin. Cette fonctionnalité est utile pour des tâches telles que l’enregistrement d’événements ou le déploiement d’une application.

Conclusion

Tmux est un multiplexeur qui vous permet de créer plusieurs sessions shell dans votre système. Ces pseudo-terminaux peuvent exécuter un processus dédié, qui reste actif même après que vous vous soyez déconnecté de la machine.

Après avoir installé l’outil, exécutez la commande tmux pour créer une session et vous y attacher automatiquement. Détachez-la en exécutant attach-session -t et terminez-la en entrant exit. Pour obtenir la liste de toutes les sessions, utilisez tmux ls.

Vous pouvez diviser une session tmux en plusieurs fenêtres en appuyant sur Ctrl-b + c. Passez d’une fenêtre à l’autre en utilisant Ctrl-b + n ou p. Ces fenêtres seront appelées bash ou sh par défaut, mais vous pouvez les renommer avec la commande rename-window.

Pour diviser la zone de travail en instances plus petites appelées volets, appuyez sur Ctrl-b +  » ou %, selon l’orientation. Vous pouvez personnaliser davantage tmux en modifiant le fichier de configuration ~/.tmux.conf.

tmux – FAQ

Pour vous aider à approfondir votre compréhension, cette section répondra à plusieurs questions fréquemment posées à propos de tmux. 

Quels sont les avantages de l’utilisation de tmux ?

Les administrateurs système peuvent créer plusieurs sessions tmux pour organiser les tâches et collaborer plus efficacement. Ils peuvent également maintenir les processus en cours d’exécution en arrière-plan, même après une déconnexion.

Grâce à tmux, le travail à distance devient également plus efficace puisque les utilisateurs peuvent reprendre là où ils se sont arrêtés en cas de problèmes de connectivité.

Quelle est la différence entre tmux et screen ?

Tmux présente plusieurs améliorations par rapport à GNU Screen. Par exemple, il offre davantage de fonctionnalités de gestion des fenêtres, comme le renommage et l’établissement de liens.

Tmux offre également plus d’options de configuration, ce qui vous permet d’adapter l’outil à vos besoins spécifiques. En outre, ce multiplexeur de terminal utilise un langage de script natif plus souple.

Puis-je personnaliser l’apparence et le comportement de tmux ?

Oui. Vous pouvez personnaliser tmux pour l’utilisateur actuel en ajoutant du code de configuration au fichier ~/.tmux.conf. Pour des modifications à l’échelle du système, utilisez plutôt le fichier /etc/tmux.conf.

Par exemple, vous pouvez recolorer l’arrière-plan de la fenêtre, modifier le numéro d’identification de départ et ajouter un nouveau raccourci clavier.

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.