Aller au contenu principal

Guide de prise en main rapide de Tmux

Assisté par IA

Apprenez Tmux, le multiplexeur de terminal, depuis le debut : concepts fondamentaux, commandes courantes et integration approfondie avec Claude Code

Introduction

Adoption of tools like Tmux has surged, largely due to the agent team workflows found in command-line coding agent products like Claude Code.

Towards Data ScienceA beginner's guide to Tmux
Visiter

Si vous avez deja utilise les Agent Teams de Claude Code ou si vous souhaitez executer plusieurs instances de Claude simultanement, Tmux est un outil pratiquement indispensable. Il vous permet d'executer plusieurs sessions dans une seule fenetre de terminal, les sessions continuent de fonctionner en arriere-plan meme si vous fermez le terminal, et Claude peut automatiquement creer et gerer plusieurs Agents dans Tmux.

Ce tutoriel est concu specialement pour les utilisateurs de Claude Code. Il couvre a la fois les bases de Tmux et les techniques d'integration avec Claude Code.

Comprendre Tmux

Tmux (Terminal Multiplexer)

Multiplexeur de terminal qui permet de creer et gerer plusieurs sessions de terminal dans une seule fenetre. Sa caracteristique principale est la persistance des sessions : meme en cas de deconnexion, les sessions continuent de fonctionner et vous pouvez les retrouver dans leur etat initial lors de la reconnexion.

Source: Tmux WikiVisiter

Les trois concepts fondamentaux de Tmux :

┌─────────────────────────────────────────────────────────┐
│                    Session (session)                      │
│  ┌─────────────────────────────────────────────────────┐│
│  │                 Window (fenetre)                      ││
│  │  ┌──────────────┐  ┌──────────────┐  ┌───────────┐ ││
│  │  │   Pane 1     │  │   Pane 2     │  │  Pane 3   │ ││
│  │  │  (Claude 1)  │  │  (Claude 2)  │  │  (Logs)   │ ││
│  │  │              │  │              │  │           │ ││
│  │  │              │  │              │  │           │ ││
│  │  └──────────────┘  └──────────────┘  └───────────┘ ││
│  └─────────────────────────────────────────────────────┘│
│  Window 1: Development    Window 2: Testing             │
└─────────────────────────────────────────────────────────┘
ConceptAnalogieDescription
SessionEspace de travailConteneur de niveau superieur, continue de fonctionner meme en cas de deconnexion
WindowOnglet de navigateurUne session peut contenir plusieurs fenetres
PaneEcran diviseUne fenetre peut etre divisee en plusieurs volets

Installation et bases

Installer Tmux

# macOS
brew install tmux

# Ubuntu/Debian/WSL
sudo apt-get install tmux

# CentOS/RHEL
sudo yum install tmux

Verifier l'installation :

tmux -V
# Affiche par exemple : tmux 3.6a

La touche prefixe

Toutes les commandes Tmux commencent par une touche prefixe, qui est Ctrl+B par defaut.

Pour saisir une commande :

  1. Appuyez sur Ctrl+B (maintenez enfonce)
  2. Relâchez, puis appuyez sur la touche de commande

Par exemple, pour diviser la fenetre : Ctrl+B puis %

Aide-memoire des commandes courantes

Gestion des sessions

CommandeDescription
tmuxCreer une nouvelle session
tmux new -s nameCreer une session nommee
tmux lsLister toutes les sessions
tmux attach -t nameSe connecter a une session
tmux kill-session -t nameFermer une session
Ctrl+B dDetacher la session courante (execution en arriere-plan)

Gestion des fenetres

RaccourciDescription
Ctrl+B cCreer une nouvelle fenetre
Ctrl+B nFenetre suivante
Ctrl+B pFenetre precedente
Ctrl+B 0-9Basculer vers la fenetre specifiee
Ctrl+B ,Renommer la fenetre courante
Ctrl+B &Fermer la fenetre courante

Gestion des volets

RaccourciDescription
Ctrl+B %Division verticale (gauche/droite)
Ctrl+B "Division horizontale (haut/bas)
Ctrl+B touches directionnellesSe deplacer entre les volets
Ctrl+B xFermer le volet courant
Ctrl+B zMaximiser/restaurer un volet
Ctrl+B {Deplacer le volet vers la gauche
Ctrl+B }Deplacer le volet vers la droite

Autres commandes utiles

RaccourciDescription
Ctrl+B [Entrer en mode copie (defilement possible)
qQuitter le mode copie
Ctrl+B ?Afficher tous les raccourcis

Integration avec Claude Code

Pourquoi Claude Code a besoin de Tmux

  1. Mode split-pane des Agent Teams : chaque Teammate s'affiche dans un volet independant
  2. Execution en arriere-plan : les tâches continuent meme si vous fermez le terminal
  3. Persistance des sessions : contexte complet restaure apres une reconnexion
  4. Gestion multi-instances : executez plusieurs sessions Claude simultanement

Utilisation de base : executer Claude en arriere-plan

# Lancer Claude dans tmux
tmux new -s claude-work
claude

# Detacher la session (Claude continue de fonctionner)
# Ctrl+B d

# Se reconnecter plus tard
tmux attach -t claude-work

Utilisation du parametre --tmux

Claude Code prend nativement en charge l'integration Tmux :

# Lancer Claude dans une nouvelle session tmux
claude --tmux

# Utiliser avec worktree
claude -w feature-auth --tmux

Cela effectue automatiquement :

  1. La creation d'une nouvelle session tmux
  2. Le lancement de Claude Code dans cette session
  3. Le nommage de la session sous la forme claude-{ID-aleatoire}

Mode Tmux des Agent Teams

Les Agent Teams peuvent utiliser le mode d'affichage split-pane, avec chaque Teammate dans un volet independant :

// settings.json
{
  "teammateMode": "tmux"
}

Ou via la ligne de commande :

claude --teammate-mode tmux

Resultat :

┌─────────────────────────────────────────────────────────┐
│                    Team Lead                             │
├─────────────────┬─────────────────┬─────────────────────┤
│   Teammate 1    │   Teammate 2    │    Teammate 3       │
│   Security      │   Performance   │    Testing          │
│                 │                 │                     │
└─────────────────┴─────────────────┴─────────────────────┘

Configuration pratique

Fichier ~/.tmux.conf recommande

Creez ou editez ~/.tmux.conf :

# Utiliser Ctrl+A comme touche prefixe (plus accessible)
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# Activer le support de la souris
set -g mouse on

# Augmenter le tampon d'historique (Claude produit beaucoup de sortie)
set -g history-limit 50000

# Navigation entre volets en style vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# Raccourcis de division plus intuitifs
bind | split-window -h
bind - split-window -v

# Rechargement rapide de la configuration
bind r source-file ~/.tmux.conf \; display "Config reloaded!"

# Support 256 couleurs
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"

# Numerotation des fenetres a partir de 1 (0 est trop eloigne)
set -g base-index 1
setw -g pane-base-index 1

# Optimisation de la barre d'etat
set -g status-position bottom
set -g status-left-length 40
set -g status-right-length 60

Recharger la configuration :

tmux source-file ~/.tmux.conf

Configuration dediee a Claude Code

Configuration optimisee pour Claude Code :

# Raccourci pour ouvrir Claude en popup
bind -r y run-shell '\
  SESSION="claude-$(echo #{pane_current_path} | md5sum | cut -c1-8)"; \
  tmux has-session -t "$SESSION" 2>/dev/null || \
  tmux new-session -d -s "$SESSION" -c "#{pane_current_path}" "claude"; \
  tmux display-popup -w80% -h80% -E "tmux attach-session -t $SESSION"'

Cette configuration produit l'effet suivant :

  1. Appuyez sur Ctrl+A y pour ouvrir une fenetre popup Claude
  2. Chaque repertoire dispose de sa propre session Claude
  3. La session continue de fonctionner apres la fermeture de la popup
  4. La conversation precedente est restauree a la reouverture

Workflows courants

Workflow 1 : projets en parallele

# Creer une session independante pour chaque projet
tmux new -s project-a
# Lancer Claude dedans
claude -w feature-x

# Detacher, puis creer une autre session
# Ctrl+B d
tmux new -s project-b
claude -w bugfix-y

# Basculer entre les sessions
tmux switch -t project-a
tmux switch -t project-b

# Ou lister toutes les sessions pour choisir
# Ctrl+B s

Workflow 2 : tableau de bord de developpement

Creer un environnement de developpement multi-volets :

# Creer une session
tmux new -s dev

# Diviser en trois volets
# Ctrl+B % (division verticale)
# Ctrl+B " (division horizontale du côte droit)

# Disposition des volets :
# ┌───────────┬───────────┐
# │  Claude   │   Logs    │
# │           ├───────────┤
# │           │   Tests   │
# └───────────┴───────────┘

# Executer Claude dans le premier volet
claude

# Basculer vers le deuxieme volet (Ctrl+B fleche droite)
tail -f logs/app.log

# Basculer vers le troisieme volet
npm test -- --watch

Workflow 3 : developpement a distance

La fonctionnalite la plus puissante de Tmux est la persistance des sessions, particulierement adaptee au developpement a distance via SSH :

# Se connecter au serveur distant
ssh user@server

# Creer une session tmux
tmux new -s remote-claude

# Lancer Claude
claude

# Se deconnecter de SSH (Claude continue de fonctionner)
# Ctrl+B d
exit

# Se reconnecter plus tard
ssh user@server
tmux attach -t remote-claude
# La session Claude est entierement restauree

Workflow 4 : supervision des Agent Teams

Utiliser tmux pour superviser tous les Teammates d'un Agent Teams :

# Lancer Claude en mode tmux
claude --teammate-mode tmux

# Creer un Agent Team
# "Creer un agent team pour auditer le code..."

# L'ecran se divise automatiquement, un volet par Teammate
# Vous pouvez cliquer sur differents volets pour communiquer directement avec le Teammate correspondant

Depannage

Problemes courants

ProblemeSolution
Couleurs mal afficheesVerifiez que TERM=xterm-256color
La souris ne fonctionne pasAjoutez set -g mouse on a la configuration
Problemes de copier-collerUtilisez Enter pour copier en mode copie
Session disparueVerifiez avec tmux ls, il peut s'agir d'un redemarrage systeme

Nettoyer les sessions orphelines

Claude Code peut parfois laisser des sessions tmux non nettoyees :

# Lister toutes les sessions
tmux ls

# Fermer une session specifique
tmux kill-session -t session-name

# Fermer toutes les sessions (attention !)
tmux kill-server

Utilisateurs d'iTerm2

Si vous utilisez iTerm2 sous macOS, vous pouvez utiliser son integration native :

# Utiliser le mode d'integration tmux d'iTerm2
tmux -CC

# Ou dans Claude Code
claude --teammate-mode tmux

iTerm2 convertit automatiquement les volets tmux en onglets et ecrans divises natifs.

Mon retour d'experience

Quand utiliser Tmux

ScenarioTmux necessaire ?
Conversation simple et ponctuelle avec ClaudeNon
Tâches de longue dureeOui
Agent TeamsFortement recommande
Developpement a distanceIndispensable
Projets en paralleleRecommande

Configuration minimale

Si vous ne souhaitez pas vous compliquer avec la configuration, retenez simplement ces commandes :

# Creer une session
tmux new -s work

# Detacher (execution en arriere-plan)
Ctrl+B d

# Se reconnecter
tmux attach -t work

# Diviser les volets
Ctrl+B %    # division gauche/droite
Ctrl+B "    # division haut/bas

# Changer de volet
Ctrl+B touches directionnelles

Les meilleures combinaisons avec Claude Code

  1. Worktree + Tmux : chaque worktree dans une session tmux independante

    claude -w feature-auth --tmux
  2. Agent Teams + Tmux : gestion visuelle de tous les Teammates

    claude --teammate-mode tmux
  3. Tâches longues + detachement : lancez puis detachez, revenez verifier plus tard

    # Lancer
    tmux new -s migration
    claude
    # "Executer la migration de base de donnees..."
    # Ctrl+B d
    
    # Quelques heures plus tard
    tmux attach -t migration

En conclusion

Tmux est un outil essentiel pour une utilisation efficace de Claude Code, en particulier dans les scenarios suivants :

Point cleDescription
PersistanceLes sessions ne sont pas perdues en cas de deconnexion
ParallelismeGerez plusieurs instances Claude simultanement
VisualisationAffichage split-pane des Agent Teams

Trois commandes de base suffisent pour commencer :

  • tmux new -s name pour creer une session
  • Ctrl+B d pour detacher une session
  • tmux attach -t name pour se reconnecter

Lectures complementaires :

Ressources :

Tutoriels video :

Commentaires

Table des matières