Macのログインシェルをzshに変更する

以前に一度設定はしていたのですがちょっとおかしなところ(screenがうまく起動しない、日本語が入力できないとか)がいくつかあったので再設定しました。

zsh-develをMacPortsでインストールする

どうやら最初からインストールされているzshではバージョンの4.24のため日本語が入力できないみたいなのでMacPortsであらたに4.3以上のものをインストールしなおします。
$sudu port install zsh-devel
Enter password:
インストールが終わると、/opt/local/binにzsh-4.3.4があるはずです。

ログインシェルの変更

ユーティリティのNetInfoマネージャもしくは、Terminalからchshを実行してログインシェルを変更します。今回はchshを使用して変更します。ちなみにTerminalの環境設定でシェルを指定している場合は「/usr/bin/loginを使ってデフォルトのログインシェルを実行する」に直しといて下さい。

追記: MacPortsでインストールしたzshをそのまま登録しても不正なシェルだかなんだか言われてエラーがでるのでそれの対応も必要。/etc/shellsに今回使用するzshのパスを追記します。書くの忘れてたよ・・・

$vi /etc/shells

/opt/local/bin/zsh-4.3.4

chshを実行すると編集画面にうつるので、Shellの項目に先程インストールしたzshのパスを指定します。

$chsh

6: ## 7: Shell: /opt/local/bin/zsh-4.3.4 8: Full Name: 名前

日本語設定

Terminal、zshの日本語設定を行います。

Terminalの日本語設定

  1. Cmd + i でターミナルインスペクタを開く
  2. エミュレーション->「非ASCII文字をエスケープする」のチェックをはずす
  3. ディスプレイ->日本語や中国語などにワイドグリフを使用する」と「ワイドグリフは2桁とカウントする」のチェックをオンにする
  4. 文字 エンコーディングをUnicode(UTF-8)に変更する

zshの日本語設定

ホームディレクトリの.inputrcに以下の文を追記。ファイルが無い場合新規に作成する
同じくホームディレクトリの.zshenvに以下の文を追記。lsで日本語をきちんと表示させるためにaliasで”ls -v”を指定しています。
alias ls=“ls -v”

export LANG=ja_JP.UTF-8

Terminalの再起動

設定を読みこむためにTerminalを一度再起動します。以下の点が確認できれば問題ないとおもいます。
  1. ログインシェルがzshになっている
  2. echo $SHELLで/opt/local/bin/zsh-4.3.4が出力される
  3. echo 日本語など日本語が入力でき、かつちゃんと出力される
  4. lsを発行したときに日本語のファイルやディレクトリが文字化けしていない