
Я изменил свою оболочку по умолчанию на zsh с bash в Ubuntu. Я использовал шаги, описанные вhttp://github.com/sorin-ionescu/preztoи запустил chsh -s zsh
. После этого я не смог войти ни в одну оболочку, так как она выскакивает, как только я пытаюсь войти. Я пробовал из терминала gnome, xterm и пытался войти с tty1 ( Alt+ Ctrl+ F1). Она закрывается, как только я пытаюсь открыть.
решение1
Чтобы вернуться в систему, вы можете загрузиться в однопользовательском режиме, добавив цифру 1 в конец строки ядра Linux в GRUB. Метод, как это сделать, в общих чертах описан в этом U&L Q&A под названием:Могу ли я запустить процесс как root, не запуская оболочку входа root?.
После того, как вы это сделаете, вы будете перенаправлены в командную строку как root, откуда вы сможете отменить изменения, внесенные в вашу оболочку. Это вернет вашу систему к корректной работе.
Отсюда вы, скорее всего, захотите использовать chsh
свое имя пользователя вместо того метода, который вы использовали ранее.
решение2
Войти как root
. Убедитесь, что zsh
установлено. Если нетapt-get install zsh
решение3
Есть две причины, по которым вы не можете открыть терминал или войти в систему в текстовом режиме: либо ваша оболочка (записанная в базе данных пользователей) не существует, либо файл конфигурации вашей оболочки завершается с ошибкой.
Если chsh
все прошло успешно, то ваша оболочка существует ( chsh
проверяет, находится ли оболочка в списке разрешенных, и система управления пакетами Ubuntu обновляет список на основе установленных пакетов). Так что если вы не удалили пакет zsh
после этого chsh -s zsh
(в этом случае вам следует просто переустановить его), мы можем исключить этот случай.
Таким образом, один из файлов конфигурации, которые вы получили от Prezto, должен быть глючным, неправильно установленным или в нем отсутствует какая-то критическая зависимость. Уберите эти файлы конфигурации. Запустите файловый менеджер, например Nautilus, и переименуйте следующие файлы в вашем домашнем каталоге (если они существуют): .zlogin
, .zlogout
, .zprofile
, .zshenv
и .zshrc
. Если это символические ссылки, просто удалите их, и вы создадите их заново позже.
После того, как вы это сделаете, вы сможете открыть терминал и начать использовать zsh с его конфигурацией по умолчанию. При первом запуске zsh запустится его новый интерфейс настройки пользователя (вы, должно быть, уже видели его, если следовали инструкциям вhttps://github.com/sorin-ionescu/prezto).
Временно измените оболочку обратно на bash ( chsh -s bash
), пока не решите проблему с Prezto. Откройте терминал (теперь запущенный bash) и запустите zsh
. Верните .z*
файлы на место или заново создайте символические ссылки, следуя шагу 3. Теперь запустите zsh
этот открытый терминал и посмотрите, какие ошибки. Если ошибки неинформативны, запустите , zsh -x
чтобы получить отладочную трассировку.
После того, как вы решите проблему и zsh запустится, запустите chsh -s zsh
снова.