シェルが終了したときにtmuxを分離しますが、セッション概要で終了したときに分離しない方法は何ですか?

シェルが終了したときにtmuxを分離しますが、セッション概要で終了したときに分離しない方法は何ですか?

私が開くすべてのターミナルウィンドウは自動的に新しいtmuxセッションに接続されます。これらのtmuxセッション内でシェルを閉じると、ターミナルウィンドウを閉じることができるようにtmuxクライアントを切断する必要があります。これは、次のオプションを設定することで実現できます。

set -g detach-on-destroy on

Ctrlただし、セッション概要(+ b、、、、)で現在のセッションを終了すると、tmuxクライアントも切り離されます。代わりに、セッションの概要から別のセッションを選択できるように、リンクされたままにしたいと思います。wxy

問題は、実行中のプロセス(シェルなど)が終了するため、セッションの終了時にtmuxを切り離しますが、セッション概要でセッションが終了したときに接続を維持するにはどうすればよいですか。

答え1

Detach-on-destroyをオフにし、detach-clientをウィンドウ終了フックに入れます。

答え2

以下はもう少し読みやすいです。

set -g remain-on-exit on
set -g pane-died 'if -F "#{&&:#{==:#{session_windows},1},#{==:#{window_panes},1}}" "killp; detach" "killp"'
set -g detach-on-destroy off

関連情報