tmux サーバとクライアントのプロセス、そしてネスト
対話的 shell の中で tmux を起動したとき、サーバプロセスはその shell の子供になる。一方、クライアントプロセスは init の子供になるようだ。
tmux クライアントの中で tmux を起動しようとすると、
[takeyuki@sunya ~]$ tmux sessions should be nested with care. unset $TMUX to force [takeyuki@sunya ~]$ echo $TMUX /tmp//tmux-9002/default,14488,0
/tmp/tmux-9002/default は通信用のソケット名、14488 はクライアントの PID だと思われるが、最後の 0 はなんだろう。0 がターミネータで複数個のクライアントプロセス ID が並ぶのかしら。とりあえず、無理矢理 tmux をネストさせてみる。
[takeyuki@sunya ~]$ TMUX= tmux -L 2nd
ほうほう。ステータスラインが二重になった。キー入力は親側が受けるから子供側は操作できない。つまり子供側に新たなウィンドウを作ったりできない。操作したかったら親と子でプレフィックスを変えないと。
危険かな、と思いつつ次も試してみた。
[takeyuki@sunya ~]$ TMUX= tmux attach
うわー。大変。
それだけ。