Ich verwende Gnome Terminal und tmux und möchte, dass alle tmux-Sitzungen geschlossen werden, wenn ich das Gnome Terminal schließe, ist das möglich? Ich habe den Arch-Wiki-Artikel zu tmux überprüft und relevanten Code gefunden, aber keiner von ihnen hat das getan, was ich wollte. Wenn ich jetzt das Gnome-Terminal schließe und öffne, bekomme ich die Sitzung, die ich hatte, genau so, wie es war, bevor ich das Terminal mit allen Fenstern und laufenden Programmen geschlossen habe. Was ich möchte, ist, dass alle Sitzungen beendet werden, wenn ich das Gnome-Terminal schließe.
Akzeptierte Antwort:
Option 1:Verwenden Sie .bash_logout
In Ihrer .bash_logout
Datei können Sie tmux kill-server
hinzufügen . Dies funktioniert nicht, wenn Sie sich nicht in einer Login-Shell befinden oder wenn die Shell mit SIGHUP beendet wird.
Option 2:Verwenden Sie Bash-Traps.
Diese Option ist wahrscheinlich robuster. Fügen Sie den folgenden Code in Ihr .bash_profile
ein (vorausgesetzt, Sie verwenden bash).
function close_tmux
{
tmux kill-server
}
trap close_tmux EXIT
Links zu zusätzlichen Ressourcen über Fallen
Einige Hintergrundinformationen zu trap
Aussagen
Ein Blogbeitrag mit vielen trap
Beispiele
Ein Kapitel über Fallen aus einem Bash-Skriptleitfaden
Eine Unix- und Linux-Stack-Austauschfrage zu Traps