tmuxの起動時にzshを起動

tmuxの起動時にzshコマンドが入っていればzshが起動するようにしたい。zshの起動時にtmuxを起動させるようにすることもできるけど,標準の環境は維持しておきたい。ログインシェルはbashで,tmuxが起動されていない状態からスタートしたい。使いたい時だけ明示的にtmuxzshを起動させたい。何かあったときに問題となるので初期状態はあまり大きく変えないほうがいいと思う。
以下のようにif-shellを使ってzshコマンドがあるかどうか条件分岐させてtmuxのデフォルトシェルを変更しようとした。
## default shell
if-shell “which zsh” “set-option -g default-command zsh”
Cygwinではうまく反映された。しかし,Ubuntu14.04では反映されない。以下のサイトによると,最初のWindowにはif-shellのコマンドは反映されないらしい。
参考:tmuxを使い始めてみた すぎゃーんメモ http://d.hatena.ne.jp/sugyan/20120229/1330483945

if-shellのようにコマンドがあるかどうか判別させようとするなら,以下のように判定も含めてシェル側でやらせたほうがいいみたい。
参考:tmuxpbcopy/pbpaste対応にする 四角革命前夜 http://d.hatena.ne.jp/sasaplus1/20120811/1344619924#20120811f1
これらを踏まえてtmuxの起動時にzshを起動させるには以下のようにした。
## default shell
# if-shell “command -v zsh” “set-option -g default-command zsh”

set-option -g default-command “which zsh 2>&1 > /dev/null && zsh” 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です