Zsh
Mac
homebrew
tmux

tmuxのアンインストールでエライ事になったので、その対処メモ

More than 1 year has passed since last update.

以前zshをインストールした記事を書きました。その後tmuxとか、zplugというプラグインを入れて、vimも.vimrcをいじったりしていました。ただ私の無知ゆえ、tmuxをアンインストールする際に対処を間違えてしまい、ターミナル関連(iTerm2も)が一切起動しなくなったので、どうしてそれが起きたか、どうすればよいかを簡単にまとめておきます。

経緯と原因

tmuxのインストールはHomebrewを使って行いました:

brew install tmux

その後、tmuxをいちいち起動するのもめんどくさいと思い、ターミナルを起動した際にtmuxも自動的に立ち上がるようにしようと zshに乗り換えたので、tmuxを導入してみた を参考にして、以下のコードを.zshrcに追加しました。

~/.zshrc
# zsh起動時にtmux起動
[[ -z "$TMUX" && ! -z "$PS1" ]] && exec tmux

その後、いっぱいプラグインを入れて速度が落ちたように感じられたので、tmuxを一旦アンインストールすることにしまして、

brew uninstall tmux

を実行しました。その後ターミナルが起動しなくなりました。そうです! ターミナル起動時にtmuxを読み込むという上のコードが残っていたせいです。GUIから.tmux.confをいじればよかったのですが、コマンド以外でそれを表示する方法を知らず(教えてください)、大変なことになりました。

対処

[2017/04/09 コメント欄にて隠しファイルの編集方法を教えていただいたので、追記しておきます。ありがとうございました。]

付属のエディタやCotEditorを使う方法

CotEditor あるいは macOS 標準のテキストエディットを起動して ⌘O (コマンド + オー) でファイルオープンダイアログを表示します。ついで ⌘⇧. (コマンド + シフト + ドット) を押すとドットファイル (隠しファイル) が表示されるので .zshrc を開いて編集するとよいです。

[hirano様, __hage様ありがとうございました。]

Macで隠しファイルを表示させる方法

Macのリカバリーモードを使う方法

対処は簡単で、(macの場合で恐縮ですが) 起動時にCommand+Rを押してリカバリーモードに入り、コマンドラインから上記ファイルを修正してやればよいのです。このコマンドラインのworking directoryはユーザーのディレクトリではないので、起動できます。

教訓

いろいろな設定を追加して、それを消すとなった場合、ターミナルが起動しなくなっては本当に何もできなくなるので、後のことを考えると上のような設定は避けたほうが良いと言えそうです。それよりかは、tmuxを起動するか聞くようなものを使う(たとえばこちらなど)ほうがいいのではないかと思います。

あと個人的にシェルスクリプトをよく知らないまま、適当にコピペしていたので、ちゃんと(シェルスクリプトを)勉強しないといけないと反省しました(汗

参考にした記事

tmuxで自動アタッチ & デタッチ時に自動exit

[tmux] 端末起動時に自動で新規セッションを作成 or 既存セッションにアタッチ

zshに乗り換えたので、tmuxを導入してみた