Если вы используете sudo, он изменит оболочку не для вашего рабочего пользователя, а для root. Просто используйте
chsh -s $(which zsh)
без sudo.
Наконец, выйдите из своего компьютера и войдите в систему.
Я нашел это на форуме суперпользователя
Открыть / etc / passwd:
sudo vi /etc/passwd
Найти строку с вашим именем пользователя:
username:x:1634231:100:Your Name:/home/username:/bin/bash
и замените bash на zsh:
username:x:1634231:100:Your Name:/home/username:/bin/zsh
Выйдите из системы и войдите в систему, чтобы изменения вступили в силу.
Если zsh не является / bin / zsh, тогда chsh не будет работать. На Ubuntu это / usr / bin / zsh. поэтому работа chsh -s /usr/bin/zsh или chsh -s `which zsh` должна работать. Также необходимо повторно войти в сеанс рабочего стола.
Вы также можете сделать это:
откройте файл bashrc в своем любимом редакторе
sudo nano ~/.bashrc
, затем добавьте строку ниже верхней части файла
exec zsh
Он будет выполнять команду каждый раз, когда вы загружаете терминал и запускаете свою оболочку zsh.
Странно, «принятый» ответ не сработал для меня, поскольку я получил
chsh: PAM: Authentication failure
. Чтобы решить эту проблему, отредактируйте свой / etc / passwd и убедитесь, что он указывает на место zsh. (Вы можете найти это, запустив «which zsh»). В моем случае мой пользователь, называемый «веб-мастером», выглядел так:
webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh