Utiliser tmux : Le Guide Ultime du Multiplexage de Terminal sur Linux
Gérer efficacement un serveur Linux nécessite les bons outils — et peu d’outils sont aussi transformateurs que tmux. Que vous soyez un développeur jonglant avec plusieurs processus, un administrateur système maintenant des sessions distantes, ou un utilisateur avancé qui vit dans le terminal, tmux (Terminal Multiplexer) change fondamentalement la façon dont vous interagissez avec la ligne de commande.
Ce guide complet couvre tout ce que vous devez savoir sur tmux : ce qu’il est, pourquoi il est important, comment l’installer et le configurer, et comment l’utiliser efficacement dans des environnements serveur réels — y compris sur VPS Hosting et l’infrastructure dédiée.
Qu’est-ce que tmux ?
tmux est un multiplexeur de terminal open-source qui vous permet de créer, gérer et naviguer entre plusieurs sessions de terminal à partir d’une seule fenêtre. Au lieu d’ouvrir des dizaines de connexions SSH séparées ou d’onglets de terminal, tmux vous permet d’organiser tout cela dans un espace de travail unique, persistant et structuré.
À la base, tmux fonctionne selon trois concepts hiérarchiques :
- Sessions — Le conteneur de niveau supérieur. Une session contient une ou plusieurs fenêtres et persiste même après votre déconnexion.
- Fenêtres — Similaires aux onglets du navigateur, chaque fenêtre occupe l’écran du terminal complet.
- Volets — Subdivisions au sein d’une fenêtre. Vous pouvez diviser une fenêtre horizontalement ou verticalement en plusieurs volets exécutant des processus indépendants simultanément.
Cette architecture rend tmux particulièrement puissant dans les environnements de serveurs distants. Lorsque vous êtes connecté via SSH à un VPS ou un Serveur Dédié, une connexion perdue ne signifie plus un travail perdu — votre session tmux continue de s’exécuter en arrière-plan, prête à être réattachée dès que vous vous reconnectez.
Pourquoi utiliser tmux ? Avantages clés pour les administrateurs système et les développeurs
Avant de plonger dans les commandes, il vaut la peine de comprendre pourquoi tmux est devenu un outil standard dans la gestion professionnelle des serveurs :
1. Persistance des sessions
Les processus de longue durée — migrations de bases de données, travaux de compilation, surveillance des journaux — continuent sans interruption même si votre connexion SSH est interrompue. C’est essentiel lorsque vous travaillez sur une infrastructure distante.
2. Gestion des flux de travail parallèles
Divisez votre terminal en volets pour éditer simultanément un fichier de configuration, suivre un journal et surveiller les ressources système — tout sans changer de fenêtre.
3. Accès collaboratif
Plusieurs utilisateurs peuvent se connecter à la même session tmux simultanément, permettant la programmation en pair en temps réel ou le débogage collaboratif sur un serveur partagé.
4. Espaces de travail reproductibles
Enregistrez et restaurez des dispositions complexes multi-volets et multi-fenêtres pour que votre environnement de travail soit cohérent entre les sessions.
5. Léger et universel
tmux s’exécute entièrement dans le terminal sans dépendance GUI, ce qui le rend idéal pour les serveurs sans interface graphique, les conteneurs et les installations Linux minimales.
Installation de tmux
tmux est disponible dans les dépôts de paquets par défaut de pratiquement toutes les grandes distributions Linux. Choisissez la commande appropriée pour votre système :
Ubuntu / Debian
sudo apt update
sudo apt install tmuxCentOS / RHEL / Fedora
# CentOS/RHEL 7
sudo yum install tmux
# CentOS/RHEL 8+ and Fedora
sudo dnf install tmuxArch Linux
sudo pacman -S tmuxmacOS (via Homebrew)
brew install tmuxVérifier l’installation
tmux -VCela devrait retourner la version installée, telle que tmux 3.3a.
Comprendre la touche de préfixe tmux
Chaque raccourci clavier tmux commence par une touche de préfixe — une combinaison de touches qui signale à tmux que la prochaine frappe est une commande, pas une entrée régulière.
Le préfixe par défaut est Ctrl + b. Tout au long de ce guide, nous le désignerons par <prefix>. Donc <prefix> c signifie : appuyez sur Ctrl + b, relâchez les deux touches, puis appuyez sur c.
> Conseil Pro : De nombreux utilisateurs expérimentés remappent le préfixe à Ctrl + a (similaire à GNU Screen) pour des raisons ergonomiques. Nous couvrirons cela dans la section de personnalisation.
Commandes tmux principales : Sessions
Démarrer une nouvelle session
Lancer tmux avec une session sans nom par défaut :
tmuxDémarrer une session avec un nom descriptif (fortement recommandé) :
tmux new -s session_namePar exemple, lors de la gestion d’un serveur web :
tmux new -s webserverLister les sessions actives
En dehors de tmux, lister toutes les sessions en cours d’exécution :
tmux lsExemple de sortie :
webserver: 3 windows (created Mon Jan 13 10:22:01 2025)
database: 1 window (created Mon Jan 13 09:15:44 2025)Se détacher d’une session
Pour se détacher de la session actuelle (la laisser s’exécuter en arrière-plan) :
<prefix> dC’est-à-dire : Ctrl + b, puis d.
Vous serez renvoyé à votre shell habituel, et la session tmux continue de s’exécuter avec tous ses processus intacts.
Se reconnecter à une session
Se reconnecter à une session nommée spécifique :
tmux attach-session -t session_nameOu utiliser le raccourci :
tmux a -t session_nameSi une seule session existe :
tmux attachRenommer une session
Depuis l’intérieur de tmux :
<prefix> $Tapez le nouveau nom et appuyez sur Enter.
Terminer une session
Pour terminer une session spécifique et tous ses processus :
tmux kill-session -t session_namePour terminer toutes les sessions :
tmux kill-serverCommandes tmux essentielles : Fenêtres
Les fenêtres fonctionnent comme des onglets au sein d’une session. Chaque fenêtre peut exécuter un processus complètement indépendant.
| Action | Raccourci |
|---|---|
| Créer une nouvelle fenêtre | <prefix> c |
| Passer à la fenêtre suivante | <prefix> n |
| Passer à la fenêtre précédente | <prefix> p |
| Passer à une fenêtre par numéro | <prefix> 0–9 |
| Renommer la fenêtre actuelle | <prefix> , |
| Lister toutes les fenêtres | <prefix> w |
| Fermer la fenêtre actuelle | <prefix> & |
Commandes tmux essentielles : Volets
Les volets vous permettent de diviser une seule fenêtre en plusieurs zones de terminal — l’une des fonctionnalités les plus puissantes de tmux.
| Action | Raccourci |
|---|---|
| Diviser le volet horizontalement (haut/bas) | <prefix> " |
| Diviser le volet verticalement (gauche/droite) | <prefix> % |
| Naviguer entre les volets | <prefix> Arrow Keys |
| Redimensionner le volet (maintenir et répéter) | <prefix> Ctrl + Arrow Keys |
| Agrandir le volet en plein écran / restaurer | <prefix> z |
| Convertir le volet en une nouvelle fenêtre | <prefix> ! |
| Fermer le volet actuel | <prefix> x |
| Afficher les numéros de volet | <prefix> q |
Exemple pratique : Disposition de surveillance de serveur
Voici une disposition typique à trois volets pour surveiller un serveur web :
# Start a new session
tmux new -s monitor
# Split horizontally to create a bottom pane
# Press: <prefix> "
# In the top pane: run htop
htop
# Switch to bottom pane: <prefix> Arrow Down
# Split bottom pane vertically: <prefix> %
# Bottom-left: tail the web server error log
tail -f /var/log/nginx/error.log
# Bottom-right: watch active connections
watch -n 2 'ss -tuln'Cela vous donne un tableau de bord en temps réel dans une seule fenêtre de terminal — inestimable lors de la gestion d’un serveur de production.
Mode Copie : Défilement et Sélection de Texte
Par défaut, la molette de défilement de votre souris ne fonctionne pas dans tmux. Pour faire défiler la sortie ou copier du texte, vous utilisez le Mode Copie.
Entrer en Mode Copie
<prefix> [Navigation en Mode Copie
| Action | Touche |
|---|---|
| Faire défiler vers le haut | Arrow Up ou Ctrl + u |
| Faire défiler vers le bas | Arrow Down ou Ctrl + d |
| Rechercher vers l’avant | / |
| Rechercher vers l’arrière | ? |
| Commencer la sélection | Space |
| Copier la sélection | Enter |
| Quitter le mode copie | q |
Coller le Texte Copié
<prefix> ]Personnalisation de tmux : Le fichier .tmux.conf
La véritable puissance de tmux émerge lorsque vous l’adaptez à votre flux de travail via le fichier de configuration situé à ~/.tmux.conf.
Étape 1 : Ouvrir ou créer le fichier de configuration
nano ~/.tmux.confSi le fichier n’existe pas, cette commande le crée automatiquement.
Étape 2 : Appliquer vos personnalisations
Voici une configuration bien commentée, prête pour la production, qui couvre les personnalisations les plus impactantes :
# ============================================
# ~/.tmux.conf — tmux Configuration
# ============================================
# --- Prefix Key ---
# Change prefix from Ctrl+b to Ctrl+a (more ergonomic)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# --- Mouse Support ---
# Enable mouse for pane selection, resizing, and scrolling
set -g mouse on
# --- Indexing ---
# Start window and pane numbering at 1 (easier keyboard navigation)
set -g base-index 1
setw -g pane-base-index 1
# --- Pane Splitting ---
# Intuitive split shortcuts (| for vertical, - for horizontal)
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# --- Pane Navigation (Vim-style) ---
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# --- Pane Resizing ---
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# --- Visual Appearance ---
# Enable 256-color support
set -g default-terminal "screen-256color"
# Status bar styling
set -g status-bg colour235
set -g status-fg colour136
# Left status: session name
set -g status-left "#[fg=colour166,bold] [#S] "
set -g status-left-length 20
# Right status: hostname, date, and time
set -g status-right "#[fg=colour166]#H #[fg=colour136]| %Y-%m-%d #[fg=colour71]%H:%M "
set -g status-right-length 60
# Highlight active window in status bar
setw -g window-status-current-style fg=colour166,bold
# --- History ---
# Increase scrollback buffer size
set -g history-limit 10000
# --- Reload Config ---
# Reload tmux config with <prefix> r
bind r source-file ~/.tmux.conf ; display-message "Config reloaded!"Étape 3 : Enregistrer et quitter (nano)
- Enregistrer :
Ctrl + O, puisEnter - Quitter :
Ctrl + X
Étape 4 : Recharger la configuration
Si tmux est déjà en cours d’exécution, appliquez les modifications sans redémarrer :
<prefix> :Ensuite, tapez :
source-file ~/.tmux.confAppuyez sur Enter. Ou, si vous avez ajouté la liaison de rechargement à partir de la configuration ci-dessus, appuyez simplement sur :
<prefix> rÉtape 5 : Vérifier vos personnalisations
- Nouvelle clé de préfixe : Appuyez sur
Ctrl + a, puiscpour créer une nouvelle fenêtre. - Support de la souris : Cliquez sur différents volets pour changer le focus ; faites défiler avec la molette de la souris.
- Barre d’état : Confirmez que le nom d’hôte, la date et l’heure apparaissent dans le coin inférieur droit.
- Divisions de volets : Appuyez sur
<prefix> |pour une division verticale,<prefix> -pour une division horizontale.
Techniques avancées de tmux
Scripting des dispositions de session avec des scripts shell
Automatisez l’intégralité de la configuration de votre espace de travail avec un script shell :
#!/bin/bash
# start-dev.sh — Launch a preconfigured development environment
SESSION="dev"
tmux new-session -d -s $SESSION -n "editor"
# Window 1: Code editor
tmux send-keys -t $SESSION:1 "vim ." Enter
# Window 2: Server logs
tmux new-window -t $SESSION -n "logs"
tmux send-keys -t $SESSION:2 "tail -f /var/log/nginx/access.log" Enter
# Window 3: Shell (split into two panes)
tmux new-window -t $SESSION -n "shell"
tmux split-window -h -t $SESSION:3
tmux send-keys -t $SESSION:3.1 "htop" Enter
# Attach to the session
tmux attach-session -t $SESSIONRendez-le exécutable et exécutez-le :
chmod +x start-dev.sh
./start-dev.shSynchronisation des volets
Envoyez la même commande à tous les volets simultanément — extrêmement utile pour gérer plusieurs serveurs à la fois :
<prefix> :
setw synchronize-panes onDésactivez avec :
setw synchronize-panes offPartage de sessions entre utilisateurs
Deux utilisateurs peuvent se connecter à la même session pour une collaboration en temps réel :
# User 1 creates a session
tmux new -s shared
# User 2 attaches to it
tmux attach -t sharedLes deux utilisateurs voient et contrôlent le même terminal en temps réel.
tmux Aide-mémoire rapide
Commandes de session
| Commande | Description |
|---|---|
tmux new -s name | Créer une session nommée |
tmux ls | Lister les sessions |
tmux a -t name | Se connecter à une session |
tmux kill-session -t name | Terminer une session |
<prefix> d | Se déconnecter d’une session |
<prefix> $ | Renommer une session |
Commandes de fenêtre
| Raccourci | Description |
|---|---|
<prefix> c | Nouvelle fenêtre |
<prefix> n / p | Fenêtre suivante / précédente |
<prefix> 0–9 | Basculer vers une fenêtre par numéro |
<prefix> , | Renommer une fenêtre |
<prefix> & | Fermer une fenêtre |
Commandes de volet
| Raccourci | Description |
|---|---|
<prefix> % | Diviser verticalement |
<prefix> " | Diviser horizontalement |
<prefix> Arrow | Naviguer entre les volets |
<prefix> z | Agrandir / réduire un volet |
<prefix> x | Fermer un volet |
<prefix> q | Afficher les numéros de volet |
tmux dans des scénarios réels de serveur
Scénario 1 : Exécution de déploiements longs sur un VPS
Lors du déploiement d’applications sur un VPS avec cPanel ou un panneau de contrôle personnalisé, les scripts de déploiement de longue durée sont un point douloureux courant. Avec tmux :
tmux new -s deploy
./deploy.sh
# Detach with <prefix> d — the deployment continues even if SSH dropsRéattachez-vous plus tard pour vérifier la progression :
tmux a -t deployScénario 2 : Administration multi-serveurs
Lors de la gestion de plusieurs serveurs dédiés, ouvrez des fenêtres tmux séparées pour chaque serveur :
tmux new -s admin
# Window 1: Server A
ssh admin@server-a.example.com
# <prefix> c — new window
# Window 2: Server B
ssh admin@server-b.example.com
# <prefix> c — new window
# Window 3: Server C
ssh admin@server-c.example.comBasculez entre les serveurs instantanément avec <prefix> 1, <prefix> 2, <prefix> 3.
Scénario 3 : Surveillance de l’infrastructure d’hébergement Web
Pour les utilisateurs sur Hébergement Web Partagé qui ont accès SSH, tmux offre un moyen léger de maintenir les scripts de surveillance en cours d’exécution de manière persistante sans nécessiter un gestionnaire de processus dédié.
Dépannage des problèmes courants de tmux
tmux: command not found
Installez tmux en utilisant le gestionnaire de paquets de votre distribution (voir la section installation ci-dessus).
Les couleurs semblent incorrectes ou brouillées
Ajoutez ceci à votre ~/.tmux.conf:
set -g default-terminal "screen-256color"Et assurez-vous que votre client SSH et votre émulateur de terminal supportent 256 couleurs.
Le défilement à la souris ne fonctionne pas
Assurez-vous que set -g mouse on est dans votre config et que la config a été rechargée. Certains émulateurs de terminal nécessitent une configuration supplémentaire.
Je ne trouve pas ma session après reconnexion
Exécutez tmux ls pour lister toutes les sessions actives. Si aucune n’apparaît, le serveur a peut-être redémarré. Envisagez d’utiliser un superviseur de processus ou un service systemd pour démarrer automatiquement les sessions tmux au démarrage.
La touche de préfixe ne répond pas
Vérifiez la syntaxe de votre ~/.tmux.conf. Une erreur courante est d’oublier unbind C-b avant de définir un nouveau préfixe.
Conclusion
tmux est l’un des outils les plus impactants que vous pouvez ajouter à votre flux de travail Linux. Sa combinaison de persistance des sessions, de gestion flexible des fenêtres, de division des volets et de personnalisation approfondie la rend indispensable pour quiconque travaille sérieusement dans le terminal — des développeurs et ingénieurs DevOps aux administrateurs système gérant l’infrastructure de production.
L’investissement dans l’apprentissage de tmux porte ses fruits immédiatement : plus de travail perdu à cause de connexions SSH interrompues, plus de jonglerie avec les fenêtres du terminal, et plus de surcharge de changement de contexte. Que vous exécutiez des charges de travail sur un plan VPS Hosting haute performance ou que vous gériez des Dedicated Servers bare-metal, tmux vous offre un environnement de ligne de commande structuré, résilient et efficace.
Commencez par les bases — créez une session, divisez un volet, détachez et réattachez — puis construisez progressivement votre ~/.tmux.conf à mesure que vos besoins évoluent. En quelques jours, vous vous demanderez comment vous avez pu vous en passer.
*Besoin d’un environnement serveur fiable pour mettre en pratique vos compétences tmux ? Explorez la gamme de plans VPS Hosting, de Dedicated Servers et de VPS Control Panels d’AlexHost — conçus pour la performance, la stabilité et l’accès root complet.*
sur tous les services d'hébergement