当前位置: 首页>>技术问答>>正文


无法使ZSH成为默认shell

, , ,

问题描述

我试图将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/zshchsh -s `which zsh`应该可行。还需要re-login才能进行桌面会话。

第四种方案

你也可以这样做:

在您喜欢的编辑器中打开您的bashrc文件

sudo nano ~/.bashrc

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

exec zsh

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1054.html,未经允许,请勿转载。