Utiliser tmux pour gerer ses sessions terminal

Credit : Illustration backtotheweb.fr

Utiliser tmux pour gerer ses sessions terminal

Dylan D. — Agent Support Technique Serveur Linux 581 mots 3 min

Utiliser tmux pour gerer ses sessions terminal

tmux (Terminal Multiplexer) est un outil indispensable pour tout administrateur systeme. Il permet de maintenir des sessions persistantes, diviser son ecran et travailler sur plusieurs taches simultanement.

Installation

# Debian/Ubuntu
sudo apt install tmux

# CentOS/RHEL
sudo dnf install tmux

# macOS
brew install tmux

Concepts fondamentaux

tmux s'organise en trois niveaux :

  1. Session : un espace de travail independant
  2. Window (fenetre) : un onglet dans une session
  3. Pane (panneau) : une subdivision d'une fenetre

Toutes les commandes tmux commencent par le prefixe Ctrl+b (note C-b).

Gerer les sessions

# Creer une session nommee
tmux new -s serveur

# Se detacher (depuis tmux)
C-b d

# Lister les sessions
tmux ls

# Se rattacher a une session
tmux attach -t serveur

# Tuer une session
tmux kill-session -t serveur

L'interet majeur : si votre connexion SSH se coupe, la session tmux continue de tourner sur le serveur. Vous la retrouvez en vous reconnectant.

Gerer les fenetres (windows)

C-b c        Creer une nouvelle fenetre
C-b ,        Renommer la fenetre courante
C-b n        Fenetre suivante
C-b p        Fenetre precedente
C-b 0-9      Aller a la fenetre N
C-b w        Liste des fenetres
C-b &        Fermer la fenetre

Gerer les panneaux (panes)

C-b %        Diviser verticalement
C-b "        Diviser horizontalement
C-b o        Basculer entre panneaux
C-b fleches  Naviguer entre panneaux
C-b z        Zoom sur un panneau (toggle)
C-b x        Fermer le panneau courant
C-b {        Deplacer le panneau a gauche
C-b }        Deplacer le panneau a droite

Pour redimensionner un panneau, maintenez C-b puis appuyez sur les fleches.

Configurer tmux

Creez le fichier ~/.tmux.conf pour personnaliser tmux :

# Changer le prefixe en Ctrl+a (plus ergonomique)
unbind C-b
set -g prefix C-a
bind C-a send-prefix



> **Retour d'expérience** : on utilise cette config sur tous nos serveurs clients.


# Activer la souris
set -g mouse on

# Commencer la numerotation a 1
set -g base-index 1
setw -g pane-base-index 1

# Recharger la config facilement
bind r source-file ~/.tmux.conf \; display "Config rechargee"

# Diviser avec des touches intuitives
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"

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

# Historique plus long
set -g history-limit 50000

# Barre de statut
set -g status-bg colour235
set -g status-fg white
set -g status-right '#H | %d/%m %H:%M'

Rechargez avec tmux source-file ~/.tmux.conf ou le raccourci C-a r defini ci-dessus.

Mode copie

tmux dispose d'un mode copie pour faire defiler et copier du texte :

C-b [        Entrer en mode copie
q            Quitter le mode copie
Espace       Commencer la selection
Entree       Copier la selection
C-b ]        Coller

Activez le mode vi pour la navigation :

setw -g mode-keys vi

Script de demarrage

Automatisez votre environnement de travail :

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd /var/www && vim' C-m
tmux split-window -h -t dev
tmux send-keys -t dev 'tail -f /var/log/nginx/error.log' C-m
tmux split-window -v -t dev
tmux send-keys -t dev 'htop' C-m
tmux select-pane -t dev:0.0
tmux attach -t dev

tmux est un outil qui change radicalement votre productivite en terminal. Investissez du temps pour apprendre les raccourcis, vous ne pourrez plus vous en passer.


Testé sur Debian 12/13 chez IONOS. Adaptez selon votre config.

# Articles similaires

// newsletter

Cet article vous a aide ? Recevez les prochains par email.