notes·de·pit

Parfois j'apprends à pêcher à des gens qui n'aiment pas le poisson

tmux à l'usage d'un prof

cadres_by_thoum_d2458vb.jpg, déc. 2020

tmux est un multiplexer de terminal — oui, ce billet est un tout petit peu technique — permettant d’ouvrir une session sur une machine et de s’en détacher en laissant la session ouverte (un peu comme screen).

Dans l’usage quotidien 1 de ma machine, j’utilise régulièrement un terminal et j’ai un répertoire par « activité » : un répertoire pour tel cours, un répertoire pour telle organisation… Un peu comme tout le monde j’imagine excepté les personnes qui mettent tout sur le bureau !

Lorsque je me consacre à un cours par exemple, je peux être dans le répertoire du cours pour trouver un énoncé, dans un autre terminal, être dans le répertoire pour les corrections… j’utilise donc plusieurs terminaux pour un même cours. Comme je travaille tantôt sur un cours, tantôt sur un autre cours et que j’ai plusieurs bureaux virtuels, ça devient vite désorganisé.

Pendant tout un temps, je retenais que le premier bureau, c’est pour tel cours, le second pour un autre, le cinquième pour les navigateurs internet, le sixième pour la communication instantanée et mail, etc. Depuis quelques temps, j’utilise tmux pour les terminaux et je conserve cette habitude de laisser dans mon bureau virtuel 6 le mail et irc et dans le 5, les navigateurs internet.

tmux me permet d’ouvrir une session par cours. Dans cette session, je peux ouvrir plusieurs terminaux. Les intérêts de tmux sont pour moi :

Bref, voici mon aide-mémoire de commandes.

tmux lance une session (numérotée) mais c’est mieux de directement la nommer avec l’option -t :

tmux new -t 

Pour lister les sessions existantes :

tmux ls

Pour rejoindre — s’attacher à — une session existante :

tmux a [-t ]
tmux a [-t ]

Pour tuer toutes les sessions tmux, il suffit de tuer le serveur. Il est aussi possible de n’en tuer qu’une par son nom ou son numéro :

tmux kill-server
tmux kill-session -t 
tmux kill-session -t

Dès lors que l’on se trouve dans une session tmux, un préfixe défini permet de lancer une commande. Ctrl-b est le préfixe par défaut. Dans la suite, prefix signifie chez moi Ctrl-b. Vous pourrez le redéfinir mais pour moi — en bépo — c’est accessible.

Fenêtre

Une session tmux se compose d’une ou plusieurs fenêtres. Une fenêtre occupe tout l’écran du terminal.

Panels

Une fenêtre peut être découpée en morceaux / carrés / panels.

Il est possible d’exécuter les mêmes actions dans tous les panels en même temps. Pour ce faire, entrer la commande :setw synchronize-panes on (et off quand c’est terminé).

Ensuite, on s’amuse à écrire un fichier de configuration en fonction des habitudes que l’on a. Le mien se trouve là.

Voilà, pour le reste, nous verrons à l’usage…


Crédit photo chez DeviantArt par Thoum


  1. Je sais que le mot est un peu tombé en désuétude au profit de journalier… que je trouve beaucoup moins joli. Oui les mots peuvent être beaux.