Mac
 Computer >> コンピューター >  >> トラブルシューティング >> Mac

【Mac】「デフォルトのインタラクティブシェルはzshになりました」警告の意味と消し方

zshからbashに変更したばかりの方や、macOS Catalina/Big Sur/Montereyにアップデートした方は、ターミナルを開くたびに次のようなメッセージが表示されることがあります。

「The default interactive shell is now zsh. To update your account to use zsh, please run 'chsh -s /bin/zsh'. For more details, please visit https://support.apple.com/kb/HT208050.」

AppleはmacOS Catalina以降、デフォルトのインタラクティブシェルをbashからzshに変更しました。macOS Big SurやMontereyといった後続のバージョンでも、デフォルトシェルはzshに設定されています。そのため、Macのデフォルトシェルが古いbashのままになっていたり、ターミナルがbashなど別のシェルで起動するように設定されていると、この警告が表示される仕組みです。

ターミナルやインタラクティブシェルに馴染みのない方にとっては戸惑うかもしれませんが、ご安心ください。この記事では、「デフォルトのインタラクティブシェルはzshになりました」というメッセージの意味、非表示にする方法、そして必要に応じてMacのデフォルトシェルを変更する手順まで、わかりやすく解説します。

この記事でわかること

  • 「デフォルトのインタラクティブシェルはzshになりました」の意味
  • 警告メッセージを消す3つの方法
  • Macにおけるbashとzshの違い・比較
  • よくある質問(FAQ)

「デフォルトのインタラクティブシェルはzshになりました」の意味とは?

Macのターミナルでは、入力したコマンドを解釈・実行する役割を担う複数のインタラクティブシェルが利用できます。中でも特によく使われているのが、zsh(Z shell)とbash(Bourne again shell)の2つです。

macOS Mojave以前では、bashがデフォルトのインタラクティブシェルでした。しかしAppleは長らく、2006年にリリースされたbash 3.2を使い続けてきました。これは、新しいバージョンのbashがGPLv3ライセンスで提供されており、独自コードに署名してリリースするAppleのような企業にとって制約が大きいためです。これが、AppleがmacOSのデフォルトシェル変更に踏み切った理由の一つだと考えられます。

macOS Catalinaからは、bashとの互換性が最も高く機能面でも近いzshが、Macの標準シェルとして採用されました。あわせてAppleは、まだzshへ移行していないユーザーに変更を促すため、ターミナルに警告メッセージを組み込んでいます。

具体的には、macOS Catalinaより前に作成したユーザーアカウントでbashがデフォルトのままになっているケースや、Macがzshを使う設定になっているのにbashを起動したケースで、このメッセージが表示されます。

「デフォルトのインタラクティブシェルはzshになりました」を消す方法

ターミナルをあまり使わないのであれば、このメッセージは無視しても実害はありません。ただし、頻繁にターミナルを操作する場合は、以下のいずれかの方法でMonterey/Big Sur/Catalina上の警告を非表示にできます。

  • 方法1:デフォルトシェルをzshに変更する
  • 方法2:警告を非表示にしてbashを使い続ける
  • 方法3:Homebrewが提供するbashに切り替える

方法1:デフォルトシェルをzshに変更する

上記の状況以外にも、VSCodeでPythonや特定のファイルを実行する際にこのメッセージが表示されることがあります。多くのユーザーと同じようにzshへ移行する決断ができているなら、警告メッセージが提示しているコマンドを使って、Macのデフォルトシェルを変更しましょう。

ターミナルでzshに切り替える手順:

  1. ターミナルを開きます。
  2. 以下のコマンドを入力してEnterキーを押します。
    chsh -s /bin/zsh
  3. パスワードを入力して、再度Enterキーを押します。
  4. 変更を反映させるためにMacを再起動します。

あるいは、コマンドを使わずに「ユーザとグループ」の設定画面から変更することも可能です。

システム環境設定からzshに切り替える手順:

  1. Appleメニュー > システム環境設定 > ユーザとグループ を開きます。
  2. 左下の鍵アイコンをクリックし、パスワードを入力して「ロック解除」をクリックします。
  3. 自分のアカウントを右クリックして「詳細オプション」を選択します。【Mac】「デフォルトのインタラクティブシェルはzshになりました」警告の意味と消し方
  4. 「ログインシェル」の横にあるプルダウンメニューから /bin/zsh を選択します。【Mac】「デフォルトのインタラクティブシェルはzshになりました」警告の意味と消し方
  5. 「OK」をクリックします。
  6. Macを再起動します。

これでMacのデフォルトインタラクティブシェルがzshに変更され、「デフォルトのインタラクティブシェルはzshになりました」というメッセージは二度と表示されなくなります。

方法2:警告を非表示にしてbashを使い続ける

zshのメリット(高いカスタマイズ性や賢い自動補完など)を理解しつつも、使い慣れたbashを好みたい場合は、以下のいずれかのファイルに1行のコード(export BASH_SILENCE_DEPRECATION_WARNING=1)を追加することで警告を非表示にできます:`~/.bash_profile`、`~/.profile`、`~/.bashrc`。

ターミナルの通知を消す基本的な手順:

  1. ターミナルを開きます。
  2. 以下のコマンドを入力してEnterキーを押し、~/.bash_profileに設定行を追加します。
    touch ~/.bash_profile && echo "export BASH_SILENCE_DEPRECATION_WARNING=1" >> ~/.bash_profile

もし~/.bash_profileの編集で効果がなかった場合は、コマンド内の~/.bash_profileを~/.profileまたは~/.bashrcに置き換えて再実行してみてください。また、すでにzshを使用しているはずの一部ユーザーでも、新しいコンソールを開くと警告が出ることがあります。そのような場合は、root権限で/etc/profileに追記する方が確実です。

/etc/profileを編集して警告を消す手順(Monterey/Big Sur/Catalina対応):

  1. ターミナルを開きます。
  2. 以下のコマンドを入力してEnterキーを押し、root権限で/etc/profileを編集します。
    sudo nano /etc/profile
  3. パスワードを入力してEnterキーを押します。
  4. 下矢印キーでカーソルを「# System-wide .profile for sh(1)」の直下の行へ移動します。
  5. 以下のテキストをコピー&ペーストします。
    export BASH_SILENCE_DEPRECATION_WARNING=1【Mac】「デフォルトのインタラクティブシェルはzshになりました」警告の意味と消し方
  6. Control + Xを押し、「y」と入力して変更を保存します。
  7. Enterキーを押してnanoを終了します。
  8. ターミナルを閉じます。
  9. Macを再起動します。

方法3:Homebrewが提供するbashに切り替える

新しいバージョンのbashを使いたい、かつMonterey/Big Sur/Catalinaで警告を消したいという場合は、Homebrewで配布されているbashへの切り替えがおすすめです。Homebrewのbashには、Apple製bashに組み込まれている警告表示用のコードが含まれていません。MacにHomebrewをインストールすれば、そのbashを利用しながら、最新版のbash(執筆時点で5.1.16)へアップデートすることもできます。

bashをアップデートして警告を消す手順:

  1. ターミナルを開きます。
  2. 以下のコマンドを入力してEnterキーを押し、Xcodeのコマンドラインツールをインストールします。
    xcode-select --install
  3. 「インストール」をクリックして実行を確定します。
  4. インストールが完了するまで待ちます。
  5. 以下のコマンドをターミナルに入力してEnterキーを押し、Homebrewをインストールします。
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  6. Homebrewのインストールと更新には多少時間がかかる場合があります。
  7. 「/opt/homebrew/bin is not in your PATH」という警告が表示された場合は、Homebrewが提案するコマンドをコピー&ペーストしてEnterキーを押し、PATHに追加します。
  8. 以下のコマンドを実行してbashをアップデートします。
    brew update && brew install bash && sudo chsh -s /usr/local/bin/bash $(whoami)

どの方法を選びましたか?ぜひこの記事を友人や同僚にもシェアしてみてください!

Macにおけるbashとzshの比較

bashと同じく、zshも「Bourne」系のシェルから派生しているため、初期状態の見た目はよく似ています。しかし、zshはbashよりもカスタマイズ性と拡張性に優れており、新しい機能を簡単に追加でき、利用できるプラグインの種類も豊富です。

zshはユーザーとの対話性の向上を目的として設計されています。そのため、自動補完、シンタックスハイライト、自動修正、浮動小数点演算など、bashには存在しない、あるいはbashでは効率が劣る機能を数多く備えています。一方のbashには、大多数のLinuxマシンやサーバーで標準シェルとして採用されているという強みがあり、今なおプログラマーの間で広く使われています。

たまにターミナルを使う程度の一般ユーザーであれば、メッセージを無視するか、Appleの推奨どおりzshへ変更しておけば十分です。bashが共通言語となっている複数のプラットフォームで作業するエンジニアなら、Homebrewで最新のbashを導入するのが良いでしょう。その中間の使い方をする方は、警告を非表示にして、使い慣れたbashを使い続けるのが現実的な選択といえます。

「デフォルトのインタラクティブシェルはzshになりました」に関するFAQ

Q: Macのデフォルトのインタラクティブシェルは何ですか?

A: AppleはmacOS Catalina以降、macOSのデフォルトシェルをbashからzshへ切り替えました。

Q: macOSはなぜzshに移行したのですか?

A: Macに搭載されていたbashは長年バージョン3.2のまま更新されず、最新版は5.1まで進化していました。しかし新版のbashはビジネス利用に不向きなGPLv3ライセンスのため、Appleは更新を見送ってきました。zshはbashと同等の機能を持ちながら、より対話的でカスタマイズ性が高いことから、Appleはデフォルトシェルをzshに変更したのです。

Q: Macでデフォルトのインタラクティブシェルを変更するにはどうすればいいですか?

A: ターミナルまたは「ユーザとグループ」のシステム環境設定から変更できます。例えばzshからbashへ戻したい場合は、ターミナルで chsh -s /bin/bash を実行するだけで完了します。GUIで操作したい場合は、システム環境設定 > ユーザとグループ > アカウント名を右クリック > 詳細オプション > ログインシェルで /bin/bash を選択してください。

Q: zshをデフォルトシェルに設定する最短の方法は?

A: ターミナルで chsh -s /bin/zsh を実行するのが最も簡単で確実な方法です。

  1. MacでMainSearchSignalを無料で削除する方法【完全駆除ガイド】

    Macの動作が明らかに遅くなった、検索エンジンが勝手に別のものに切り替わる、Webページに大量の広告が表示される——こうした症状に心当たりがあるなら、MacがMainSearchSignalに感染している可能性が高いです。この種のアドウェアは、表示された広告やリンクをクリックせず、すぐに削除作業を始めれば深刻な被害にはなりません。本ガイドの手順に従えば、費用を一切かけずに駆除できます。 本ガイドの内容: 1. MacのMainSearchSignalとは? 2. MainSearchSignalはどうやってMacにインストールされたのか? 3. MainSearchSignalの概要 4.

  2. MacからSearch Marquisを完全に削除する方法|自動・手動・ブラウザリセットの対処法

    Search Marquisは、いわゆる「ブラウザハイジャッカー」と呼ばれるマルウェアの一種です。感染すると、許可なくブラウザ設定を書き換えられ、しつこいリダイレクトに悩まされることになります。MacがSearch Marquisに感染したまま放置するのは危険です。OS自体を破壊することはありませんが、個人情報を盗み出されたり、より深刻なサイバー攻撃への入り口を開いてしまう恐れがあります。本記事では、MacからSearch Marquisを確実に取り除くための具体的な手順と、今後の再感染を防ぐための対策を詳しく解説します。目次:1. MacのSearch Marquisとは?2. MacからS