SSH切断時にtmuxが自動で閉じないようにした

SSHとかで接続失敗した時とか画面表示確認する前に閉じられてしまい原因調べるのが面倒だったので、ssh/mosh コマンド実行時にはセッションが閉じてもtmuxのWindowsが閉じないようにしてみました。

SSH用

1
2
3
4
5
6
7
function ssh_tmux() {
  eval server=\${$#}
  tmux set set-remain-on-exit on\; \
      new-window -n s:$server "ssh $*"\; \
      set set-remain-on-exit off > /dev/null
}
alias ssh=ssh_tmux

Mosh用

1
2
3
4
5
6
7
function mosh_tmux() {
  eval server=\${$#}
  tmux set set-remain-on-exit on\; \
      new-window -n s:$server "mosh $*"\; \
      set set-remain-on-exit off > /dev/null
}
alias mosh=mosh_tmux

screenの時は良く分からなくて zombie ^[ と書いて全て残るようにしてたんだけど、tmuxはコマンド使えるので普段は自動で閉じて、ssh/moshの時だけ閉じないとかできて楽チンですね。

Comments