reattach-to-user-namespaceが無くてもTmuxを起動させる

最近、自宅の開発環境にUbuntuデスクトップを迎えました。
その環境では、普段使っている.tmux.confだと、reattach-to-user-namespaceを要求してしまい起動しなかったので、起動させるために条件分岐させました。

環境

まず、環境。

  • Tmux ... 2.1
  • Zsh ... 5.1.1

条件分岐させる

とりあえず変更前の.tmux.conf



default-commandで指定してますね。
ここで落ちます。
だって、reattach-to-user-namespace入れてないし。

というわけで、以下の条件を満たす場合のみ、default-command先程の行を実行させようと思います。

まずは条件から。

  • reattach-to-user-namespaceが実行可能である

実行可能ではなかったり、参照出来ないのであれば、する必要はないですからね。
これで条件の洗い出しは終わり。
本当はもう少し検討した方がいいのかもしれないけど、今の使っている複数の環境では困ってないからOK。

次に、条件分岐のさせ方。
Tmuxには、条件分岐させるために、if-shellというコマンドがあり、今回はこいつを使う。
第一引数には、条件となるコマンドを文字列で指定。
第二引数には、条件が真となる場合に実行される処理を文字列で指定。

これらを元に書くと、対象の行を書き換える。



これで動くようになった。
良かった良かった。

if-shellを使うのは今回が初めてなんだが、ハマりどころがないことを祈りたい。
便利だからね。

コメント

このブログの人気の投稿

ElasticIPを複数利用する時の注意

新生活始まります

Deviseのメールを非同期で送信する