Запуск chsh не меняет оболочку

Я хочу изменить свою оболочку из bash в zsh.

Я попытался запустить следующее, когда вы вошли в систему как пользователь zol:

$ chsh -s /bin/zsh $ sudo chsh -s /bin/zsh zol $ su -c 'chsh -s /bin/zsh zol' # The above all results with: $ password: $ chsh: Shell not changed. # zsh exists in /etc/shells.. chsh -l /bin/sh /bin/bash /sbin/nologin /bin/zsh 

Что может быть неправильным? Как я могу это исправить?

Изменения учетной записи пользователя не будут сохранены, если вы открыли / etc / passwd (vim / etc / passwd) при попытке изменить информацию.

Альтернатива: попробуйте с usermod (as zol):

 $ usermod -s /bin/zsh 

или

 $ sudo usermod -s /bin/zsh zol 

Если это не работает, отредактируйте /etc/passwd вручную.

 sudo vipw # set zol's shell to /bin/zsh :wq 

Когда нужно запустить «chsh -l», если вы увидите:

 /usr/bin/zsh /bin/zsh 

Затем используйте:

 chsh -s /usr/bin/zsh 

Предупреждение: команды выполнялись на Fedora 25, в ubuntun опция «-l» из отсутствует.