5

Я установил bash 4.0 через MacPorts, затем использовал sudo chsh -s /opt/local/bin/bash my_user чтобы изменить мою оболочку.

До этого я пытался запустить обычный chsh без sudo , но это не позволило мне изменить мою оболочку на этот путь.

Теперь, когда я пытаюсь запустить Терминал, я получаю сообщение, что моя оболочка имеет недопустимое значение, поэтому Терминал не запускается. Я нажимаю «Выйти», и, что неудивительно, но раздражающе, он немедленно завершается.

хромой терминал

  1. Как мне сбросить свою оболочку, чтобы я мог снова запустить Терминал?
  2. Как настроить оболочку на bash, установленную через MacPorts, чтобы она работала?
  3. Почему Терминал считает мою оболочку незаконной? Это на стороне нео-запретителей?

Mac OS X 10.5.8. Все супер мега современно.

4 ответа4

9

Другой способ изменить вашу оболочку (похожую на команду chsh, но с использованием графического интерфейса пользователя) для вашего профиля пользователя заключается в следующем:

  1. Откройте Системные настройки.app
  2. Перейти на панель настроек учетных записей
  3. При необходимости разблокировать замок
  4. Удерживайте контроль и нажмите или щелкните правой кнопкой мыши по вашей учетной записи в списке учетных записей.
  5. Выберите Дополнительные параметры ...
  6. Измените значение, в котором указано «Оболочка входа»: на путь к оболочке bash, которую вы хотите использовать.

Я бы рекомендовал сбросить его обратно на /bin /bash, а затем в Терминале убедиться, что /opt/local/bin/bash работает правильно, запустив /opt/local/bin/bash прежде чем пытаться изменить его снова.

Относительно того, почему было сказано, что вам не разрешили, Mac OS X хранит список "разрешенных" оболочек в /etc/shells/ поэтому вам нужно отредактировать этот файл и добавить /opt/local/bin/bash в этот список также.

6

Проблема здесь в /etc/shells . Этот файл содержит список всех оболочек, которые разрешено использовать в качестве оболочек для входа. Если вы хотите использовать установленный MacPorts bash, вам следует отредактировать этот файл, указав путь к этой конкретной оболочке.

1

Я получил ту же проблему после обновления до Lion.

Вы должны заглянуть в /etc, где вы можете найти файл вроде shells ~ orig и shells. Восстановить снаряды ~ ориг в снаряды.

Удачи.

0

Откройте ~/Library/Preferences/com.apple.Terminal.plist и установите ключ "Shell" в «/bin/bash», затем повторите попытку открытия терминала. Если это не работает, X11.app может открыть терминал. В противном случае вы застрянете, делая нового пользователя с правами администратора и сбросив там свою оболочку.

Убедитесь, что /opt /local /bin /bash является исполняемым, запустив его в Terminal. Если не:

chmod +x /opt/local/bin/bash

Кроме того, /opt /local /bin /bash должна быть строкой в /etc /shells.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .