94 lines
2.8 KiB
Markdown
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. |