有没有办法将鱼设置为ubuntu上网本混音中的默认外壳?我放入.bashrc运行鱼,效果很好,但是ubuntu认为它是在bash中运行的鱼,这意味着当我尝试关闭外壳程序时,它会警告我任务仍在运行。

它不会作为新的应用程序弹出,因此我无法像普通应用程序那样将其固定到我的酒吧。

评论

来自官方常见问题解答:如何使鱼成为默认外壳?

#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