tmuxは何も設定しない場合、デフォルトシェルが起動します。 大体はbashでしょう。
ただ、自分はfishを愛用していて、fishの場合はPOSIX互換性がないため、デフォルトシェルにする運用はあまり好まれなかったりします。
そのためtmuxからfishを呼び出して使ったりしているんですが、.tmux.conf
に以下のようにフルパスで書かないといけません。
set-option -g default-shell /usr/bin/fish
PCが一台の場合はこれでいいのですが、複数台で共有するときは、fishのフルパスが違うこともあったりして大変です。
ずっとこの問題で悩んでたんですが、.tmux.conf
でも環境変数を読み込めることを知ってなんとか解決できました。
tmux用に環境変数を定義すればいいじゃんと!!
自分は.bashrc
はdotfilesに入れないようにしているので、各環境ごとに以下のように書くだけで済みました
export TMUX_SHELL=`which fish`
.tmux.conf
は以下のようにすればOKです
set-option -g default-shell "${TMUX_SHELL}"