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.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- 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
Dans quel contexte ?
Section intitulée « Dans quel contexte ? »- 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
nohupouscreenmais avectmuxdisponible.
Installation
Section intitulée « Installation »sudo apt install tmuxsudo dnf install tmuxtmux -V # vérifier la version# tmux 3.4La hiérarchie tmux
Section intitulée « La hiérarchie tmux »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)
Démarrer avec tmux
Section intitulée « Démarrer avec tmux »Créer une première session
Section intitulée « Créer une première session »tmux # session sans nomtmux 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.
Le préfixe de commande
Section intitulée « Le préfixe de commande »Toutes les commandes tmux commencent par Ctrl+b (le préfixe), suivi d’une lettre.
| Action | Raccourci |
|---|---|
| Aide (liste des raccourcis) | Ctrl+b ? |
| Se déconnecter sans tuer | Ctrl+b d |
| Fermer le panneau actuel | Ctrl+b x puis y |
Se déconnecter et se reconnecter
Section intitulée « Se déconnecter et se reconnecter »C’est l’usage fondamental de tmux :
# 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 SSHtmux attach -t prod # se reconnecter à la session "prod"tmux attach # se reconnecter à la dernière sessionPour lister les sessions actives :
tmux list-sessions# prod: 2 windows (created Fri Apr 10 08:00:00 2026)Fenêtres
Section intitulée « Fenêtres »| Action | Raccourci |
|---|---|
| Nouvelle fenêtre | Ctrl+b c |
| Fenêtre suivante | Ctrl+b n |
| Fenêtre précédente | Ctrl+b p |
| Aller à la fenêtre n | Ctrl+b 0 à Ctrl+b 9 |
| Lister les fenêtres | Ctrl+b w |
| Renommer la fenêtre | Ctrl+b , |
| Fermer la fenêtre | Ctrl+b & puis y |
# Depuis le terminal (sans être dans tmux)tmux new-window -t prod -n monitoringtmux list-windows -t prodPanneaux (splits)
Section intitulée « Panneaux (splits) »| Action | Raccourci |
|---|---|
| Diviser verticalement (gauche/droite) | Ctrl+b % |
| Diviser horizontalement (haut/bas) | Ctrl+b " |
| Passer au panneau suivant | Ctrl+b o |
| Naviguer avec les flèches | Ctrl+b ←→↑↓ |
| Agrandir le panneau (plein écran) | Ctrl+b z (toggle) |
| Fermer le panneau | Ctrl+b x puis y |
Exemple pratique — voir les logs d’un côté, travailler de l’autre :
# Fenêtre 1 : panneau gauche → logsCtrl+b %# → dans le nouveau panneau :tail -f /var/log/syslog
# Ctrl+b ← pour revenir au panneau gauche# → taper vos commandes d'adminMode copie (scroll et copier-coller)
Section intitulée « Mode copie (scroll et copier-coller) »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 copierCtrl+b ] # collerConfiguration minimale : ~/.tmux.conf
Section intitulée « Configuration minimale : ~/.tmux.conf »# Numérotation des fenêtres à partir de 1 (plus intuitif)set -g base-index 1setw -g pane-base-index 1
# Augmenter la taille de l'historiqueset -g history-limit 10000
# Activer la souris (scroll, sélection de panneau)set -g mouse on
# Mode copie visetw -g mode-keys vi
# Barre de statut : session | fenêtre | heureset -g status-right '%H:%M %d-%b'
# Recharger la config sans relancerbind r source-file ~/.tmux.conf \; display "Config rechargée"Après modification :
# Depuis l'intérieur de tmuxCtrl+b :source-file ~/.tmux.conf# Ou avec le raccourci ci-dessus :Ctrl+b rRécapitulatif des commandes depuis le terminal
Section intitulée « Récapitulatif des commandes depuis le terminal »# Cycle de vie d'une sessiontmux new-session -s nom # créertmux attach -t nom # rejoindretmux detach # se déconnecter (ou Ctrl+b d)tmux kill-session -t nom # supprimer
# Inspectertmux list-sessions # sessions activestmux list-windows -t nom # fenêtres d'une sessiontmux list-panes -t nom # panneaux d'une fenêtreDépannage
Section intitulée « Dépannage »| Symptôme | Cause probable | Solution |
|---|---|---|
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 terminal | Conflit 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 statut | Terminal qui ne supporte pas UTF-8 | export LANG=en_US.UTF-8 dans .bashrc |
Ctrl+b z ne revient pas en normal | Appuyer à nouveau sur Ctrl+b z (c’est un toggle) | Normal — le second appui restaure le split |
| La session tmux est vide après reconnexion | La commande lancée a terminé et fermé tous les panneaux | Lancer les commandes avec tmux send-keys ou garder un panneau idle |
À retenir
Section intitulée « À retenir »tmux new-session -s nomcrée une session persistante nommée.Ctrl+b ddétache sans tuer —tmux attach -t nompour se reconnecter.Ctrl+b c/Ctrl+b n/Ctrl+b ppour les fenêtres ;Ctrl+b %/Ctrl+b "pour les panneaux.- Configurez
~/.tmux.confavecmouse onethistory-limit 10000au minimum. - Sur une installation minimale sans tmux : utilisez
nohup + disownà la place.
Prochaines étapes
Section intitulée « Prochaines étapes » Gérer les processus ps, kill, nice, renice — surveiller et contrôler les processus Linux.
Utiliser nohup Alternative légère à tmux quand seule la persistance compte.
Jobs et contrôle des tâches Ctrl+Z, bg, fg, jobs — le contrôle des tâches natif du shell.
Surveiller la mémoire free, vmstat, /proc/meminfo — évaluer l'utilisation mémoire.