macOS Catalinaに合わせてzshに乗り換える

2019年10月に、新しいmacOS 10.15 Catalinaがリリースされました。皆さんはアップデートはお住みでしょうか。

実は、macoS 10.15 Catalinaからはデフォルトのログインシェルが変更となりましたので、それに合わせて筆者も使用するシェルを変更してみました。早速みていきましょう。

bashからzshへ

ご存知の通りmacOS 10.14 Mojave以前ではデフォルトのログインシェルはbashでした。私もせっせと~/.bash_profile(ubuntuで言う~/.bashrc)に設定を記述しておりました。しかし、macOS 10.15 Catalinaからはデフォルトのログインシェルがbashからzshへ変更となっているのです。

このシェルの変更については、appleの公式サイトでも述べられています。
https://support.apple.com/ja-jp/HT208050

macOS 10.15 Catalinaにアップデートしてから、bashでターミナル を立ち上げると、次のようにzshへの移行を勧められます。

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

ログインシェルをbashからzshに変更するためには、システム環境設定 → ユーザとグループ → 左下の鍵を開ける → controlを押しながら変更したいユーザをクリック → 詳細オプション、と進みます。

 

ログインシェルを/bin/bashから/bin/zshに変更します。

上の警告メッセージにもあるように、これらの設定を変更すると、アカウントが壊れてユーザがログインできなくなることがあるため、変更は慎重に行ってください。

本サイトでは責任を一切負いませんので、自己責任で変更をお願いいたします。

ちなみに、ログインシェルのzshへの変更はコマンドラインからも行うことができます。

chsh -s /bin/zsh

(筆者の場合なぜか上記コマンドを実行してもno changesと表示され、変更が効かなかったため、GUIでの変更を試したらうまくいきました。)

~/.bash_profile、~/.bashrcをそれぞれ移行する

bashでは、ログイン・ターミナル 起動時に読み込まれる~/.bash_profile、~/.bashrcというファイルにエイリアスやその他設定を記述していたと思います。zshでは~/.zprofile、~/.zshrcというファイルがそれに相当します。

そこで、以下コマンドで~/.bash_profile、~/.bashrcを~/.zprofile、~/.zshrcにコピーします。

$ cat ~/.bash_profils >> ~/.zprofile
$ cat ~/.bashrc >> ~/.zshrc

~/.zprofile、~/zshrcの中身を書き換え

基本的には先ほど紹介したコマンドで~/.bash_profile、~/.bashrcの中身をそのまま~/.zprofile、~/.zshrcにコピーすればおしまいです。

必要に応じて中身を書き換える必要があるかもしれません。

筆者が主に記述していたものは以下の通りです。

  • pyenvの初期設定
  • エイリアスの設定
  • xcodeのsdklootに関する設定
  • PS1の設定★
  • PROMPT_COMMANDの設定★

上記項目のうち、★印がついたもののみzshに対応するために書き直しが必要でした。(と言っても、ほんの数行の修正のみでした。)

皆さんもすんなりbashからzshへ移行できるのではないでしょうか。(筆者のbashrcに記述していた項目が少なかったからかもしれませんが、、、)

MacOS Catalina の不具合?

ここからは少しおまけのような内応ですが、、、
皆さん、MacOS Catalinaの使い心地はいかがでしょうか。

筆者は、ディスプレイ周りの不具合に悩まされています。Lightning端子から外部ディスプレイにも画面出力をしているのですが、出力先のディスプレイが真っ暗になることがたまにあります。(5回に1回程度の割合で。)

ディスプレイが認識されないのではなく、ディスプレイは正しく認識され、そちらの領域にマウスを持っていくことは可能なのですが、画面が真っ黒になるのです。

最近、iPhoneの方もiOS13にアップデートした際、Safariやウィジェット画面でのクラッシュが多発し、筆者はappleソフトフェアへの信頼が揺らいでいます。

皆さんはどうでしょうか。

以上、MacOS Catalinaに合わせてbashからzshに乗り換える方法についてでした。