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 :

: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 :

: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

Liens