title | categories |
---|---|
Howto Tmux | sysadmin |
Tout comme screen, Tmux permet de gérer des terminaux lancés en arrière plan. Il s'agit d'une alternative enrichie qui prend notamment en charge des splits plus complexes.
Il diffère de screen avec le concept de fenêtres et "panes". Un "pane" tmux est une fenêtre dans la terminologie de screen. Une fenêtre tmux est un agencement d'un ou plusieurs "pane(s)" (par exemple, deux fenêtres côte à côte).
D'autres points de comparaison :
http://man.openbsd.org/OpenBSD-current/man1/tmux.1
# apt install tmux
Lister les sessions lançées :
$ tmux ls
perso: 2 windows (created Mon Sep 5 09:34:52 2016) [315x78]
travail: 1 windows (created Fri Oct 21 16:05:10 2016) [315x78]
Pour lancer une nouvelle session :
$ tmux
Pour lancer une nouvelle session sous le nom test:
$ tmux new -s test
Pour lancer une nouvelle session avec mutt par exemple :
$ tmux new mutt
Pour se rattacher à la session tmux 1 (voir tmux ls) :
$ tmux attach -t 1
À noter que plusieurs clients peuvent de rattacher à la même session simultanément (partage).
Une fois attaché à une session tmux, voici la liste des commandes de base utiles :
<Ctrl>+b+d : sortir de tmux
<Ctrl>+b+c : créer une nouvelle fenêtre
<Ctrl>+b+n : se déplacer sur la fenêtre suivante
<Ctrl>+b+w : lister les fenêtres disponibles
Une fois attaché à une session tmux, voici la liste des commandes pour gérer les "panes" :
<Ctrl>+b+x : fermer un pane
<Ctrl>+b+% : créer un pane vertical
<Ctrl>+b+" : créer un pane horizontal
<Ctrl>+b+z : passer le pane courant en plein écran
<Ctrl>+b+s : envoyer le pane courant vers une autre fenêtre
<Ctrl>+b+<flèche> : se déplacer entre les régions splitées
<Ctrl>+b+} : déplacer un pane vers la gauche
<Ctrl>+b+{ : déplacer un pane vers la droite
<Ctrl>+b+, : renommer un pane
<Ctrl>+b+[ : sélectionner la zone à copier
<Ctrl>+b+] : coller
<Ctrl>+b+= : se déplacer dans le buffer
Une fois connecté à une session, il est possible de lister les clients connectés :
$ tmux list-clients
/dev/pts/3: jdoe [193x42 rxvt-unicode-256color] (utf8)
/dev/pts/8: jdoe [181x41 xterm] (utf8)
Si on souhaite détacher proprement un des clients :
$ tmux detach client -t /dev/pts/8
$ tmux list-clients
/dev/pts/3: jdoe [193x42 rxvt-unicode-256color] (utf8)