先日,Mac Miniを購入したのですが,
普段,私がubuntuで使用しているzshの設定をmacOS Sierraに移植する際に色々問題がありました.
その調査と結果について書きます.
Mac Miniが届く
御存知の通り,iOS端末の開発をする場合,OSの選択肢は一つしかありません.
今までMacを所持していなかったのですが,iOSアプリ開発をする機会が増えそうなこと,また個人的にも興味があったことから,一番安くできるMac Miniを購入しました.
Thunderbolt2 VGA変換アダプタが届いた!! pic.twitter.com/e0jqDqHXGt
— いちご無双 (@musou1500) 2017年2月18日
この時点は今まで通りzsh+tmuxでの開発環境を整えるつもりでいました.
zsh+tmuxの設定を始めるが...
ubuntuでは,tmuxを自動で起動するスクリプトをzplugで読み込ませて使っていました.
こちらの記事を参考に設定したもので,今までなんの問題もなく動いていたのですが....
[tmux] 端末起動時に自動で新規セッションを作成 or 既存セッションにアタッチ
ガバガバすぎ pic.twitter.com/r97op8Lfr9
— いちご無双 (@musou1500) 2017年2月18日
ターミナルエミュレータ(iTerm2)のウィンドウサイズを変更した際にtmuxのステータスラインのサイズが変更されていません.
プロンプトに文字を打ち込んでみると,プロンプトのサイズも変更されていないようです.
Mac標準のterminal.appでもこの問題は再現しました.
原因の調査中,以下のようなバグレポートを発見し,iTerm2のmasterをビルドしてみたりしますが,解決には至りませんでした.
https://gitlab.com/gnachman/iterm2/issues/3706
http://www.zsh.org/mla/workers/2015/msg00853.html
原因を調査する段階でも
- tmuxのunixドメインソケットが勝手に消される(http://ja.stackoverflow.com/questions/21222/tmux%E3%81%AEunix%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88%E3%82%92%E6%B6%88%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E7%8A%AF%E4%BA%BA%E3%82%92%E7%89%B9%E5%AE%9A%E3%81%97%E3%81%9F%E3%81%84)
- neovimを起動するとなぜかpecoが表示される
- pecoがなぜかcpu120%食ってる
等の問題点が多発.精神的にかなりやられた状態でした.マジ虚無虚無プリン.
なお,「neovimを起動するとなぜかpecoが表示される」については,Ctrl+lで正常な画面に戻ることから,pecoが起動していたのではなく,なぜか正常でない位置に端末の画面が移動していたことが後で判明.
原因調査の結果
なぜかtmuxにSIGWINCH
が飛んでいないことまではわかりました.
実際に手動でkillall -SIGWINCH
してみるとtmuxのウィンドウがリサイズされることが確認できました.
色々バグレポートを漁ったのですが,わかったのはここまでです.
さらに,なぜかBash+tmuxだと問題が起こらないことが判明し,Bashに移行するに至りました.
試行錯誤の結果,メインのシェルとして快適に使える程度には設定できたので,それについてはまた別の記事で書きます.
同じ問題に遭遇し,解決された方,または解決には至らなかったものの調査過程で何かを得られた,という方がいらっしゃいましたらコメント欄にてご教授いただければ幸いです.