(元記事 2020/12/21)
tmuxがすでに起動しているときはそれにデタッチする、起動してないときはnew windowする設定
を知りたい。
screenにはそういうことを自動的にやってくれるらしい
が、tmuxにはないので関数を作らないといけない
↓9年前の記事
tmuxが起動してると/tmp/tmux-*/defaultにファイルがあることを活用してる
この通り書いてみたけど、セッションの有無に関わらず、このファイルがあるので上手く行かなかった
↓やってることはシンプルで、tmux lsですでにセッションがあるか確認
あるなら、接続
ないなら、新規作成してる
-
-
-
-
-
- -
-
-
-
-
これに加えて、
新規で画面を開くときは、~/.tmux.conf以外の設定ファイルを読み込んで起動したかった
(共有アカウントで共有の計算機に入ったときにtmuxを使いたかったので)
やり方は以下の通り
source-fileのあとに書けばOK
function run_tmux(){
tmux ls > /dev/null
if [ $? -eq 1 -a -z "$TMUX" ]; then
tmux -2 new-session \; source-file /somewhere/.tmux.conf
elif [ -z "$TMUX" ] ; then
tmux -2 a;
else
echo "sessions should be nested with care."
fi
}