它不会作为新的应用程序弹出,因此我无法像普通应用程序那样将其固定到我的酒吧。
#1 楼
您可以通过运行chsh -s `which fish`
来将fish设置为默认外壳。要为其他用户这样做,只需在命令末尾添加用户名,然后使用
sudo
即可。 br /> 然后注销并重新登录。
(要将其设置回
bash
,您当然需要使用Fish语法,例如chsh -s (which bash)
)评论
这似乎对我不起作用。它没有给出错误,但是即使我只是打开一个新标签,它也似乎不起作用。有什么想法吗?
– Xodarap
2011-2-15的3:05
您可能必须注销并重新登录-我刚刚在一个干净的虚拟机上尝试了它,并且正常工作。
–ajmitch
2011-2-15在3:09
您如何重新设置?
– knutole
2014年5月2日,12:36
不要用sudo意外运行此命令,否则您将更改root shell。
–斯蒂芬·尼德斯基(Stephen Niedzielski)
15年4月24日在22:11
或chsh -s(从鱼里面钓鱼)。
–机房
16年2月26日在13:00
#2 楼
usermod -s /usr/bin/fish username
尽管必须以root身份运行。
这将永久更改指定用户的shell。
评论
我知道它不是Ubuntu,但我想发表评论:我在CentOS上,并且尝试通过非root用户更改shell时遇到了“身份验证失败”错误,并且在进行了广泛搜索以尝试找出它之后,这是唯一有效的方法。谢谢!
– CWSpear
13年3月3日,下午4:50
是的,它将适用于大多数具有usermod和fish作为外壳的unix风味,或者将shell更改为所需的任何风味
–sweetfa
13年11月11日在7:57
我这样做了,现在终端不再启动了。我收到“为此终端创建子进程时出错”,“无法执行子进程“ / usr / bin / fish”(输入/输出错误)”。我该如何撤消呢?
–ptkato
15年12月30日在21:42
发出与root相同的命令,但使用bash代替fish作为shell。
–sweetfa
15年12月31日在1:10
#3 楼
我只是将fish
行添加到.bashrc
的末尾。评论
那是最简单,最好的解决方案,IMO;)
–electronix384128
16-11-22在4:32
对不起,但是效率不高。 :)它将加载您的鱼壳,但会在运行bash时运行。
– M. Junaid Salaat
17 Mar 17 '17 at 10:13
为什么bash需要高效? @ M.JunaidSalaat
–代号詹姆斯
17年7月26日在19:34
乍一看,这似乎是一个肮脏的技巧,但是在将我的pc和fish设置为chsh的默认外壳后,我回到了这个解决方案。一些程序假定您正在使用bash,并且由于在fish上使用bash语法而会崩溃。到目前为止,我在i3wm和matlab中都遇到过此类问题。
– Naheel
18年5月21日在14:36
@codenamejames:不是bash需要高效,也不是那几毫秒很重要,但是这是没有损失的情况,那么为什么不正确呢?特别是在我们向他人提供建议的地方。我们应该更了解
–口语
19年5月19日在14:45
#4 楼
我同意chsh
是正确的答案。但是:如果运行
chsh
并出现错误/usr/local/bin/fish: non-standard shell
只需将鱼的二进制位置添加到
/etc/shells
。在这里找到。
评论
这是在macOS Mojave上要做的。
–弗洛里安·温德尔伯恩(Florian Wendelborn)
19年6月22日在22:52
#5 楼
在/etc/shells
中,添加/usr/local/bin/fish
:# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish
然后
chsh -s /usr/local/bin/fish
。评论
这适用于MacOS Big Sur
– TimNode
20/11/17在15:08
评论
来自官方常见问题解答:如何使鱼成为默认外壳?