debian 9 使用zsh替代bash, 打开终端还是bash,只有使用su登陆后才变成zsh,什么问题?

发布于 2022-09-05 04:32:48 字数 222 浏览 21 评论 0

debian 9 使用zsh替代bash, 打开终端还是bash,只有使用su登陆后才变成zsh,什么问题?

chsh -s /bin/zsh

使用上面的命令切换的

cat /etc/passwd

输出已经显示我的账号改为zsh了。
求指教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

允世 2022-09-12 04:32:49

看来你是把 root 的默认 shell 给改了……

你要改哪个用户的 shell,就用哪个用户运行 chsh 啊。或者指定用户名也行: chsh -s /bin/zsh username。

不建议直接修改 passwd 文件,尤其是你这种连 chsh 都弄错的新手,要是一不小心把 passwd 改坏了,你更是没办法修复了。

更新默认 shell 之后需要重新登录。桌面环境请注销然后登录,ssh 连接请完全断开连接(如果你配置了长连接,也要断掉)然后再登录。或者你重启也行。

另外一些图形界面的终端模拟器(以及 tmux)可以指定默认跑什么命令的。如果你配置过,那么你的默认 shell 不管怎么改也是没有用的。

你的往事 2022-09-12 04:32:49

重新启动了下虚拟机,问题好像解决了。

傲性难收 2022-09-12 04:32:49

使用root用户运行chsh只更改当前操作用户默认的终端,如果要修改其他用户的默认终端,需要以其他用户身份运行chsh

不过,如果你有root的权限,有一个一次性修改其他用户默认终端的方法:

  • 打开/etc/passwd文件,此为用户配置文件,其中,以冒号分隔为一列,第一列为用户名,最后一列为默认shell的路径

  • 将需要切换默认终端为zsh的用户名对应行中,最后一列的/usr/bin/bash改为zsh的路径

  • 保存退出

  • 然后,你会发现其他用户默认也是使用zsh终端了

  • 如果你是使用SSH连接的,可能需要退出SSH重新连接才会生效

  • 如果/etc/passwd文件不存在,可以使用mkpasswd -l > /etc/passwd生成默认用户配置文件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文