chsh -s / usr / bin / zsh不能正常工作

我正在尝试使用chsh命令永久地将我的shell更改为zsh,但它无法正常工作。

zsh是安装的(通过apt),当我直接从bash提示终端调用它时工作正常。 但是默认情况下我无法在终端中加载zsh,而chsh正在做一些奇怪的事情:

 $> echo $SHELL /bin/bash $> which zsh /usr/bin/zsh $> chsh -s /usr/bin/zsh Password: $> echo $SHELL /bin/bash $> grep kurtosis /etc/passwd kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh 

看来chsh设法正确地改变了/ etc / passwd,而不是$ SHELL env变量。 因此,新终端总是以bash而不是zsh开始。

我不确定在哪里解决这个问题。 .bashrc ,即使在指定shell之前没有调用它? 任何帮助赞赏。

您需要再次注销才能使这些更改生效。 / etc / passwd文件中定义的shell是你的登录 shell :-)所以你需要实际登录。