Answers:
只需使用chsh
:
chsh -s $(which zsh)
没有 sudo
应该工作。如果您使用sudo
它,将更改外壳程序,而不是您的工作用户,而是root用户
最后,退出计算机并重新登录。
故障排除:
dpkg -l zsh
grep $USER /etc/passwd
grep zsh /etc/shells
我在超级用户论坛上找到了这个
打开/ etc / passwd:
sudo vi /etc/passwd
找到带有您的用户名的行:
username:x:1634231:100:Your Name:/home/username:/bin/bash
并用zsh替换bash:
username:x:1634231:100:Your Name:/home/username:/bin/zsh
注销并重新登录,以使更改生效。
/etc/passwd
chsh -s `which zsh`
如果zsh不是/ bin / zsh,则chsh将不起作用。在Ubuntu上,它是/ usr / bin / zsh。这样做chsh -s /usr/bin/zsh
或chsh -s `which zsh`
应该起作用。还需要重新登录到桌面会话。
/bin/zsh
和/usr/bin/zsh
奇怪,当我得到时,“已接受”的答案对我不起作用
chsh: PAM: Authentication failure
要解决此问题,请编辑/ etc / passwd并确保其指向zsh位置。(您可以通过运行“哪个zsh”找到它)在我的情况下,我的用户“ webmaster”如下所示:
webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
输入终端
sudo chsh -s $(which zsh) root