Mac Terminal: изменил мою оболочку, теперь не могу ее запустить
Я установил Bash 4.0 через MacPorts, затем использовал sudo chsh -s /opt/local/bin/bash my_user
изменить мою оболочку.
До этого я пытался просто бежать chsh
без sudo
, но это не позволило бы мне изменить мою оболочку на этот путь.
Теперь, когда я пытаюсь запустить терминал, я получаю сообщение о том, что моя оболочка имеет недопустимое значение, поэтому терминал не запускается. Я нажимаю "Выйти", и, что неудивительно, но раздражающе, он немедленно завершается.
- Как мне сбросить свою оболочку, чтобы я мог снова запустить Терминал?
- Как настроить оболочку на bash, установленную через MacPorts, чтобы она работала?
- Почему Терминал считает мою оболочку незаконной? Это на стороне нео-запретителей?
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, но с использованием графического интерфейса пользователя) для вашего профиля пользователя заключается в следующем:
- Откройте Системные настройки.app
- Перейти на панель настроек учетных записей
- При необходимости разблокировать замок
- Удерживайте контроль и нажмите или щелкните правой кнопкой мыши по вашей учетной записи в списке учетных записей.
- Выберите Дополнительные параметры...
- Измените значение, в котором указано "Оболочка входа": на путь к оболочке 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. Восстановить снаряды ~ ориг в снаряды.
Удачи.