我尝试了以下代码:
sudo chsh -s $(which zsh)
我也尝试过:
sudo chsh -s /bin/zsh
也尝试了没有sudo的这些命令。关于我还需要做什么的任何想法。从bash中运行ZSH时,它会加载并正常运行,但我想将其设置为默认shell。
#1 楼
只需使用chsh
:chsh -s $(which zsh)
而不使用
sudo
应该可以工作。如果使用sudo
,它将为您的工作用户而不是root用户更改外壳程序最后,注销计算机并重新登录。
故障排除:
是否已安装zsh(ii)?
dpkg -l zsh
您的shell是否设置为zsh?
grep $USER /etc/passwd
的最后一个字段Zsh是有效的登录shell吗?
grep zsh /etc/shells
评论
我有同样的问题,答案无法解决
–阿斯温·穆格什
13年7月21日在16:11
@AswinMurugesh检查我的答案
– Shailesh Kalamkar
2015年8月11日,下午5:30
您还可以运行sudo chsh -s / bin / zsh userName
– Micha Roon
2015年9月30日10:49在
注意:必须重新启动系统才能生效。
– KevinO
2015年10月12日,0:38
要让zsh接管,需要在Linut Mint 19.2上重新引导。 sudo reboot完成任务。
–林丰
19/12/7在0:55
#2 楼
我在超级用户论坛上找到了这个打开/ 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混为一谈通常不是最好的主意
–托马斯·沃德♦
16年1月7日在13:13
即使我没有使用此方法,它也帮助我验证了chsh -s`哪个zsh`的效果
– jchook
17年9月30日在0:43
#3 楼
您也可以这样做:在您喜欢的编辑器中打开bashrc文件
sudo nano ~/.bashrc
,然后在文件顶部下方添加一行/>
exec zsh
每次加载终端并运行zsh shell时,它将执行命令。
评论
并且还会破坏您所有的非交互式作业(例如scp)。
–贾库耶
16 Mar 11 '16 at 16:45
不好意思,但是更改/ etc / passwd或chsh是更好的解决方案,更可靠。
– Timo
18/12/25在11:57
谢谢做到了。 @Timo我在/ etc / passwd和或chsh上进行了更改,但是我的默认设置一直回到bash。我按照发布的响应添加了exec zsh,它可以正常工作。
–Stryker
19年2月11日在21:42
添加exec zsh很可能会中断您的Gnome Shell会话。
– fracca
19-10-26在10:58
这是唯一在具有活动目录的工作计算机上为我工作的命令,始终找不到我的用户名,whoami可以正常工作,但是某些命令(例如chsh)始终无法找到我的用户名
–element11
20 May 15 '18:20
#4 楼
我在更改当前用户下的Shell的权限时遇到问题,但是接下来可以帮助我(您应该为计算机设置正确的“ zsh”文件夹):sudo chsh -s /bin/zsh <myUserName>
#5 楼
如果zsh不是/ bin / zsh,则chsh将不起作用。在Ubuntu上是/ usr / bin / zsh。因此执行chsh -s /usr/bin/zsh
或chsh -s `which zsh`
应该可以。还需要重新登录到桌面会话。评论
在我的Ubuntu VPS上是/ bin / zsh
–威廉·伊拉斯mus
2015年12月9日12:39
在我的Ubuntu上,在/ bin / zsh和/ usr / bin / zsh中都可以看到它
– blue_chip
17年4月10日在14:34
在我的(14.04,主仓库中有zsh)上,有两个zsh,它们都是两层符号链接:/ usr / bin / zsh-> / etc / alternatives / zsh-usrbin-> / bin / zsh5和/ bin / zsh-> / etc / alternatives / zsh-> / bin / zsh5
– wjandrea
17-10-21在0:36
#6 楼
奇怪,我收到chsh: PAM: Authentication failure
,要解决此问题,请编辑/ etc / passwd并确保其指向zsh的位置。 (您可以通过运行“哪个zsh”找到它)对于我来说,我的用户“ webmaster”看起来像这样:
webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
评论
我相信应该要求输入密码。我在先前的薄荷安装中遇到了相同的错误。目前的一个很好
–威廉·伊拉斯mus
2015年12月9日,12:40
其他人也有同样的问题,原来他们运行了chsh -s zsh,这使他们的passwd条目不正确。
– wjandrea
17-10-21在0:46
#7 楼
与chsh一样(或编辑/ etc / passwd,其功能相同),您可能需要在终端仿真器(Gnome终端,Konsole,xfce4-terminal等)中编辑设置。您的个人资料中可能会有一个登录外壳,当您打开新标签页而不是/ etc / passwd中的外壳时,将运行该外壳。在Konqueror中,它是
Settings
|。 Edit Current Profile
| Command
。
评论
对我有用的快速解答:注销然后重新登录到桌面会话对我来说很容易。