Présentation
Tmux permet de gérer des consoles virtuelles sous GNU/Linux.
À quoi cela sert d’avoir des consoles virtuelles dans une console physique ? C’est complètement idiot !
Pas si idiot que cela ! En effet, imaginez que vous ayez accès à distance à un serveur GNU/Linux (par le biais de ssh). Que vous lanciez un programme et que vous avez une coupure réseau. Le programme lancé à distance s’arrête. Utiliser une console virtuelle permet d’éviter ce genre de désagrément. C’est comme avoir une session lancée en permanence sur une machine. Locale ou distante.
Mieux encore, Tmux permet la scission de l’écran en plusieurs sous-consoles.
Installation sous Debian/Ubuntu
Il suffit de faire quelque chose comme :
sudo apt install tmux
Configuration
Le fichier de configuration est à créer dans son dossier personnel :
touch ~/.tmux.conf
Il suffit ensuite d’ajouter sa configuration suivant le manuel de Tmux (en) .
Par exemple pour ouvrir un Tmux avec 2 fenêtres dont la première contient 2 panneaux et se retrouver dans la fenêtre 1, on ajoute les lignes suivantes au fichier ~/.tmux.conf :
# Creation de la fenetre nommee 'activite'
new -n activite
# Separation verticale de cette derniere a 50
splitw -v -p 50 -t 0
# Nouvelle fenetre nommee 'console'
neww -n console
# Selection de la fenetre 'activite'
selectw -t activite
Utilisation
Créer une nouvelle sessions à l’arrache (sans nom ni aucun paramètre) :
tmux
Quitter la session :
exit
ou bien tapez simultanément sur les touches [Ctrl]+[d].
Détacher la session (afin d’y revenir plus tard) : Tapez simultanément sur [Ctrl] + b, puis tapez d.
Pour se rattacher à la session :
tmux attach
NB: Quand on a plusieurs sessions, il est bien moins simple de rattacher une session. Il faut donc les lister puis choisir celle que nous voulons rejoindre (Cf. ci-après).
Lister les sessions actives :
tmux list-sessions
ou :
tmux ls
Rattacher une session donnée, par exemple la session 0 :
tmux attach -t 0
Nommer une session à sa création :
tmux new -s leNomDeMaSession
Astuces
Utiliser Control + A au lieu de celle par défaut
Pour utiliser la combinaison de touches [Ctrl] + [a] au lieu de [Ctrl] + [b], faites :
- Ctrl + b dans une console tmux
- Tapez :
:set-option -g prefix C-a
Afficher le résultat d’une commande à droite dans la barre Tmux
Il suffit d’utiliser #(maCommande) pour que Tmux l’interprète. Par exemple :
- Ctrl + b (ou Ctrl + a si vous l’avez changé)
- Tapez :
:set -g status-right "#(maCommande) %R %d-%m-%y"
Ceci va afficher le résultat de maCommande puis afficher l’heure puis la date. En effet la barre de statut affiche le résultat d’une commande date.
Afficher la batterie restante
Enregistrez le fichier battery dans ~/bin (de votre HOME) puis faites la procédure précédente avec les valeurs suivantes :
set -g status-right "#(hostname) | #(~/bin/battery) | %R %d-%m-%y"
Vous obtiendrez un statut comme celui-ci :
ordy | 75% | 09:28 10-10-13