#1 楼
尝试使用chsh
命令。例如
chsh -s /bin/zsh
您可以通过运行
whereis zsh
来确认zsh的位置,或者简单地运行chsh -s $(which zsh)
如果要更改用户帐户的外壳程序而不是已登录的帐户,则需要以root用户身份运行它,因此要更改john的外壳程序,请执行:
sudo chsh -s $(which zsh) john
请注意,您需要注销并重新登录,以使更改生效。如果您使用的是Gnome或其他窗口管理器,则还需要完全注销该会话-仅关闭和打开终端是不够的。
#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
注销并重新登录以使更改生效。
评论
最好使用chsh,但如果您真的要手工编辑/ etc / passwd,则至少要使用vipw命令。
–Valmiky Arquissandas
14年8月14日在2:58
我的机器上没有chsh。另外,出于某些奇怪的原因,我的/ etc / passwd文件经常被默认文件覆盖。你知道为什么会这样吗?
–Georgii Oleinikov
14年8月14日在16:44
不要触摸/ etc / passwd。有更好的方法可以做到这一点,而无需弄乱passwd工具!
–安德鲁(Andrew)
17年9月12日在18:23
#3 楼
我来这里只是为了添加更多其他信息。如果在运行Amazon的Amazon Linux AMI中安装zsh时遇到麻烦,例如运行时:
sudo chsh $(which zsh) : // chsh command not found
然后,您应该安装util-linux-user:
sudo yum install util-linux-user
(默认情况下,Amazon Linux AMI仅具有lchsh,但我不知道它是如何工作的。)。 >
然后运行以下命令,它应该可以工作:
sudo chsh -s $(which zsh) $(whoami)
评论
谢谢!这适用于AWS AMI :)
– Mayura
19-10-20在23:31
使用lchsh,只需执行sudo lchsh -i ec2-user。
–superhawk610
20-2-22在0:32
您可以跳过交互式。哪个git-shell |以lchsh git为例。
–reergymerej
20年7月2日在21:50
#4 楼
在GNOME终端中的Ubuntu上,通过chsh进行更改不会产生预期的效果...要解决此问题,请执行以下操作:
右键单击终端
Profiles->概要文件首选项
在“标题和命令”选项卡下,勾选“运行自定义命令而不是我的shell”,并提供zsh可执行文件的路径。
重新启动终端。
和平。
P.S.张贴图片没有10个声誉,因此所有文字说明都应如此。 :)
评论
您现在拥有所需的代表。 :P
–pradyunsg
16-3-21在8:43
#5 楼
一行sudo chsh -s $(which zsh) $(whoami)
其他信息:
之后,您可能会想要做这样的事情
git clone https://github.com/zdharma/fast-syntax-highlighting.git \
~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
nano ~/.zshrc
找到plugins =(git)
将zsh-autosuggestions和zsh-syntax-highlighting附加到plugins()这样的
source ~/.zshrc
#6 楼
我有一个Ubuntu 18.04 EC2实例。但是,当我尝试执行以下操作时:ubuntu@ip-xxx:~$ chsh -s /bin/zsh
Password:
chsh: PAM: Authentication failure
我收到密码提示,但由于auth错误而失败,因为坦率地说,我不确定为sudo用户添加的内容。
因此,我尝试添加sudo,命令未给出任何错误。但是,当我稍后切换时,我仍然将BASH作为默认的SHELL。
对我有用的是以下命令:
ubuntu@ip-xxx:~$ sudo chsh -s $(which zsh) $(whoami)
这更改了当前用户的默认shell,并且保持不变每次我进入机器时都是这样。
成功! :)
评论
我确实尝试过,但是使用root用户!我的AMI映像具有ubuntu而不是root。不得不切换到ubuntu用户来更改外壳!感谢您的提示:)
– Shripad克里希纳
2011年1月11日在11:45
@Paddy如果您是root用户,则可以通过运行chsh -s / bin / zsh username来为另一个用户更改它。
– John T
2011年1月11日在11:47
太棒了:)容易得多。也感谢您提供的信息。
– Shripad克里希纳
2011年1月11日在11:48
@我们是世界:您需要将/ usr / local / bin / zsh作为新行添加到/ etc / shells
–内特·帕森斯(Nate Parsons)
13年6月4日在17:54
我使用略有不同的版本sudo chsh -s $(which zsh)$(whoami)
–SergioAraujo
15年4月30日在19:37