如何将 ZSH 设为默认 shell?

如何将 ZSH 设为默认 shell?

我尝试将 ZSH 设置为我的默认 shell,但是它总是恢复为 bash。

我已经尝试过这个代码:

sudo chsh -s $(which zsh)

我也尝试过:

sudo chsh -s /bin/zsh 

还尝试了不使用 sudo 的这些命令。还有什么想法吗?从 bash 内部运行 ZSH 时,它会加载并正常工作,但我想将其设置为默认 shell。

答案1

只需使用chsh

chsh -s $(which zsh)

没有 sudo应该可以工作。如果你使用sudo它,它将改变 shell,而不是你的工作用户,而是

最后,退出计算机并重新登录

故障排除:

答案2

我发现这个超级用户论坛

打开 /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

注销并重新登录以使更改生效。

答案3

您也可以这样做:

用你最喜欢的编辑器打开你的 .bashrc 文件

nano ~/.bashrc

然后在文件顶部下方添加行

exec zsh

每次加载终端并运行 zsh shell 时,它都会执行该命令。

答案4

如果 zsh 不是 /bin/zsh,则 chsh 将不起作用。在 Ubuntu 上,它是 /usr/bin/zsh。这样做chsh -s /usr/bin/zsh应该chsh -s `which zsh`有效。还需要重新登录桌面会话。

相关内容