このスニペットを使用して、ターミナルの起動時にtmuxを起動しました。
# TMUX startup
if command -v tmux>/dev/null; then
[[ ! $TERM =~ screen ]] && [ -z $TMUX ] && exec tmux
fi
しかし、これでは端末画面を閉じないとtmuxを終了できません。
私はもう試した:
Ctrl + b :detach
exit
そして、PIDを探して殺します。これらのメソッドはすべて、ターミナルも閉じます。
ターミナルを起動するときにtmuxを起動するように設定しますが、ターミナルを閉じなくてもtmuxを閉じることはできますか?ヒントは大歓迎です!
問題はexec
コマンドです。説明したように here 、exec
は、現在のシェルを実行するように指定したものに置き換えます。したがって、tmux
を実行しているシェルがなく、tmux
があるだけなので、シェルを終了するとターミナルも終了します。
exec
を削除するだけで、期待どおりに機能するはずです。
if command -v tmux>/dev/null; then
[[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux
fi