Mac Terminal: изменил мою оболочку, теперь не могу ее запустить

Я установил 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 ответа

Решение

Откройте ~/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.

Другой способ изменить вашу оболочку (похожую на команду 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 к тому же списку.

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

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

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

Удачи.

Другие вопросы по тегам