This is an old revision of the document!
Table of Contents
TMUX
TMUX est comme son nom l'indique un multiplexeur de terminaux, à l'instar de screen ou byobu. Il permet donc, notamment :
- d'ouvrir plusieurs terminaux dans différents onglets
- d'agencer plusieurs terminaux à l'écran (split vertical ou horizontal)
- se déconnecter (détacher) de sa session pour la laisser tourner en fond, puis de s'y reconnecter (s'attacher) plus tard pour reprendre la main dessus
On lance l'outil depuis un terminal avec la commande tmux
(il va créer une nouvelle session). Pour Lister les sessions existantes qui tournent en fond :
tmux ls 0: 3 windows (created Sat Oct 17 15:37:15 2020) [161x37] 3: 1 windows (created Sat Oct 17 18:42:39 2020) [161x37]
Pour se connecter (attach) à la session 0 : tmux a -t 0
.
La barre du bas affiche, par défaut :
- l'ID de session :
[0]
- l'ID de l'onglet : 0
- le nom de la commande lancée dans l'onglet courant ; au début c'est le terminal par défaut,
bash
par exemple - le flag
*
qui indique sur quel onglet l'on est
Par exemple : [0] 0:bash*
Lorsqu'on est dans une session tmux
, on utilise le préfixe Controle + b
pour préciser à TMUX que ce qui va suivre est une instruction le concernant.
Les raccourcis
Session
Une fois la session lancée (tmux
exécuté), on obtient un terminal lancé automatiquement dans une fenêtre (ou un onglet). Toutes les commandes sont à saisir en les préfixant de Ctrl + b
(par défaut) suivi de :
c
: pour créer un nouvel onglet ; ceux-ci sont affichés et numérotés dans la barre en bas de la fenêtre.,
: renommer l'onglet courant<nb>
: aller à l'onglet #<nb> (leur #<nb> est affiché devant leur nom, en bas de la fenêtre de la session)&
: tuer l'onglet courantd
: se détacher de la session courante. On sort de TMUX mais notre session continue de tourner en fond, avec les commandes qu'on a lancées dedans.)
: se connecter à la session suivante, si elle existe[
: rentre dans un mode qui permet de scroller dans l'historique de la fenêtre (q
pour quitter ce mode)
Panels
Pour afficher plusieurs terminaux dans une même fenêtre, on va splitter celle-ci pour créer des panneaux ou volets (panels) :
%
split vertical“
split horizontal<espace>
: interverti l'organisation du panel (split vertical / horizontal)flèches directionnelles
: se déplacer entre les panelsCtrl
ouAlt + flèches dir
: redimensionner le panel couranto
: sélectionner le panel suivantCtrl + o
: inverser l'emplacement de 2 panelsq
: afficher les IDs des panels<nb>
: sélectionner le panel d'ID<nb>
z
: afficher le panel courant en plein écran (même chose pour quitter le plein écran)!
: placer le panneau courant dans un nouvel onglet:join
: permet de joindre un terminal déterminé (on peut le spécifier avec ses IDs), par ex ::join -v -s 3.0 -p 50
pour joindre le panneau #0 de l'onglet #3 et l'ajouter dans un split vertical découpé à 50% de la hauteur du panneau courant.