J'utilise Gnome Terminal et tmux et j'aimerais que toutes les sessions tmux soient fermées lorsque je ferme le Gnome Terminal, est-ce possible ? J'ai consulté l'article d'Arch Wiki sur tmux et j'ai trouvé du code pertinent, mais aucun d'entre eux n'a fait ce que je voulais. En ce moment, si je ferme et ouvre le terminal Gnome, j'obtiens la session que j'avais, exactement comme c'était juste avant de fermer le terminal avec tous les volets et programmes en cours d'exécution. Ce que je veux, c'est que toutes les sessions soient tuées lorsque je ferme le terminal Gnome.
Réponse acceptée :
Option 1 :utilisez .bash_logout
Dans votre .bash_logout
fichier que vous pouvez ajouter tmux kill-server
. Cela ne fonctionnera pas si vous n'êtes pas dans un shell de connexion ou si le shell est tué avec SIGHUP.
Option 2 : utiliser des pièges bash.
Cette option est probablement plus robuste. Mettez le code suivant dans votre .bash_profile
(en supposant que vous utilisiez bash).
function close_tmux
{
tmux kill-server
}
trap close_tmux EXIT
Liens vers des ressources supplémentaires sur les pièges
Quelques informations sur trap
déclarations
Un article de blog avec beaucoup de trap
exemples
Un chapitre sur les pièges d'un guide de script Bash
Une question d'échange Unix &Linux Stack sur les traps