Ne manquez pas nos offres limitées !

Comment utiliser tmux pour le multitâche dans le terminal

Comment utiliser tmux pour le multitâche dans le terminal

Un multiplexeur de terminal, ou tmux, est un outil de ligne de commande qui vous permet de gérer plusieurs sessions de terminal dans une seule fenêtre. Avec tmux, vous pouvez diviser les volets, créer plusieurs fenêtres et maintenir les sessions actives en arrière-plan.

Le principal avantage de tmux est la persistance. Si votre connexion SSH est interrompue ou si vous fermez accidentellement votre émulateur de terminal, les processus en cours d’exécution dans tmux continuent sur le serveur. Vous pouvez vous reconnecter et reprendre le travail exactement là où vous l’aviez laissé.

Les étapes essentielles pour maîtriser tmux sont les suivantes:

  • Installation. Installez tmux sur votre système Linux et vérifiez la version installée.
  • Gestion des sessions. Démarrer des sessions nommées, se détacher sans arrêter les processus et se rattacher plus tard.
  • Organisation des fenêtres. Créez, renommez et naviguez dans plusieurs fenêtres pour séparer les tâches.
  • Contrôle des volets. Diviser une fenêtre unique en plusieurs sections visibles pour une surveillance simultanée.
  • Personnalisation. Modifier les combinaisons de touches et le comportement dans le fichier .tmux.conf.

Comment utiliser tmux

Pour utiliser tmux, installez d’abord l’utilitaire sur votre serveur, puis démarrez une session à l’aide de la commande tmux.

Une fois dans une session, vous utilisez une touche de préfixe spécifique (Ctrl + B par défaut) combinée à d’autres touches pour effectuer des actions telles que la division de l’écran ou la création de nouvelles fenêtres.

Lorsque vous avez terminé votre travail, mais que vous souhaitez maintenir les processus en cours, vous vous détachez de la session. tmux la maintient active en arrière-plan jusqu’à ce que vous vous y attachiez à nouveau ultérieurement.

Installer tmux

La plupart des distributions Linux n’incluent pas tmux par défaut, vous devez donc généralement l’installer manuellement. Vous devez disposer des privilèges de superutilisateur ou de root pour installer les paquets.

  1. Connectez-vous à votre système distant à l’aide d’un client SSH tel que PuTTY ou de votre terminal local. Les utilisateurs de VPS Hostinger peuvent trouver leurs identifiants de connexion dans la section Aperçu général de hPanel.
  1. Avant d’installer tmux, mettez à jour le référentiel de paquets de votre système pour vous assurer que vous téléchargez la dernière version stable. Exécutez l’une des commandes suivantes, en fonction de votre distribution:
sudo apt update        # Debian et Ubuntu
sudo dnf makecache     # RHEL, CentOS, et Fedora
  1. Une fois la mise à jour terminée, exécutez la commande d’installation appropriée:
sudo apt install tmux  # Debian et Ubuntu
sudo yum install tmux  # RHEL et CentOS
sudo dnf install tmux  # Fedora
  1. Une fois l’installation terminée, confirmez que tmux est installé en vérifiant la version:
tmux -V

Si le terminal renvoie un numéro de version, tel que tmux 3.4 ou plus récent, l’installation a réussi. Si vous voyez une erreur “commande non trouvée”, vérifiez votre PATH ou essayez de réinstaller tmux.

Démarrer une nouvelle session

Vous pouvez démarrer une session tmux en tapant tmux dans la fenêtre principale du terminal. Par défaut, tmux attribue à chaque session un identifiant numérique commençant par 0.

Cette approche fonctionne pour les tâches rapides, mais devient difficile à gérer lorsque vous exécutez plusieurs sessions en même temps.

Nous recommandons de commencer chaque session par un nom personnalisé. Lorsque vous exécutez tmux ls pour lister les sessions, les ID numériques tels que 0, 1 ou 2 fournissent peu de contexte. Des noms descriptifs tels que “backend-deployment” ou “server-logs” permettent de comprendre d’un coup d’œil l’objectif de chaque session.

Pour démarrer une session nommée, utilisez l’option -s suivie du nom de votre choix :

tmux new -s nom-session

Après avoir exécuté cette commande, tmux efface le terminal et affiche une barre d’état en bas de l’écran. Par défaut, la barre apparaît en vert, mais vous pouvez la personnaliser.

La barre d’état confirme que vous êtes dans une session tmux. Il affiche l’interpréteur de commandes actuel (généralement bash ou zsh), le nom de la session et l’heure actuelle.

Détacher et attacher des sessions

L’une des fonctionnalités les plus importantes de tmux est la possibilité de se détacher d’une session. Le détachement fait passer la session en arrière-plan et maintient tous les programmes en cours d’exécution actifs, tout en vous ramenant à l’invite principale de l’interpréteur de commandes.

Cette fonction est utile lorsque vous exécutez de longs processus, tels que des migrations de bases de données, et que vous devez déconnecter votre client SSH, ou lorsque votre connexion internet est instable.

Si la connexion est interrompue de manière inattendue, tmux détache la session au lieu de la terminer.

Pour se détacher d’une session, appuyez sur la touche de préfixe Ctrl + B, relâchez les deux touches, puis appuyez immédiatement sur D. Le terminal affichera un message [detached].

Pour reprendre le travail, il faut se rattacher à la session. Si une seule session est en cours, utiliser:

tmux attach

Si plusieurs sessions sont actives, spécifiez la session cible avec l’option -t:

tmux attach -t nom-session

Vous pouvez également utiliser un ID de session numérique si vous n’avez pas nommé la session, par exemple, tmux attach -t 0. Mais les noms descriptifs sont plus faciles à retenir que les chiffres.

Gérer les sessions

Une gestion efficace des sessions permet d’éviter que votre serveur ne se remplisse de processus d’arrière-plan inutilisés ou de sessions “zombies”. Vérifiez régulièrement les sessions actives pour rester organisé.

Pour obtenir la liste de toutes les sessions tmux actives, exécutez la commande suivante dans votre terminal principal:

tmux ls

La sortie comprend les détails suivants:

  • Nom de la session. L’identifiant que vous avez attribué ou l’identifiant numérique par défaut.
  • Fenêtres. Nombre de fenêtres ouvertes dans la session.
  • Créé. La date et l’heure du début de la session.
  • Attaché. Indique si la session est en cours d’utilisation.

Si vous êtes dans une session tmux, vous pouvez passer à une autre en utilisant la commande suivante. Comme pour le rattachement, indiquez le nom ou l’identifiant de la session :

tmux switch -t nom-session

Lorsque vous avez terminé une tâche et que vous n’avez plus besoin des processus d’arrière-plan, arrêtez la session pour libérer les ressources du système.

Pour mettre fin à la session en cours, tapez exit ou appuyez sur Ctrl + D. Pour mettre fin à une session spécifique sans vous y attacher, utilisez la commande kill-session:

tmux kill-session -t nom-session

Attention ! Utilisez kill-session avec prudence. Cette commande arrête immédiatement tous les processus en cours dans la session. Si vous avez des données non sauvegardées dans un éditeur de texte ou dans une base de données active, vous les perdrez définitivement.

Créer et naviguer dans les fenêtres

Une seule session tmux peut contenir plusieurs fenêtres, comme les onglets d’un navigateur web ou d’une application terminal GUI. Cette configuration vous permet de séparer les différents contextes au sein d’un même projet sans avoir à démarrer une nouvelle session.

Par exemple, un flux de travail typique peut comprendre

  • Fenêtre 0 (éditeur). Utiliser un éditeur de texte tel que vim ou nano.
  • Fenêtre 1 (serveur). Exécution du serveur web ou de l’application.
  • Fenêtre 2 (git). Exécution des commandes Git.

Pour créer une nouvelle fenêtre, appuyez sur Ctrl + B → C. La nouvelle fenêtre apparaît dans la barre d’état au bas de l’écran, marquée d’un nouveau numéro et d’un astérisque (*) pour indiquer qu’elle est active.

Pour naviguer entre les fenêtres:

  • Fenêtre suivante. Appuyez sur Ctrl + B → N.
  • Fenêtre précédente. Appuyez sur Ctrl + B → P.
  • Accéder à une fenêtre spécifique. Appuyez sur Ctrl + B, puis sur une touche numérique de 0 à 9 correspondant à l’ID de la fenêtre.

Renommer et organiser les fenêtres

Par défaut, tmux nomme chaque nouvelle fenêtre d’après le processus actif, généralement bash, sh ou zsh.

Dans une session complexe comportant plusieurs fenêtres, des noms comme “bash” ne permettent pas de savoir quelle fenêtre contient les journaux et quelle fenêtre contient votre éditeur.

Renommer les fenêtres pour refléter leur fonction et faciliter la navigation:

  1. Naviguez jusqu’à la fenêtre que vous souhaitez renommer.
  2. Appuyez sur Ctrl + B → , (virgule).
  3. La barre d’état change de couleur et vous invite à modifier le nom.
  1. Supprimez le nom existant, saisissez-en un nouveau – par exemple, base de données – et appuyez sur Entrée.

Le nom mis à jour apparaît immédiatement dans la barre d’état, ce qui accélère la navigation dans la fenêtre.

Diviser les fenêtres en volets

Les fenêtres permettent de séparer des tâches distinctes, tandis que les volets permettent de diviser une fenêtre unique en plusieurs sections visibles. Cette configuration est idéale pour le travail multitâche lorsque vous devez recouper des informations.

Par exemple, vous pouvez afficher les journaux d’erreurs du serveur en temps réel sur le côté gauche de l’écran et déclencher ces erreurs en exécutant des commandes sur le côté droit.

Utilisez les raccourcis clavier suivants pour diviser le volet en cours:

  • Diviser en volets gauche et droit. Appuyez sur Ctrl + B → Shift + 5 (la touche %).
  • Diviser en volets haut et bas. Appuyez sur Ctrl + B → Shift + ‘ (la touche ).

Vous pouvez combiner ces commandes pour créer des mises en page complexes. Par exemple, divisez d’abord la fenêtre à gauche et à droite, puis divisez le volet droit en deux parties, l’une supérieure et l’autre inférieure.

Cela crée un grand volet à gauche et deux volets plus petits à droite.

Important ! La terminologie tmux peut être contre-intuitive. La touche % crée une séparation verticale, ce qui permet d’obtenir des volets côte à côte. En revanche, crée un séparateur horizontal, ce qui permet d’empiler les volets.

Naviguer et redimensionner les volets

Une fois que vous avez divisé une fenêtre, les commandes saisies n’affectent que le volet actif, qui est entouré d’une bordure colorée. Vous devez déplacer le curseur pour interagir avec d’autres volets.

Pour passer d’un volet à l’autre, appuyez sur Ctrl + B, puis utilisez les touches fléchées (haut, bas, gauche, droite) pour vous déplacer dans cette direction. Vous pouvez également appuyer sur Ctrl + B → O pour faire défiler les volets de manière séquentielle.

En outre, dans certains cas, la répartition par défaut 50/50 n’est pas efficace. Vous pouvez préférer un grand volet de codage et un volet de sortie terminal plus petit.

Pour redimensionner les volets, appuyez sur Ctrl + B, puis utilisez Ctrl + les touches fléchées, telles que Ctrl + Haut ou Ctrl + Bas, pour redimensionner par pas d’une cellule. Utilisez les touches Meta + flèches, comme Alt + Haut, pour redimensionner par pas de cinq cellules.

Fermer les volets

Lorsque vous avez terminé de travailler dans un volet, vous pouvez le fermer sans affecter le reste de la fenêtre ou de la session. Il existe trois façons de procéder, de la plus sûre à la plus énergique.

  • La méthode shell (recommandée). Tapez exit ou appuyez sur Ctrl + D dans la ligne de commande. Cette opération met fin à la session shell en toute sécurité, de la même manière que la déconnexion. S’il s’agit du dernier volet de la fenêtre, tmux ferme la fenêtre.
  • La méthode rapide. Appuyez sur Ctrl + B → X. tmux affiche une demande de confirmation en bas: kill-pane? y/n. Appuyez sur Y pour confirmer.
  • La méthode forcée. Appuyez sur Ctrl + B → Shift + 7 (la touche &). Cela tue la fenêtre entière et toutes les vitres à l’intérieur. N’utilisez cette méthode que si vous êtes sûr de vouloir fermer tout ce qui se trouve dans cette vue, car elle peut entraîner une perte accidentelle de données.

Raccourcis clavier de tmux

Raccourci Action Description Cas d’utilisation
Ctrl + B → D Détachement de la sessionVous déconnecte de la session tout en la laissant en cours d’exécution.Déconnexion de SSH pendant l’exécution d’un script.
Ctrl + B → C Créer une fenêtreOuvre un nouveau shell dans un onglet séparé.Séparer une nouvelle tâche, telle que la gestion d’une base de données, de votre tâche actuelle.
Ctrl + B → Shift + 5 (%) Diviser à gauche et à droiteDivise l’écran en volets gauche et droit.Lire le code d’un côté et les journaux de l’autre.
Ctrl + B → Shift + ‘ (“) Diviser en haut et en basDivise l’écran en deux volets supérieur et inférieur.Garder un outil de contrôle, comme top, visible sous votre travail.
Ctrl + B → X Fermer le voletFerme le volet actif après confirmation.Supprimer un volet divisé dont vous n’avez plus besoin.
Ctrl + B → ,Renommer la fenêtreModifie le nom de la fenêtre affiché dans la barre d’état.Organiser des sessions complexes avec de nombreuses fenêtres.
Ctrl + B → Z Zoom sur le voletBascule le volet actif entre le plein écran et l’affichage normal.Se concentrer temporairement sur un fichier journal spécifique sans fermer les autres volets.
Ctrl + B → [ Mode copieEntre en mode copie pour faire défiler l’historique du terminal. Appuyez sur Q pour quitter.Consulter l’édition précédente ou copier le texte.
Ctrl + B → W Liste des fenêtresAffiche une liste interactive de toutes les fenêtres de la session.Naviguer dans les sessions lorsque vous avez trop de fenêtres pour les mémoriser par un numéro.
Ctrl + B → Shift + / (?) Liste des raccourcis clavierAffiche un écran d’aide avec tous les raccourcis clavier configurés.Rechercher rapidement un raccourci que vous avez oublié.

Comment personnaliser tmux

Pour personnaliser tmux, créez ou modifiez le fichier de configuration .tmux.conf, puis ajoutez vos paramètres personnalisés. Après avoir enregistré le fichier, appliquez les modifications en exécutant tmux source-file ~/.tmux.conf dans une session tmux.

Le fichier de configuration peut être local (s’appliquant uniquement à votre utilisateur) ou global (s’appliquant à tous les utilisateurs du serveur). Nous recommandons d’utiliser un fichier de configuration local pour éviter de perturber les autres utilisateurs.

1. Créer le fichier de configuration

Le fichier de configuration local s’appelle .tmux.conf et se trouve dans votre répertoire personnel. A partir de la version 3.2, tmux vérifie également $XDG_CONFIG_HOME/tmux/tmux.conf (typiquement ~/.config/tmux/tmux.conf).

Créez ou modifiez le fichier à l’aide de l’éditeur de texte nano:

nano ~/.tmux.conf

2. Ajouter des options de configuration

Vous pouvez ajouter des commandes pour modifier le comportement de tmux. Vous trouverez ci-dessous deux personnalisations tmux courantes et recommandées.

  • Modifier la clé de préfixe. Le raccourci Ctrl + B par défaut peut être difficile à atteindre d’une seule main. De nombreux utilisateurs préfèrent Ctrl + A, comme pour GNU Screen. Ajoutez les lignes suivantes pour le relier à nouveau:
# Désactiver le préfixe par défaut
unbind C-b

# Définir le nouveau préfixe sur Ctrl + A
set -g prefix C-a
bind C-a send-prefix
  • Activer la prise en charge de la souris. Les versions modernes de tmux prennent en charge l’entrée de la souris. Cela vous permet de redimensionner les volets et de faire défiler l’historique en cliquant et en glissant au lieu de vous fier uniquement aux raccourcis clavier.
set -g mouse on

Après avoir effectué vos modifications, enregistrez le fichier et quittez nano en appuyant sur Ctrl + X → Y → Entrée.

3. Appliquer les modifications

L’enregistrement du fichier n’applique pas les modifications au serveur tmux en cours d’exécution. tmux ne lit .tmux.conf qu’au démarrage du serveur, et non lorsque vous créez de nouvelles sessions.

Pour appliquer immédiatement la nouvelle configuration sans redémarrer le serveur, exécutez la commande suivante dans une session tmux:

tmux source-file ~/.tmux.conf

Quelles sont les meilleures pratiques pour utiliser tmux?

Les meilleures pratiques d’utilisation de tmux consistent à créer un espace de travail structuré, à maintenir les sessions persistantes et sécurisées, et à éviter la surcharge de configuration.

En considérant tmux comme un gestionnaire d’espace de travail plutôt que comme un simple séparateur de fenêtres, vous pouvez améliorer de manière significative l’efficacité de votre ligne de commande.

Organiser les flux de travail avec tmux

Pour utiliser efficacement tmux, il faut d’abord comprendre sa hiérarchie : session → fenêtre → volet.

  • Les sessions sont destinées aux projets. Créez une session distincte pour chaque projet important, par exemple client-website ou server-maintenance. Cette approche permet d’éviter les fuites de variables d’environnement ou d’historique de commandes entre les projets.
  • Les fenêtres sont destinées aux tâches. Au sein d’une session, utilisez des fenêtres pour des tâches distinctes, comme vim, database ou server-logs. Évitez de regrouper des tâches sans rapport les unes avec les autres dans une seule fenêtre.
  • Les volets sont destinés aux affichages. Utilisez les volets pour des vues immédiates, côte à côte, par exemple pour vérifier un journal d’erreurs tout en modifiant le code qui en est à l’origine.

💡 Conseil de pro

Évitez d’exécuter tout dans une seule fenêtre avec de nombreux volets. Cela rend le terminal difficile à lire et à parcourir. Si une fenêtre devient trop encombrée, déplacez un volet dans sa propre fenêtre en appuyant sur Ctrl + B → ! (point d’exclamation).

Récupérer après une déconnexion SSH

La fonction la plus importante de tmux est la récupération de session. Dans une session SSH standard, si votre Wi-Fi tombe ou si votre ordinateur se met en veille, la connexion SSH s’interrompt et envoie un signal SIGHUP qui met fin aux commandes en cours.

tmux empêche ce comportement. Si votre connexion SSH est interrompue:

  1. Reconnectez-vous au serveur via SSH.
  2. Exécutez tmux ls pour retrouver votre session précédente.
  3. Exécutez tmux attach -t nom-session pour réintégrer l’environnement.

Votre curseur revient à l’endroit exact où vous vous êtes arrêté, avec l’historique des commandes et les processus en cours d’exécution intacts.

Éviter les erreurs courantes

Les erreurs courantes de tmux viennent souvent du fait qu’on le traite comme un simple outil de terminal plutôt que comme un gestionnaire de session. Vous trouverez ci-dessous les problèmes les plus fréquents et la manière de les éviter.

  • Imbriquer des sessions. Une erreur fréquente du débutant consiste à exécuter tmux à l’intérieur d’une session tmux existante. Cela crée une configuration de type “Inception”, où une session tmux s’exécute à l’intérieur d’une autre. La situation devient rapidement confuse car les commandes Ctrl + B n’affectent que la session intérieure. Pour envoyer le préfixe à la session intérieure, vous devez appuyer deux fois sur Ctrl + B. Évitez l’imbrication, sauf si vous avez une raison particulière.
  • Oublier de nommer les sessions. Bien que tmux new fonctionne, l’identification de la session correcte à partir d’une liste comme 0, 1 ou 2 est frustrante et sujette à des erreurs. Démarrez toujours les sessions avec un nom en utilisant tmux new -s nom-session.
  • Laisser des sessions inutilisées ouvertes. Chaque session tmux consomme de la mémoire. Les sessions inactives n’utilisent généralement que quelques mégaoctets, mais l’utilisation augmente avec la taille du tampon de défilement, que l’option history-limit contrôle et dont la valeur par défaut est de 2000 lignes par volet. Examinez régulièrement les sessions actives avec tmux ls et supprimez celles qui ne sont pas utilisées avec kill-session.

Quelle est la prochaine étape de votre workflow terminal ?

Après avoir appris à utiliser tmux, l’étape suivante de votre workflow sur les terminaux consiste à l’intégrer à des pratiques de gestion à distance sécurisées afin de créer un environnement de serveur plus robuste.

Pour tirer le meilleur parti des sessions à distance, consultez notre guide des commandes SSH essentielles.

Il couvre des tâches essentielles telles que la navigation dans les répertoires, la gestion des fichiers et l’édition des fichiers de configuration, autant d’opérations que vous effectuerez régulièrement dans les sessions de tmux.

Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.

Ce que disent nos clients

Laissez une réponse

Veuillez remplir les champs obligatoires.Veuillez cocher la case de la confidentialité.Veuillez remplir les champs obligatoires et accepter la case de confidentialité.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.