SSH - Utilisation de tmux

De PedroWiki

Introduction

Cf ces liens:

Utilité

Tmux, comme l'indique Wikipedia, est un multiplexeur de terminaux.

L'idée est de gérer, dans une session terminal (en local ou à distance via SSH), des terminaux virtuels.

Ces terminaux virtuels et les sessions associées peuvent continuer à fonctionner même quand votre session de terminal initial est fermée. On peut ainsi par exemple lancer une commande très longue dans un terminal virtuel, fermer sa session, revenir le lendemain et reprendre la main sur le terminal virtuel pour vérifier le résultat.

Les commandes les plus utiles

Notion de prefix

Les commandes tmux peuvent être appellées via l'utilisation d'un préfixe et d'une commande.

Le préfixe par défaut dans tmux est:

C-b

Ceci signifie qu'il faut maintenir la touche contrôle enfoncée et taper le b. A ce stade, tmux attend une commande.

Sessions

Ouvrir une nouvelle session

# tmux new -s jpd1

Renommer une session

# tmux rename-session -t <n° session> <nom session>

Quitter cette session

exit

ou

ctrl+D

Se détacher d'une session (mais conserver la session active)

# tmux detach

Lister les sessions en cours

# tmux list-sessions
jpd1: 1 windows (created Thu Mar 21 16:21:56 2019) [192x58]
# tmux new -s jpd2
[detached (from session jpd2)]
# tmux list-sessions
jpd1: 1 windows (created Thu Mar 21 16:21:56 2019) [192x58]
jpd2: 1 windows (created Thu Mar 21 16:25:49 2019) [192x58]

Autre méthode:

# tmux ls

Se rattacher à une session existante

# tmux attach -t <n°session>

Pane

Diviser sa session en panneaux (pane)

Splitter horizontalement (1 pane à gauche, 1 à droite):

(C-b) %

Splitter verticalement (1 pane en haut, 1 en bas):

(C-b) "

Se déplacer entre les panneaux

(C-b) <flèche de direction>

Passer un panneau en plein écran

(C-b) z

Même manip pour repasser le panneau à sa taille initiale.

Windows

Créer une nouvelle fenêtre

(C-b) n

Naviguer entre les fenêtres

Fenêtre précédente:

(C-b) p

Fenêtre suivante:

(C-b) n

Fenêtre <n°>:

(C-b) <n°>