Imaginez que vous êtes connecté·e à une machine distante via SSH, que vous êtes en train de faire une mise à jour de cette machine (ou toute opération qu'il ne faut surtout pas interrompre au risque de tout casser) et que soudain la connexion se perd (ce qui est fort possible puisque le protocole IP est sans garantie, et le revendique)...
tmux
permet d'avoir une session qui reste persistante lorsque la connexion SSH se rompt, et de rattacher cette session une fois qu'on est reconnecté·e à la machine distante :
tmux
(si tmux
n'est pas installé, vous avez raté une étape lors des TP précédents, refaites le « TP installer quelques paquets de base sur son conteneur »).htop
qui montre l'utilisation des ressources de la machine.tmux attach
.htop
tourne toujours.htop
(plusieurs possibilités).tmux
sur vos machines distantes avant de les mettre à jour.tmux
tourner inutilement si vous n'avez pas d'opérations en cours lorsque vous vous déconnectez.tmux
est aussi bien utile pour avoir plusieurs shells en même temps à travers une seule connexion SSH, comme des onglets :
tmux
et créez des nouveaux onglets avec CTRL+b c
et passez d'un onglet aux onglets voisins avec CTRL+b n
(pour le suivant) et CTRL+b p
pour le précédent. Pensez c
comme "create", n
comme "next", p
comme "previous". Vous pouvez aussi aller direcrement à la Nième fenêtre avec CTRL+b N
.tmux
peut être utilisé comme un gestionnaire de fenêtres en mode texte.
Pour connaître l'ensemble des raccourcis claviers de tmux
, vous pouvez regarder le manuel de tmux
ou faire un CTRL+b ?
une fois que tmux
est lancé.
Vous verrez pas exemple comment couper (en: split) un terminal en deux verticalement ou horizontalement avec CRTL+b %
et CRTL+b "
, et comment passer d'un terminal à l'autre avec CRTL+b <flèche>
.
En découpant les fenêtres en 2, reproduisez les mosaiques suivantes :
Vous verrez aussi comment déplacer les bords à l'aide de combinaisons comme CRTL+b CTRL+<flèche>
.
En découpant les fenêtres et puis en déplaçant les bords, reproduisez les mosaiques suivantes :
Par ailleurs, tmux attach
permet à plusieurs personnes différentes d'utiliser le même shell simultanément, ce qui est bien pratique pour s'entraider.
Pour éviter que des étudiant·es laissent tourner des processus indéfiniment sur les machines de salles TP, un mécanisme fait que lorsque vous vous déconnectez, tous vos processus sont détruits, y compris tmux
.
Si vous voulez avoir des processus persistants avec tmux
sur une machine du sercal, suivez la page https://si-galilee.univ-paris13.fr/index.php?title=Processus_persistants (screen
peut être considéré comme un ancêtre de tmux
).
Objectifs du TP :
objectifs opérationnels du TP :
- ne pas planter ses prochaines mises à jour
objectifs pédagogiques du TP :
- se mettre bien