ターミナルの設定で「シェルで開く」を設定できることはわかっていますが、システム全体でこれを設定する方法があるかどうか知りたいです(一部のUnixで/ etc/passwdを更新するのと同様)。
次のようにchsh
ユーティリティを使用します。
chsh -s bash
Appleは、Mac OS Xのchsh
を、たとえばLinuxのchsh
と比べて少し変更しました。 chsh Mac OS X Man Page でそれらについて読むことができます。
/etc/shells
にリストされているシェルへの変更のみが許可されることに注意してください。これは通常は問題ありませんが、Bash 4を(Homebrew、MacPortsから、または独自にコンパイルして)インストールする場合は、/etc/shells
に行を追加する必要があります。 (私は数週間前にこれに遭遇し、それが他の人が知るのに役立つかもしれないと考えました...)
編集: Tim Smith は、chsh
をrootとしてSudo
を介して実行すると、/etc/shells
の制限を回避できることを指摘しています。例えば。 Sudo chsh -s /usr/local/bin/my_Shell $USER
がmy_Shell
にリストされていなくても、/etc/shells
は機能します。私は/etc/shells
を編集することを好みますが、最終的には、通常のユーザーとして/etc/shells
を編集することができないため、どちらの方法でもSudo
の1つの使用法です。したがって、おそらく6の1つ、他の6ダース。
Mac OS X GUIを使用してこれを行うには:
なお、この場所は、ターミナルに不快な場合に、ホームディレクトリ、UUID、ユーザーID、グループID、ショートネームを変更できる場所です。同様の質問 ここにあります もあります。
上記の回答を使用すると、エラーメッセージが表示されました。
$ chsh -s zsh
Changing Shell for myuser.
Password for myuser:
chsh: zsh: non-standard Shell
これを回避するには:
Sudo chsh -s zsh $(whoami)
サブシェルのwhoami
は、ルートではなく、ユーザーのシェルを変更することです。
あなたが自作を使用しているならもう一つ。 rootとしてコマンドを実行すると(Sudo
を使用)、zshは/ bin/zshを指します。これはOSXに付属しており、古くなっている可能性があります。 homebrew経由でインストールされた最新のものを使用するには、以下を使用します。
Sudo chsh -s $(which zsh) $(whoami)