Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code : Skills Commencer
Sections
Linux Serveurs virtuels

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 tmux

CentOS / RHEL / Fedora

# CentOS/RHEL 7
sudo yum install tmux

# CentOS/RHEL 8+ and Fedora
sudo dnf install tmux

Arch Linux

sudo pacman -S tmux

macOS (via Homebrew)

brew install tmux

Vérifier l’installation

tmux -V

Cela 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 :

tmux

Démarrer une session avec un nom descriptif (fortement recommandé) :

tmux new -s session_name

Par exemple, lors de la gestion d’un serveur web :

tmux new -s webserver

Lister les sessions actives

En dehors de tmux, lister toutes les sessions en cours d’exécution :

tmux ls

Exemple 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> d

C’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_name

Ou utiliser le raccourci :

tmux a -t session_name

Si une seule session existe :

tmux attach

Renommer 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_name

Pour terminer toutes les sessions :

tmux kill-server

Commandes 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.

ActionRaccourci
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.

ActionRaccourci
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> [
ActionTouche
Faire défiler vers le hautArrow Up ou Ctrl + u
Faire défiler vers le basArrow Down ou Ctrl + d
Rechercher vers l’avant/
Rechercher vers l’arrière?
Commencer la sélectionSpace
Copier la sélectionEnter
Quitter le mode copieq

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.conf

Si 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, puis Enter
  • 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.conf

Appuyez 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, puis c pour 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 $SESSION

Rendez-le exécutable et exécutez-le :

chmod +x start-dev.sh
./start-dev.sh

Synchronisation 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 on

Désactivez avec :

setw synchronize-panes off

Partage 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 shared

Les deux utilisateurs voient et contrôlent le même terminal en temps réel.

tmux Aide-mémoire rapide

Commandes de session

CommandeDescription
tmux new -s nameCréer une session nommée
tmux lsLister les sessions
tmux a -t nameSe connecter à une session
tmux kill-session -t nameTerminer une session
<prefix> dSe déconnecter d’une session
<prefix> $Renommer une session

Commandes de fenêtre

RaccourciDescription
<prefix> cNouvelle fenêtre
<prefix> n / pFenêtre suivante / précédente
<prefix> 0–9Basculer vers une fenêtre par numéro
<prefix> ,Renommer une fenêtre
<prefix> &Fermer une fenêtre

Commandes de volet

RaccourciDescription
<prefix> %Diviser verticalement
<prefix> "Diviser horizontalement
<prefix> ArrowNaviguer entre les volets
<prefix> zAgrandir / réduire un volet
<prefix> xFermer un volet
<prefix> qAfficher 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 drops

Réattachez-vous plus tard pour vérifier la progression :

tmux a -t deploy

Scé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.com

Basculez 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.*