User Tools

Site Tools


informatique:logiciels:tmux

TMUX

TMUX est comme son nom l'indique un multiplexeur de terminaux, à l'instar de screen ou byobu. Il s'organise en sessions, qui comprennent une ou plusieurs fenêtres (window), découpées en panels (panneau ?).

Il permet donc, notamment :

  • d'ouvrir une session, de lancer une commande, de se déconnecter de la session et de s'y reconnecter plus tard en récupérant son état (la commande continue de s'exécuter en arrière plan)
  • d'ouvrir plusieurs terminaux dans différentes fenêtres (onglets)
  • d'agencer plusieurs terminaux à l'écran (split vertical ou horizontal de panels)

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 arrière-plan :

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 la fenêtre : 0
  • le nom de la commande lancée dans la fenêtre courante ; au début c'est le terminal par défaut, bash par exemple
  • le flag * qui indique quelle fenêtre est affichée

Par exemple : [0] 0:bash*

Lorsqu'on est dans une session tmux, on utilise le préfixe (la séquence de touche) Controle + b pour indiquer à 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 courant
  • d : 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). On peut même directement presser PgUp ou PgDown pour entrer directement dans 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 panels
  • Ctrl ou Alt + flèches dir : redimensionner le panel courant
  •  o : sélectionner le panel suivant
  • Ctrl + o : inverser l'emplacement de 2 panels
  • q : 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.

Références

informatique/logiciels/tmux.txt · Last modified: 2024/01/24 15:01 by pteu