Files
tmux_formation/Readme.md
2022-10-19 08:53:02 +02:00

94 lines
2.8 KiB
Markdown

##### 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.