Guide

tmux ne plus jamais perdre une session

tmux préserve vos sessions SSH, découpe votre terminal et synchronise des panneaux. Configuration complète, scripting et plugins pour les DevOps.

Sommaire

En 2007, Nicholas Marriott en avait assez de GNU Screen. Screen existait depuis 1987, était installé partout, et avait une config qui ressemblait à ce qu'on obtenait quand on demandait à quelqu'un d'écrire un fichier de configuration en 1987. Ce n'est pas un compliment.

Il a écrit tmux. Vingt ans plus tard, tmux est devenu l'outil que tout le monde installe sur ses serveurs, que la moitié comprend à moitié, et que l'autre moitié utilise uniquement pour Ctrl+b d et tmux attach. Ce guide parle de ce qui vient après.

Le problème que tmux résout - et que vous avez tous vécu

Vous êtes connecté en SSH sur un serveur de prod. Vous avez un build qui tourne depuis 20 minutes, un tail de logs dans un autre shell, et vim ouvert sur trois fichiers en cours de modification. Votre connexion SSH tombe. Réseau instable, timeout, VPN qui décide de redémarrer, chat qui marche sur le clavier - peu importe la raison.

Tout ce que vous faisiez est mort. Le build, les logs, vim, tout. Vous vous reconnectez et vous recommencez depuis zéro, avec ce sentiment particulier qui se situe quelque part entre la rage et la résignation.

tmux règle ça. Le serveur fait tourner tmux. Vos sessions vivent dans tmux. Votre connexion SSH n'est qu'une fenêtre sur tmux - elle peut tomber, se reconnecter, changer d'ordinateur, peu importe. Les sessions continuent de tourner côté serveur, exactement là où vous les avez laissées.

C'est ça, tmux. Tout le reste c'est du bonus.

Les concepts - la hiérarchie que tout le monde confond

tmux a trois niveaux. Les confondre au début est normal. Les confondre après six mois d'utilisation est moins excusable.

Session - le conteneur principal. Une session survit à la déconnexion SSH. Vous pouvez avoir plusieurs sessions sur le même serveur - une par projet, une par client, une par contexte. Chaque session a un nom.

Fenêtre (window) - l'équivalent d'un onglet de navigateur. Une session contient une ou plusieurs fenêtres. Chaque fenêtre occupe tout l'écran. Vous naviguez entre elles avec le préfixe + numéro.

Panneau (pane) - la subdivision d'une fenêtre. Une fenêtre peut être découpée en plusieurs panneaux - horizontalement, verticalement, ou les deux. Chaque panneau est un shell indépendant.

Session: rudeops
  ├── Fenêtre 1: dev
  │     ├── Panneau gauche: vim
  │     └── Panneau droit: shell
  ├── Fenêtre 2: logs
  │     ├── Panneau haut: nginx logs
  │     └── Panneau bas: app logs
  └── Fenêtre 3: monitoring
        └── Panneau unique: htop

Le préfixe - et pourquoi Ctrl+b c'est une mauvaise idée

Toutes les commandes tmux commencent par le préfixe. Par défaut : Ctrl+b. C'est inconfortable, loin sur le clavier, et Ctrl+b est aussi le raccourci de "page précédente" dans certains terminaux. La quasi-totalité des gens qui utilisent tmux sérieusement le changent.

Les deux alternatives populaires :

Ctrl+a - compatible avec les vieux réflexes GNU Screen. Le problème : Ctrl+a est aussi le raccourci bash/zsh pour "aller en début de ligne". Dans tmux, vous perdez ce raccourci dans les panneaux... à moins d'appuyer deux fois sur Ctrl+a, ce qui finit par devenir un réflexe.

Ctrl+Space - de plus en plus populaire. Confortable, peu utilisé par d'autres outils, facile à atteindre. C'est ce que j'utilise. Vous ferez votre propre choix et vous en changerez au moins une fois.

Dans ~/.tmux.conf :

# Changer le préfixe
unbind C-b
set-option -g prefix C-Space
bind-key C-Space send-prefix

La config ~/.tmux.conf - ce qu'on devrait tous avoir

# ~/.tmux.conf

# Préfixe
unbind C-b
set-option -g prefix C-Space
bind-key C-Space send-prefix

# Recharger la config sans quitter tmux
bind r source-file ~/.tmux.conf \; display-message "Config rechargée"

# Découpage intuitif - | pour vertical, - pour horizontal
unbind '"'
unbind %
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"

# Navigation entre panneaux à la vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# Redimensionnement des panneaux
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

# Activer la souris
set -g mouse on

# Numéroter les fenêtres depuis 1 (pas 0)
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on

# Augmenter le buffer de l'historique
set -g history-limit 50000

# Terminal colors
set -g default-terminal "screen-256color"
set -ag terminal-overrides ",xterm-256color:RGB"

# Pas de délai sur Escape (important pour vim)
set -sg escape-time 0

# Mode vi pour le copier-coller
set-window-option -g mode-keys vi

# Barre de statut
set -g status-position bottom
set -g status-bg colour234
set -g status-fg colour137
set -g status-left '#[fg=colour233,bg=colour241,bold] #S '
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m/%Y %H:%M '
set -g status-right-length 50
set -g status-left-length 20

set -sg escape-time 0 - ce paramètre sauvera votre santé mentale si vous utilisez vim dans tmux. Par défaut, tmux attend 500ms après un Escape avant de l'envoyer à l'application, pour détecter les séquences d'échappement. Vim dans tmux avec escape-time non nul donne une expérience utilisateur qui ressemble à du développement sur une connexion satellite. Mettez-le à 0.

Sessions persistantes - le workflow qui change tout

Les commandes de base

# Créer une session nommée
tmux new-session -s rudeops
tmux new -s rudeops          # raccourci

# Détacher une session (la laisser tourner en fond)
# Préfixe + d

# Lister les sessions actives
tmux list-sessions
tmux ls

# Rattacher une session
tmux attach -t rudeops
tmux a -t rudeops            # raccourci
tmux a                       # dernière session utilisée

# Tuer une session
tmux kill-session -t rudeops

# Renommer une session depuis l'intérieur
# Préfixe + $

Le workflow SSH + tmux

La bonne façon de travailler sur un serveur distant :

# Se connecter et créer/rejoindre une session tmux
ssh user@serveur
tmux new-session -A -s main

-A : si la session main existe déjà, s'y attacher. Sinon, la créer. Une seule commande pour les deux cas. Vous ne vous demandez plus jamais si une session existe déjà.

Ou avec la fonction ssht() du guide zsh :

ssht() { ssh -t "$1" "tmux new-session -A -s main" }
ssht mon-serveur

Connexion SSH + création/attachement tmux en une commande. Si votre connexion tombe, vous faites ssht mon-serveur et vous retrouvez exactement là où vous étiez. Build toujours en cours, logs toujours en train de défiler, vim toujours ouvert. La sérénité.

Sessions multiples - organiser par contexte

# Une session par projet
tmux new -s rudeops-dev
tmux new -s rudeops-prod
tmux new -s client-xyz

# Naviguer entre les sessions
# Préfixe + s : liste interactive avec aperçu
# Préfixe + $ : renommer la session courante
# Préfixe + ( : session précédente
# Préfixe + ) : session suivante

Fenêtres et panneaux - travailler efficacement

Gestion des fenêtres

# Créer une fenêtre       : Préfixe + c
# Renommer la fenêtre     : Préfixe + ,
# Fenêtre suivante        : Préfixe + n
# Fenêtre précédente      : Préfixe + p
# Aller à la fenêtre N    : Préfixe + 1-9
# Fermer la fenêtre       : Préfixe + &

Gestion des panneaux

Avec notre config, | découpe verticalement et - découpe horizontalement :

# Préfixe + |   : split vertical (deux panneaux côte à côte)
# Préfixe + -   : split horizontal (deux panneaux l'un sur l'autre)
# Préfixe + h/j/k/l : navigation vim entre les panneaux
# Préfixe + H/J/K/L : redimensionner les panneaux
# Préfixe + z   : zoomer sur le panneau courant (toggle)
# Préfixe + x   : fermer le panneau courant
# Préfixe + q   : afficher les numéros des panneaux
# Préfixe + {   : déplacer le panneau courant vers la gauche
# Préfixe + }   : déplacer le panneau courant vers la droite

Préfixe + z - le zoom

Vous travaillez dans un petit panneau et vous avez besoin de voir plus. Préfixe + z zoome sur le panneau courant - il prend toute la fenêtre. Reappuyez pour revenir au layout précédent. Utile pour lire un fichier de log ou travailler dans vim sans avoir à redimensionner. C'est la fonctionnalité qu'on découvre après six mois et qu'on utilise ensuite tous les jours.

Les layouts prédéfinis

tmux a des layouts prédéfinis pour organiser les panneaux automatiquement :

# Préfixe + Espace : cycler entre les layouts
# even-horizontal  : panneaux côte à côte de même taille
# even-vertical    : panneaux empilés de même taille
# main-horizontal  : un grand panneau en haut, petits en bas
# main-vertical    : un grand panneau à gauche, petits à droite
# tiled            : grille de panneaux de même taille

Le mode copie - enfin comprendre le presse-papier

Le mode copie tmux est la fonctionnalité la plus utilisée et la plus mal configurée. Par défaut, vous ne pouvez pas copier du texte dans tmux vers votre clipboard système sans configuration supplémentaire. Ce qui explique pourquoi 70% des gens utilisent la souris pour sélectionner du texte dans tmux en désactivant le mode souris - perdant ainsi tous les avantages de la souris tmux.

La bonne solution :

# ~/.tmux.conf

# Mode vi
set-window-option -g mode-keys vi

# Entrer en mode copie : Préfixe + [
# Quitter le mode copie : q ou Escape

bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

# Copie vers le clipboard système
# macOS
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"

# Linux (nécessite xclip ou xsel)
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"

# Linux avec Wayland
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"

Le workflow mode copie

Préfixe + [   → entrer en mode copie
/terme        → chercher vers le bas
?terme        → chercher vers le haut
n / N         → résultat suivant / précédent
v             → commencer la sélection (comme vim)
C-v           → sélection rectangulaire
y             → copier et quitter le mode copie
q             → quitter sans copier

Navigation en mode copie : exactement comme vim. h/j/k/l, w/b, 0/$, gg/G, Ctrl+f/b. Si vous connaissez vim, vous connaissez le mode copie tmux.

Synchronisation de panneaux - la killer feature que personne ne connaît

C'est ici que tmux passe d'un outil pratique à un outil qui change la façon de travailler. La synchronisation de panneaux envoie la même frappe à tous les panneaux de la fenêtre courante simultanément.

Cas d'usage concret : vous devez exécuter une commande de maintenance sur 8 serveurs. Sans synchronisation : vous tapez la commande 8 fois, ou vous écrivez un script. Avec synchronisation : vous ouvrez 8 panneaux, chacun SSH sur un serveur différent, vous activez la synchronisation, et vous tapez une fois.

# Activer la synchronisation
# Préfixe + :setw synchronize-panes on

# Désactiver
# Préfixe + :setw synchronize-panes off

Ou mieux, avec un toggle dans ~/.tmux.conf :

bind S setw synchronize-panes \; display-message "synchronize-panes: #{?pane_synchronized,on,off}"

Préfixe + S bascule la synchronisation et affiche l'état dans la barre de statut. Vous savez toujours si elle est activée ou non - évite d'exécuter une commande destructive sur 8 serveurs quand vous pensiez avoir désactivé la synchro.

Le workflow complet sur plusieurs serveurs

#!/bin/bash
SERVERS=("prod-01" "prod-02" "prod-03" "prod-04")
SESSION="multi-deploy"

tmux new-session -d -s $SESSION

for i in "${!SERVERS[@]}"; do
  if [ $i -eq 0 ]; then
    tmux send-keys -t $SESSION "ssh ${SERVERS[$i]}" Enter
  else
    tmux split-window -t $SESSION
    tmux select-layout -t $SESSION tiled
    tmux send-keys -t $SESSION "ssh ${SERVERS[$i]}" Enter
  fi
done

tmux set-window-option -t $SESSION synchronize-panes on
tmux attach -t $SESSION

Ce script ouvre une session tmux, crée un panneau par serveur, se connecte en SSH sur chacun, dispose les panneaux en grille, et active la synchronisation. Vous vous retrouvez face à 4 panneaux, tous connectés à leurs serveurs respectifs, attendant votre commande. Tapez une fois, ça s'exécute partout.

Indicateur visuel dans la barre de statut

Quand la synchronisation est active, un indicateur visible évite les accidents :

# ~/.tmux.conf
set -g status-right '#{?pane_synchronized,#[bg=red] SYNC ,}#[fg=colour233,bg=colour241,bold] %d/%m/%Y %H:%M '

Fond rouge dans la barre de statut quand la synchro est activée. Impossible à rater. Votre DBA vous remerciera.

Scripting de sessions - retrouver son environnement en une commande

Le vrai gain de productivité tmux, c'est de scripter son environnement de travail. Plutôt que de recréer manuellement votre layout à chaque fois - vim à gauche, logs en haut à droite, shell en bas à droite - un script le fait en une commande.

Script de session de développement

#!/bin/bash
# ~/scripts/dev-session.sh

SESSION="rudeops-dev"
PROJECT_DIR="$HOME/projets/rudeops"

# Ne pas créer si la session existe déjà
tmux has-session -t $SESSION 2>/dev/null
if [ $? == 0 ]; then
  tmux attach -t $SESSION
  exit
fi

# Créer la session avec la première fenêtre
tmux new-session -d -s $SESSION -n "editor" -c $PROJECT_DIR

# Fenêtre 1 : éditeur + shell
tmux send-keys -t $SESSION:editor "vim ." Enter
tmux split-window -t $SESSION:editor -h -c $PROJECT_DIR
tmux resize-pane -t $SESSION:editor -R 30

# Fenêtre 2 : logs
tmux new-window -t $SESSION -n "logs" -c $PROJECT_DIR
tmux split-window -t $SESSION:logs -v
tmux send-keys -t $SESSION:logs.0 "tail -f /var/log/nginx/access.log" Enter
tmux send-keys -t $SESSION:logs.1 "tail -f /var/log/app/production.log" Enter

# Fenêtre 3 : monitoring
tmux new-window -t $SESSION -n "monitoring"
tmux send-keys -t $SESSION:monitoring "htop" Enter

# Fenêtre 4 : git
tmux new-window -t $SESSION -n "git" -c $PROJECT_DIR
tmux send-keys -t $SESSION:git "git log --oneline --graph --decorate --all" Enter

# Revenir sur la première fenêtre
tmux select-window -t $SESSION:editor
tmux select-pane -t $SESSION:editor.0

tmux attach -t $SESSION
chmod +x ~/scripts/dev-session.sh
alias dev='~/scripts/dev-session.sh'

Maintenant dev dans votre terminal ouvre (ou rejoint) votre environnement de développement complet. Build qui tourne, logs qui défilent, vim prêt - en une commande.

Script de session de déploiement

#!/bin/bash
# ~/scripts/deploy-session.sh
ENV=${1:-staging}
SESSION="deploy-$ENV"

SERVERS_STAGING=("staging-01" "staging-02")
SERVERS_PROD=("prod-01" "prod-02" "prod-03" "prod-04")

if [ "$ENV" = "prod" ]; then
  SERVERS=("${SERVERS_PROD[@]}")
else
  SERVERS=("${SERVERS_STAGING[@]}")
fi

tmux has-session -t $SESSION 2>/dev/null && tmux attach -t $SESSION && exit

tmux new-session -d -s $SESSION -n "servers"

for i in "${!SERVERS[@]}"; do
  if [ $i -eq 0 ]; then
    tmux send-keys -t $SESSION "ssh ${SERVERS[$i]}" Enter
  else
    tmux split-window -t $SESSION -h
    tmux select-layout -t $SESSION tiled
    tmux send-keys -t $SESSION "ssh ${SERVERS[$i]}" Enter
  fi
done

tmux new-window -t $SESSION -n "local"
tmux select-window -t $SESSION:servers
tmux attach -t $SESSION
deploy staging   # ouvre la session staging
deploy prod      # ouvre la session prod

Tmuxinator - pour ceux qui n'aiment pas les scripts bash

Si l'idée d'écrire des scripts bash pour configurer vos sessions vous semble trop artisanale, Tmuxinator fait la même chose via des fichiers YAML.

gem install tmuxinator
# ~/.config/tmuxinator/rudeops-dev.yml
name: rudeops-dev
root: ~/projets/rudeops

windows:
  - editor:
      layout: main-vertical
      panes:
        - vim .
        - git status
  - logs:
      layout: even-vertical
      panes:
        - tail -f /var/log/nginx/access.log
        - tail -f /var/log/app/production.log
  - monitoring:
      panes:
        - htop
tmuxinator start rudeops-dev
tmuxinator stop rudeops-dev
tmuxinator list

Les plugins - TPM et l'essentiel

TPM (Tmux Plugin Manager) gère les plugins tmux comme Oh My Zsh gère les plugins zsh - en moins populaire mais en aussi utile.

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Dans ~/.tmux.conf :

# TPM
set -g @plugin 'tmux-plugins/tpm'

# Les plugins essentiels
set -g @plugin 'tmux-plugins/tmux-sensible'    # defaults sensibles
set -g @plugin 'tmux-plugins/tmux-resurrect'   # sauvegarder/restaurer les sessions
set -g @plugin 'tmux-plugins/tmux-continuum'   # sauvegarde automatique
set -g @plugin 'tmux-plugins/tmux-yank'        # copie vers le clipboard système

# Config des plugins
set -g @continuum-restore 'on'
set -g @resurrect-capture-pane-contents 'on'

# Initialiser TPM (toujours en dernier)
run '~/.tmux/plugins/tpm/tpm'

Recharger la config puis installer les plugins :

# Préfixe + r        : recharger la config
# Préfixe + I        : installer les plugins (I majuscule)
# Préfixe + U        : mettre à jour les plugins
# Préfixe + alt+u    : désinstaller les plugins non listés

tmux-resurrect - ne plus jamais recréer ses sessions après un reboot

# Sauvegarder la session courante  : Préfixe + Ctrl+s
# Restaurer la dernière sauvegarde : Préfixe + Ctrl+r

tmux-resurrect sauvegarde vos sessions, fenêtres, panneaux, layouts, et même le contenu des panneaux si @resurrect-capture-pane-contents est activé. Après un reboot serveur, Préfixe + Ctrl+r et vous retrouvez votre environnement exactement comme vous l'avez laissé.

tmux-continuum - sauvegarde automatique

Sauvegarde automatique toutes les 15 minutes (configurable). Avec @continuum-restore 'on', tmux restaure automatiquement la dernière sauvegarde au démarrage. Vous ne pensez plus jamais à sauvegarder manuellement.

set -g @continuum-save-interval '15'  # toutes les 15 minutes

La config finale complète

# ~/.tmux.conf

# Préfixe
unbind C-b
set-option -g prefix C-Space
bind-key C-Space send-prefix

# Recharger la config
bind r source-file ~/.tmux.conf \; display-message "Config rechargée"

# Découpage intuitif
unbind '"'
unbind %
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"

# Navigation vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# Redimensionnement
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

# Synchronisation de panneaux avec indicateur
bind S setw synchronize-panes \; display-message "synchronize-panes: #{?pane_synchronized,ON,OFF}"

# Souris
set -g mouse on

# Numérotation depuis 1
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on

# Historique
set -g history-limit 50000

# Terminal
set -g default-terminal "screen-256color"
set -ag terminal-overrides ",xterm-256color:RGB"

# Pas de délai Escape (vital pour vim)
set -sg escape-time 0

# Mode vi pour le copier-coller
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"  # macOS
# bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"  # Linux X11
# bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"  # Linux Wayland

# Barre de statut avec indicateur de synchronisation
set -g status-position bottom
set -g status-bg colour234
set -g status-fg colour137
set -g status-left '#[fg=colour233,bg=colour241,bold] #S '
set -g status-right '#{?pane_synchronized,#[bg=red] SYNC ,}#[fg=colour233,bg=colour241,bold] %d/%m/%Y %H:%M '
set -g status-right-length 50
set -g status-left-length 20

# Plugins TPM
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-yank'

set -g @continuum-restore 'on'
set -g @continuum-save-interval '15'
set -g @resurrect-capture-pane-contents 'on'

run '~/.tmux/plugins/tpm/tpm'

À retenir

CommandePour quoi
tmux new -s nomCréer une session nommée
tmux new-session -A -s mainCréer ou rejoindre
tmux a -t nomRattacher une session
tmux lsLister les sessions
Préfixe + dDétacher la session
Préfixe + sListe interactive des sessions
Préfixe + zZoomer sur le panneau courant
Préfixe + SToggle synchronisation de panneaux
Préfixe + [Entrer en mode copie
Préfixe + Ctrl+sSauvegarder la session (resurrect)
Préfixe + Ctrl+rRestaurer la session (resurrect)

FAQ

tmux vs screen - lequel choisir en 2026 ?

tmux. Screen est installé partout par défaut sur les vieux systèmes, ce qui est sa seule qualité en 2026. Sa config est hostile, son développement est quasi à l'arrêt, et ses fonctionnalités s'arrêtent là où tmux commence. Si vous avez le choix - et vous l'avez - tmux.

Pourquoi mon copier-coller ne fonctionne pas dans tmux ?

Trois raisons possibles dans l'ordre de probabilité : vous n'avez pas configuré copy-pipe-and-cancel vers votre clipboard système, vous avez la souris activée et vous essayez de sélectionner avec la souris sans tenir Shift, ou vous êtes sur Linux et vous n'avez pas xclip/xsel/wl-copy installé. Suivez la section mode copie de ce guide dans l'ordre.

Ctrl+b vs Ctrl+a vs Ctrl+Space - lequel choisir ?

Ctrl+b si vous voulez garder les défauts et ne jamais expliquer votre config à personne. Ctrl+a si vous venez de Screen et avez les réflexes correspondants. Ctrl+Space si vous partez de zéro et voulez quelque chose de confortable sans conflit. Peu importe votre choix, vous vous demanderez dans six mois si vous auriez dû choisir autrement. C'est inévitable.

tmuxinator vs scripts bash - lequel choisir ?

Scripts bash si vous aimez comprendre exactement ce qui se passe et ne voulez pas de dépendance Ruby. Tmuxinator si vous préférez la lisibilité YAML et les commandes haut niveau. Les deux font le même travail - c'est une question de goût et de tolérance au YAML.

Est-ce que tmux fonctionne dans tmux ?

Oui, et c'est aussi perturbant que ça en a l'air. Votre préfixe devient Préfixe + Préfixe pour envoyer des commandes au tmux imbriqué. Ça arrive quand vous vous connectez en SSH sur un serveur qui a lui-même tmux. Gérable, mais évitez si vous pouvez.

Pour aller plus loin

  • tmux cheatsheet - référence rapide de tous les raccourcis
  • The Tao of tmux - le guide le plus complet, disponible en ligne gratuitement
  • tmux-plugins - l'écosystème de plugins
  • man tmux - 6000 lignes. Aussi agréable à lire que les CGU de votre banque. Mais la réponse à votre question est dedans.