tmux new-windowで環境変数が読み込まれない件

ここのところqiitaの方ばっかり書いていて放置していたけど、たまにはこちらへ。

.tmux.confにnew-window -n pry pryと書いて自動的にpryのウィンドウを開いてたが、brew upgradeとかやってるうちに正常に起動しなくなった。 エラーメッセージが一瞬で消えてしまうので分かりにくいが、tmux new-window "pry;read v"とやればじっくり見ることができる。 それによるとどうやらrvmで入れたpryがインタプリタとして/usr/bin/rubyを起動しようとしてSEGVしているらしい。 Twitterで呟いて悩んでいたらサジェストを貰った。

おお?PATHの先頭に/usr/binが入っているので、rvmのrubyではなくシステムのrubyが呼び出されているようだ。

tmux内のプロンプトでecho $PATHすると正常なんだけど、これは

ということらしい。なるほど! pryが起動していたのは[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"が.zloginに入っていたため・・・なのかな? とりあえず.zshenvに

400: Invalid request

を書き、.zshrcや.zloginからrvmの設定を削除したところ、正常に起動するようになった。

また、これらのファイルのどれが読み込まれるか、またその順番についてはこちらの記事が参考になった。