web-dev-qa-db-ja.com

Macターミナル:シェルを変更しましたが、起動できません

MacPorts経由でbash4.0をインストールし、Sudo chsh -s /opt/local/bin/bash my_userを使用してシェルを変更しました。

その前に、chshなしでプレーンなSudoを実行しようとしましたが、シェルをそのパスに変更することはできませんでした。

ターミナルを起動しようとすると、シェルの値が不正であるというメッセージが表示されるため、ターミナルが起動しません。 [終了]をクリックすると、当然ながら迷惑なことに、すぐに終了します。

lame terminal

  1. ターミナルを再開できるようにシェルをリセットするにはどうすればよいですか?
  2. シェルをMacPorts経由でbashにインストールして、機能するように設定するにはどうすればよいですか?
  3. ターミナルはなぜ私のシェルが違法だと思うのですか?それは新禁止論者と一緒にサイディングですか?

Mac OSX10.5.8。すべてが最新のスーパーメガです。

5
kch

〜/ Library/Preferences/com.Apple.Terminal.plistを開き、「Shell」キーを「/ bin/bash」に設定してから、ターミナルを開いてみてください。これが機能しない場合、X11.appはターミナルを開くことができる可能性があります。そうしないと、管理者権限で新しいユーザーを作成し、そこでシェルをリセットすることに行き詰まります。

/ opt/local/bin/bashをターミナルで実行して、実行可能であることを確認します。そうでない場合:

chmod +x /opt/local/bin/bash

また、/ opt/local/bin/bashは/ etc/shellsの行である必要があります。

0
ACoolie

ユーザープロファイルのシェルを変更する別の方法(chshコマンドに似ていますが、GUIを使用)は、次のようにします。

  1. SystemPreferences.appを開きます
  2. アカウント設定ペインに移動します
  3. 必要に応じて南京錠のロックを解除します
  4. コントロールを押したまま、アカウントのリストでアカウントをクリックまたは右クリックします。
  5. 詳細オプションを選択...
  6. Login Shell:と表示されている値を、使用するbashシェルへのパスに変更します。

/ bin/bashにリセットし直してから、ターミナルで/opt/local/bin/bashを実行して、/opt/local/bin/bashが正しく機能することを確認してから再度変更することをお勧めします。

許可されていないと言われた理由は、Mac OSXが「許可された」シェルのリストを/etc/shells/に保持しているため、そのファイルを編集して/opt/local/bin/bashをそのリストに次のように追加する必要があるためです。上手。

11
Chealion

ここでの問題は/etc/shellsファイル。このファイルには、ログインシェルとして使用できるすべてのシェルのリストが含まれています。 MacPortsにインストールされたbashを使用する場合は、このファイルを編集して、その特定のシェルへのパスを含める必要があります。

6
Lily Ballard

Lionにアップデートした後、同じ問題が発生しました。

/ etcを調べると、shells〜origやshellsのようなファイルが見つかる可能性があります。 shells〜origをshellsに復元します。

幸運を。

1
oko