问题描述
我试图将ZSH设置为我的默认shell,但它仍然会恢复为bash。
我试过这段代码:
sudo chsh -s $(which zsh)
我也尝试过:
sudo chsh -s /bin/zsh
还尝试了没有sudo的命令。关于我还需要做什么的任何想法。从bash中运行ZSH时,它加载并正常工作,但我想将其设置为默认shell。
最佳解决方案
如果您使用sudo
,它将更改shell不是为您的工作用户而是为root。只是用
chsh -s $(which zsh)
没有sudo
应该工作。
最后,退出计算机并重新登录。
次佳解决方案
我在superuser论坛上找到了这个
打开/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
注销并重新登录以使更改生效。
第三种解决方案
如果zsh不是/bin /zsh,那么chsh将不起作用。在Ubuntu上它是/usr /bin /zsh。这样做chsh -s /usr/bin/zsh
或chsh -s `which zsh`
应该可行。还需要re-login才能进行桌面会话。
第四种方案
你也可以这样做:
在您喜欢的编辑器中打开您的bashrc文件
sudo nano ~/.bashrc
然后添加文件顶部下方的行
exec zsh
每次加载终端并运行zsh shell时,它都会执行命令。