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