chsh -s / usr / bin / zsh не працює


24

Я намагаюся назавжди змінити свою оболонку на zsh за допомогою chshкоманди, але це не працює.

zsh встановлюється (через apt) і працює чудово, коли я викликаю його безпосередньо з терміналу bash prompt. Але я не можу отримати zsh для завантаження в терміналах за замовчуванням, і chsh робить щось дивне:

$ echo $SHELL
/bin/bash
$ which zsh
/usr/bin/zsh
$ chsh -s /usr/bin/zsh
Password: 
$ echo $SHELL
/bin/bash
$ grep kurtosis /etc/passwd
kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh

Здається, chsh вдалося правильно змінити / etc / passwd, але не змінну $ SHELL env. Таким чином, нові термінали завжди починаються в bash, а не zsh.

Я не впевнений, де шукати, щоб вирішити цю проблему. .bashrc, незважаючи на те, що він не викликається, поки оболонка не буде вказана? Будь-яка допомога вдячна.


1
Не можете змінити оболонку після повторного входу в систему?
wine_user

Перевірте цю відповідь .
Пабло А

Відповіді:


34

Щоб зміни набули чинності, потрібно знову вийти із системи. Оболонка, визначена у файлі / etc / passwd, - це ваша оболонка для входу :-) Тому для цього вам потрібно фактично увійти.


2
Спасибі. Я настільки звик, що можу вносити зміни до Linux без перезавантаження, мені це просто не траплялося.
Куртоз

Мені довелося зробити перезавантаження, щоб воно набуло чинності - я думаю, це якимось чином знову підключило мене до існуючого сеансу оболонки.
Кріс Кімптон

Під час використання ssh-з'єднання, навіть якщо ви виходите, сервер може не закривати з'єднання та оболонку до кінця. Отже, вам може знадобитися вбити процеси (ssh та sh), які належать вашому користувачеві. (У мене була ця проблема, і було легко знайти рішення, але все-таки я повинен був прийти на цю посаду, щоб побачити, що мені потрібно вийти.)
Джон Гамільтон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.