Aller au contenu
Administration Linux medium

Travailler avec tmux

9 min de lecture

tmux résout deux problèmes à la fois : les sessions qui disparaissent à la déconnexion, et la gestion de plusieurs terminaux dans une seule fenêtre SSH. Une session tmux survit à votre déconnexion — vous vous reconnectez et retrouvez exactement là où vous en étiez.

  • Créer une session tmux nommée et s’y connecter
  • Se déconnecter (detach) sans tuer la session et se reconnecter (attach)
  • Créer des fenêtres supplémentaires et naviguer entre elles
  • Diviser l’écran en panneaux horizontaux ou verticaux
  • Copier-coller dans tmux
  • Configurer les raccourcis essentiels dans ~/.tmux.conf
  • Administration longue d’un serveur en SSH : sauvegarde, migration, compilation.
  • Suivi en parallèle : logs dans un panneau, commandes dans un autre.
  • Partage d’une session avec un collègue pour du pair-debugging.
  • Machines sans nohup ou screen mais avec tmux disponible.
Debian / Ubuntu
sudo apt install tmux
Rocky / RHEL
sudo dnf install tmux
Fenêtre de terminal
tmux -V # vérifier la version
# tmux 3.4
serveur tmux (processus unique en arrière-plan)
└── session "prod"
├── fenêtre 0 : "shell"
│ └── panneau unique
└── fenêtre 1 : "monitoring"
├── panneau gauche (htop)
└── panneau droit (tail -f /var/log/…)
  • Session : espace de travail persistant, survit à la déconnexion
  • Fenêtre : onglet dans la session (comme un onglet de navigateur)
  • Panneau : subdivision d’une fenêtre (split)
Fenêtre de terminal
tmux # session sans nom
tmux new-session -s prod # session nommée "prod"

Vous êtes maintenant à l’intérieur de tmux. La barre verte en bas indique la session, les fenêtres et l’heure.

Toutes les commandes tmux commencent par Ctrl+b (le préfixe), suivi d’une lettre.

ActionRaccourci
Aide (liste des raccourcis)Ctrl+b ?
Se déconnecter sans tuerCtrl+b d
Fermer le panneau actuelCtrl+b x puis y

C’est l’usage fondamental de tmux :

Fenêtre de terminal
# Dans tmux : se déconnecter (la session continue de tourner)
Ctrl+b d
# [detached (from session prod)]
# Depuis un autre terminal ou après reconnexion SSH
tmux attach -t prod # se reconnecter à la session "prod"
tmux attach # se reconnecter à la dernière session

Pour lister les sessions actives :

Fenêtre de terminal
tmux list-sessions
# prod: 2 windows (created Fri Apr 10 08:00:00 2026)
ActionRaccourci
Nouvelle fenêtreCtrl+b c
Fenêtre suivanteCtrl+b n
Fenêtre précédenteCtrl+b p
Aller à la fenêtre nCtrl+b 0 à Ctrl+b 9
Lister les fenêtresCtrl+b w
Renommer la fenêtreCtrl+b ,
Fermer la fenêtreCtrl+b & puis y
Fenêtre de terminal
# Depuis le terminal (sans être dans tmux)
tmux new-window -t prod -n monitoring
tmux list-windows -t prod
ActionRaccourci
Diviser verticalement (gauche/droite)Ctrl+b %
Diviser horizontalement (haut/bas)Ctrl+b "
Passer au panneau suivantCtrl+b o
Naviguer avec les flèchesCtrl+b ←→↑↓
Agrandir le panneau (plein écran)Ctrl+b z (toggle)
Fermer le panneauCtrl+b x puis y

Exemple pratique — voir les logs d’un côté, travailler de l’autre :

Fenêtre de terminal
# Fenêtre 1 : panneau gauche → logs
Ctrl+b %
# → dans le nouveau panneau :
tail -f /var/log/syslog
# Ctrl+b ← pour revenir au panneau gauche
# → taper vos commandes d'admin
Fenêtre de terminal
Ctrl+b [ # entrer en mode copie (scroll)
# naviguer avec les flèches ou Page Up/Down
# Espace pour démarrer la sélection
# Entrée pour copier
Ctrl+b ] # coller
~/.tmux.conf
# Numérotation des fenêtres à partir de 1 (plus intuitif)
set -g base-index 1
setw -g pane-base-index 1
# Augmenter la taille de l'historique
set -g history-limit 10000
# Activer la souris (scroll, sélection de panneau)
set -g mouse on
# Mode copie vi
setw -g mode-keys vi
# Barre de statut : session | fenêtre | heure
set -g status-right '%H:%M %d-%b'
# Recharger la config sans relancer
bind r source-file ~/.tmux.conf \; display "Config rechargée"

Après modification :

Fenêtre de terminal
# Depuis l'intérieur de tmux
Ctrl+b :source-file ~/.tmux.conf
# Ou avec le raccourci ci-dessus :
Ctrl+b r
Fenêtre de terminal
# Cycle de vie d'une session
tmux new-session -s nom # créer
tmux attach -t nom # rejoindre
tmux detach # se déconnecter (ou Ctrl+b d)
tmux kill-session -t nom # supprimer
# Inspecter
tmux list-sessions # sessions actives
tmux list-windows -t nom # fenêtres d'une session
tmux list-panes -t nom # panneaux d'une fenêtre
SymptômeCause probableSolution
attach refuse : “no sessions”Aucune session active (serveur redémarré ?)Recréer la session avec tmux new-session -s nom
Raccourci Ctrl+b intercepté par le terminalConflit avec un autre programme (ex: JupyterLab)Changer le préfixe dans .tmux.conf : set -g prefix C-a
Caractères bizarres dans la barre de statutTerminal qui ne supporte pas UTF-8export LANG=en_US.UTF-8 dans .bashrc
Ctrl+b z ne revient pas en normalAppuyer à nouveau sur Ctrl+b z (c’est un toggle)Normal — le second appui restaure le split
La session tmux est vide après reconnexionLa commande lancée a terminé et fermé tous les panneauxLancer les commandes avec tmux send-keys ou garder un panneau idle
  • tmux new-session -s nom crée une session persistante nommée.
  • Ctrl+b d détache sans tuer — tmux attach -t nom pour se reconnecter.
  • Ctrl+b c / Ctrl+b n / Ctrl+b p pour les fenêtres ; Ctrl+b % / Ctrl+b " pour les panneaux.
  • Configurez ~/.tmux.conf avec mouse on et history-limit 10000 au minimum.
  • Sur une installation minimale sans tmux : utilisez nohup + disown à la place.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn