GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie konfiguriere ich Bashrc so, dass alle Tmux-Sitzungen geschlossen werden, wenn ich das Terminal schließe?

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


Linux
  1. So öffnen und schließen Sie Verzeichnisse im Linux-Terminal

  2. Wie tmux Freude in Ihrem Linux-Terminal macht

  3. So durchsuchen Sie das Web vom Terminal unter Linux

  4. Wie konfiguriere ich SSH, damit nicht alle Identitätsdateien automatisch ausprobiert werden?

  5. Wie kürze ich den aktuellen Verzeichnispfad, der auf dem Terminal angezeigt wird?

So spielen Sie die aufgezeichneten Terminalsitzungen mit dem Scriptreplay-Befehl ab

So zeichnen Sie Linux-Terminalsitzungen mit Asciinema auf

Wie zeige ich ASCII-Kunst oben im Terminal, wenn es geöffnet ist?

So konfigurieren Sie Ihre cPanel-Firewall in der Cloud

Wie lösche ich die Anmeldeinformationen in AWS Configure?

Was verursacht all diese deklarieren -x … Zeilen, wenn ich ein Terminal öffne?