Translate

2013年10月3日木曜日

ログアウト時に自分が最後の一人だったらtmux kill-server

ログアウト時にtmuxのセッションを強制的に終了する。
自分以外の人が作業してるかどうかを一応チェックして、他に人がいたら何もしない。自分が別プロセスでログイン中の時も何もしない。
もちろん、tmuxが動いてない時も何もしない。
cat /path/to/killtmux.bash
#!/bin/bash

count=`who | grep $USER | wc -l`
if [ 1 -ge $count ]; then
expect -c "
set timeout -1
spawn /usr/local/bin/tmux ls
expect {
    \"failed\" {
        exit 1
    }
    \"eof\" {
        spawn /usr/local/bin/tmux kill-server
        exit 0
    }

    interact
}
"
fi

~/.bash_logoutあたりでこのスクリプトを叩くように追加。
echo /path/to/killtmux.bash >> ~/.bash_logout