Edited at

ログイン時にtmuxを自動起動したい!


概要

sshでログインしたとき、いちいちtmux -u2って打つのが面倒だし、もしもセッションが残ってたら自動でそれにtmux attachして欲しい、面倒くさがりな欲張りさん向けです。

.bash_profileもしくは.bashrcに以下のコードを追記して下さい。


code


.bashrc

alias tmux="tmux -u2"

# tmuxの自動起動
count=`ps aux | grep tmux | grep -v grep | wc -l`
if test $count -eq 0; then
echo `tmux`
elif test $count -eq 1; then
echo `tmux a`
fi



やっていること

$countには、現在起動中のtmuxプロセス数が入ります。なので、以下の条件で各状態を判断出来るはずです。



  • $count = 0ならtmuxは起動していないはずなので、tmux -u2tmuxを起動します。


  • $count = 1ならtmuxのセッション自体は起動しているものの、ユーザはtmuxへとattachしていないはずです。


  • $count > 1なら、ユーザはすでにatattchしているので、これ以上の処理はしません。新しいpane作るたびに.bashrcは読み込まれるので、無限にatattchしてしまうのを防ぐためです。