ターミナルを閉じるときにすべてのtmuxセッションを閉じるようにbashrcをどのように設定しますか?

ターミナルを閉じるときにすべてのtmuxセッションを閉じるようにbashrcをどのように設定しますか?

私はGnome Terminalとtmuxを使用していますが、Gnome Terminalを閉じたときにすべてのtmuxセッションも閉じるようにしたいと思います。可能ですか?確認しましたArch Wikiのtmuxに関する記事私はいくつかの関連コードを見つけましたが、それらのどれも私が望む効果を得ませんでした。 Gnome端末を閉じて開くと、端末を閉じて、すべてのウィンドウとプログラムが実行される前と同じセッションが表示されます。私が望むのは、Gnome端末を閉じたときにすべてのセッションが終了することです。

答え1

オプション1:使用.bash_logout

あなたの.bash_logout文書あなたはできます次へ追加tmux kill-serverログインシェルにない場合、またはSIGHUPによってシェルが終了した場合は効果はありません。

オプション2:bashの使用

このオプションはより強力です。.bash_profilebashを使用しているとし、次のコードを入力してください。

function close_tmux
{
    tmux kill-server
}
trap close_tmux EXIT

トラップに関する他のリソースへのリンク

trap声明のいくつかの背景

多くのtrap例を含むブログ投稿

Bashスクリプトガイドの罠に関する章

トラップに関するUnixおよびLinuxスタック交換の質問

関連情報