2022-10-19 08:53:02 +02:00
2022-10-19 08:53:02 +02:00

Tmux

WTF ?

Tmux est un terminal que l'on peut lancer, pour ensuite s'en détacher, s'y rattacher, etc.

Cas d'utilisation:

  • travailler à distance avec une connexion de mauvaise qualité: la connexion saute, on la relance, on se rattache au tmux, on retrouve ses commandes et ses fichiers
  • travailler à distance, lancer des commandes qui durent longtemps: on lance la commande dans un tmux, on se détache du tmux, on se déconnecte, la commande tourne toujours.
  • travailler à plusieurs: un participant lance un tmux, les autres s'y attachent. La session est partagée.

Installation

yum install tmux

Configuration

Pour notre besoin, pas nécessaire.

Utilisation de base

Lancer un tmux:

L'option -s permet de //nommer// notre tmux

tmux new -s tmux1

Se rattacher à un tmux existant:

tmux at -t tmux1

Lister les tmux existants

tmux ls

Créer une nouvelle fenêtre

Par défaut, on se retrouve avec un tmux comportant 1 seule fenêtre, mais on peut en créer plusieurs, dans des "onglets"

contrôle+b c

Se déplacer d'une fenêtre à l'autre

Pour passer d'un "onglet" à l'autre, 2 possibilités:

  • contrôle+b N #N étant le n° de la fenêtre à atteindre
  • contrôle+b j ou l # j pour aller à la fenètre de gauche, l pour aller à celle de droite - cf les commandes de déplacement dans Vi

Fermer une fenêtre ou un tmux

Se déconnecter d'une fenêtre tmux va la fermer.

Fermer la dernière fenêtre tmux va fermer celui-ci

Mais il est peut-être préférable de s'en détacher

Se détacher d'un tmux

contrôle+b d

Scroller

contrôle+b [ permet de passer en mode scrolling, visible via un compter jaune en haut à droite de l'écran

puis pageUp ou pageDown, ⬆️ ou ⬇️

q permet de quitter le mode "scrolling"

Utilisation avancée

Travailler à plusieurs

Un utilisateur va créer le tmux: tmux -S /tmp/shared_tmux new -s shared #-S permet de spécifier le socket, un réglage de permission sur celui ci permet de contrôler qui peut se rattacher au tmux.

les autres vont s'y rattacher. tmux -S /tmp/shared_tmux at -t shared

Inconvénients: cela demande un peu de discipline. Tout redimensionnement de terminal est propagé aux autres utilisateurs.

Des astuces existent pour mettre en place des tmux en lecture-seule.

Partage de fenêtre

il est possible de partager une fenêtre:

  • contrôle+b % pour séparer verticalement la fenêtre
  • contrôle+b " pour séparer horizontallement la fenêtre.

Envoyer les entrées claviers sur plusieurs fenêtres

Après avoir fait contrôle+b a, toutes les frappes claviers sont envoyées à toutes les fenêtres tmux actives.

Imaginez une fenêtre tmux partagée en 3, avec une connexion ssh sur 3 machines différentes, il sera possible d'exécuter les mêmes commandes sur les 3 machines en même temps.

Description
No description provided
Readme 20 KiB