Utilisation de tmux : Un multiplexeur de terminaux pour les utilisateurs expérimentés

Dans le monde des flux de travail basés sur les terminaux, un outil change la donne en matière de multitâche, de gestion des sessions et d’environnements de ligne de commande persistants : tmux. Abréviation de Terminal Multiplexer, tmux vous permet d’exécuter, de gérer et de reprendre plusieurs sessions de terminal à l’intérieur d’une seule fenêtre de terminal.

Que vous gériez des serveurs distants via SSH, que vous exécutiez des scripts de longue durée ou que vous travailliez sur plusieurs tâches de développement, tmux vous donne des super-pouvoirs à la ligne de commande.

Qu’est-ce que tmux ?

tmux est un multiplexeur de terminal open-source qui permet :

  • Plusieurs sessions shell à l’intérieur d’un seul terminal

  • Des sessions persistantes (même après une déconnexion)

  • Fractionnement des volets et des fenêtres

  • Partage de session entre utilisateurs

  • Passage facile d’une tâche à l’autre sans quitter le terminal

C’est comme si vous disposiez d’un gestionnaire de fenêtres en mosaïque pour votre terminal, disponible partout, même sur des connexions SSH lentes.

Installation de tmux

Sur Debian/Ubuntu :

sudo apt install tmux

Sur CentOS/RHEL :

sudo yum install tmux

Sur macOS :

brew install tmux

Démarrer avec tmux

Pour démarrer une nouvelle session tmux :

tmux

Vous êtes maintenant dans une nouvelle session. Mais pour l’utiliser efficacement, vous devez connaître quelques raccourcis clavier.

Préfixe par défaut : Ctrl b

Toutes les commandes tmux sont déclenchées par une touche de préfixe, qui est par défaut :

Ctrl b

Donc Ctrl b, puis % crée une séparation verticale, et ainsi de suite.

Commandes essentielles de tmux

CommandeAction
tmuxDémarrer une nouvelle session
tmux new -s mysessionDémarrer une session nommée
tmux attach -t mysessionSe rattacher à une session
tmux lsLister les sessions
tmux kill-session -t mysessionTue une session
exitQuitter le volet/fenêtre en cours (ou tuer via tmux kill-pane)

Trucs et astuces avancés

1. Sessions nommées pour la persistance

tmux new -s setup-server("name-your-session")
Ctrl b, puis “
→ vous avez deux panneaux horizontaux : en haut et en bas

Vous pouvez les rattacher à tout moment :

tmux attach -t setup-server

🧮 2. Gagner du temps avec les scripts de sessions

Créez des scripts .tmux.conf ou des scripts shell pour automatiser la configuration :

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. Partager une session avec un autre utilisateur

Permet des sessions de terminal collaboratives (nécessite des autorisations partagées) :

sudo chmod s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. Personnaliser le fichier .tmux.conf

Exemple :

# Définir le préfixe à Ctrl a (comme GNU screen)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Prise en charge de la souris
set -g mouse on

# Meilleures couleurs
set -g default-terminal "screen-256color"

Recharger la configuration :

tmux source-file ~/.tmux.conf

Cas d’utilisation : tmux sur SSH

Lors de la gestion d’un VPS distant via SSH :

  1. Se connecter via SSH

  2. Démarrer une session tmux :

    tmux new -s remote
  3. Exécuter des mises à jour ou des processus longs (par exemple, apt upgrade)

  4. Se déconnecter à tout moment – la session persiste

  5. Se reconnecter plus tard :

    tmux attach -t remote

💡 Cette fonction est très utile pour les connexions peu fiables, en particulier sur les liaisons mobiles ou par satellite.

tmux est l’un des outils les plus puissants de l’arsenal de la ligne de commande. Qu’il s’agisse de coder, de surveiller des serveurs ou de gérer plusieurs tâches à distance, tmux offre productivité, persistance et précision. Une fois maîtrisé, il devient indispensable : il permet de gagner du temps, de préserver les sessions et d’organiser le flux de travail de votre terminal comme un pro.