Gérer les séances TMUX

Gérer les séances TMUX
Travailler à distance sur différentes machines peut devenir écrasant sans utiliser de programme comme TMUX. De plus, devoir garder une trace du travail que vous faites sur chaque machine tout en essayant de vous rappeler à quel endroit vous étiez dans chaque fenêtre de terminal pour chaque machine peut rapidement devenir incontrôlable.

Cependant, avec un programme tel que TMUX, ces frais généraux de l'énergie et du temps des développeurs sont complètement supprimés. De plus, avec TMUX, vous pouvez non seulement travailler avec plusieurs machines et plusieurs environnements en même temps, mais vous pouvez également basculer rapidement entre eux. Par conséquent, apprendre à mieux gérer les séances TMUX peut potentiellement augmenter votre productivité et votre capacité à travailler.

Listing des sessions TMUX

Pour afficher une liste de toutes les sessions TMUX en cours d'exécution sur une machine, la commande TMUX LS est utilisée dans le terminal, comme indiqué ci-dessous:

Les informations fournies par la commande TMUX LS apparaissent dans l'ordre suivant:

  • Site Web1, qui est le nom de la session TMUX répertoriée ici,
  • 2 Windows, qui montre le nombre de fenêtres dans le site Web1 TMUX Sessions, et
  • (Créé le 9 juin 03:08:42 2022) qui montre la date à laquelle la session a été créée.

Si une machine n'a pas de sessions TMux en cours d'exécution lorsque vous exécutez la commande TMUX LS, la sortie suivante est affichée:

Renommer les séances de TMUX

Comme beaucoup d'autres opérations pour TMUX, le renommer une session dans TMUX peut être effectué de deux manières. La première façon de renommer une session dans TMUX est de le faire de l'extérieur de la session, dans le terminal. Utilisez la commande suivante pour renommer une session:

$ TMUX RENAME-SESSION -T

Par exemple, dans la capture d'écran ci-dessous, une session TMUX est actuellement en cours d'exécution, appelée WebDev, que nous voulons renommer en tant que site Web1.

Si l'opération de changement de nom est réussie, la commande ne produit rien et nous pouvons vérifier le nouveau nom de la session via $ tmux ls comme indiqué:

La deuxième façon de renommer une session TMUX est de l'intérieur de la session. Semblable à l'exemple ci-dessus, nous allons renommer la session suivante de WebDev au site Web1:

La combinaison clé Préfixe, $ est utilisé pour y parvenir. Par exemple, dans mon installation Ubuntu, cette combinaison clé serait Ctrl + B, $.

Le résultat est indiqué dans la capture d'écran. Comme vous pouvez le voir, la session est désormais nommée Site Web1 dans le coin inférieur gauche de TMUX:

Création d'une nouvelle session TMUX avec un nom

De même, si vous avez besoin de créer une session TMux avec un nom au préalable, au lieu de le renommer plus tard, vous pouvez utiliser la syntaxe suivante pour TMUX nouvelle commande:

$ tmux new -s

Par exemple, si vous souhaitez créer une autre session où vous configurez un autre serveur distant pour une utilisation VPN, vous pouvez créer une session TMUX appelée VPNServer en utilisant la commande suivante:

$ tmux new -s vpnserver

Cette nouvelle session TMUX est présentée ci-dessous:

Attachement aux séances TMUX

Lorsque vous souhaitez joindre votre terminal à une session TMUX en cours d'exécution, la commande à utiliser est:

$ tmux attach -t

Par exemple, si vous souhaitez continuer votre travail sur la session SITE WEBLE1 et que votre terminal n'est actuellement pas joint à cette session TMUX spécifique, vous exécutez la commande suivante:

$ tmux joint -Te site Web1

Pour obtenir une liste de sessions auxquelles vous pouvez vous attacher, utilisez la commande LS comme indiqué dans une section ci-dessus.

Se détacher des séances de TMUX

Le détachement de TMUX nécessite l'utilisation de la commande Préfixe + D. Par exemple, dans mon installation Ubuntu, la commande de préfixe est Ctrl + B, donc pour se détacher de la session en cours d'exécution, je dois appuyer sur Ctrl + B, puis appuyer sur D pour détacher. Une fois que vous avez détaché votre terminal de la session TMUX, la session est toujours en cours d'exécution. Cela signifie que tous les processus que vous avez laissés en cours d'exécution dans la session, tels que HTOP, un téléchargement de fichiers via Curl ou toute commande de lots, continueront d'exécuter jusqu'à la fin.

Cette fonction de TMUX fonctionne bien pour les serveurs distants où vous devez SSH pour lancer un processus, puis le laisser fonctionner en arrière-plan. Contrairement à l'exécution directe de la commande de votre terminal via SSH, l'utilisation de TMUX vous permet d'utiliser la commande detach pour exécuter n'importe quel processus en arrière-plan.

Tuer les séances de TMUX

Tuer une session TMUX le détruit complètement. Par conséquent, cette commande doit être utilisée avec soin. Cette commande n'est pas réversible et peut entraîner une perte de travail.

Semblable au renomment d'une session TMUX, il existe deux façons de tuer une session individuelle. La première façon est à travers le terminal, et la seconde est de l'intérieur de la session TMUX.

Afin de tuer une session TMUX à partir du terminal, utilisez la commande suivante:

$ tmux kill-session -t

Par exemple, si j'ai une session TMux en cours appelée VPNServer et que je veux le tuer via le terminal, je peux utiliser la commande suivante:

$ tmux kill-session -t vpnserver

Comme indiqué ci-dessous, la session n'est plus disponible et est détruite.

La deuxième façon de tuer une session TMUX est de l'intérieur de la session. Sortez simplement de toutes les vitres et fenêtres qui courent dans cette session et sortez de la dernière fenêtre de la session. Cela entraînera la mort de la session, tout comme cela aurait été à travers le terminal. La capture d'écran ci-dessous montre une session en cours d'exécution de TMUX appelé VPNServer:

Lorsque nous attachons notre terminal à cette session et sortons de toutes les fenêtres, la session est tuée. Cela peut être vu dans les captures d'écran ci-dessous:

Après avoir quitté toutes les fenêtres de la session VPNServer, TMUX LS montre que la session a été tuée:

Tuer toutes les sessions TMUX sur une machine

Enfin, si vous avez besoin de tuer toutes les sessions TMux sur une machine, vous pouvez utiliser la commande suivante:

$ tmux kill-server

Comme le montre la capture d'écran ci-dessous, deux sessions TMUX sont en cours d'exécution, WebDev et VPNServer. Si vous exécutez la commande Kill-Server, les deux séances sont tuées:

En un mot:

Pour démarrer une session TMUX, utilisez la commande suivante:

$ tmux new -s

Pour se détacher de la session TMUX actuelle, utilisez la combinaison de touches TMUX suivante:

Ctrl + b d

Pour Rattach à une session TMUX, utilisez la commande suivante:

$ tmux attach -t

Pour renommer une session TMUX, utilisez la commande suivante:

$ TMUX RENAME-SESSION -T

Vous pouvez également renommer la session TMUX en cours d'exécution à l'aide de la combinaison de touches TMUX suivante:

Ctrl + b ,

De plus, vous pouvez utiliser la commande suivante pour tuer une session TMUX:

$ tmux kill-session -t