google-chrome-stable一直在询问是否要将其设置为默认浏览器。

自从升级到Ubuntu 15.10以后,google-chrome-stable一直在询问是否要将其设置为默认浏览器,尽管它已经是默认的了。我尝试重新安装它,但没有起作用。有什么建议吗?

如果我没记错的话,你需要去通用设置中心 --> 取消勾选“始终检查 Chrome 是否为默认浏览器”。 - Ravan
但它不应该报告说它不是默认浏览器,而实际上它已经是。我怀疑这里有一个错误。(我也注意到了。刚刚今天升级,所以现在无法调查。) - Jos
1是的,这就是问题所在。设置中显示它不是默认浏览器,但如果我点击“设为默认浏览器”,什么都不会改变。 - Yanick Nedderhoff
请不要在这个论坛上报告错误。这是一个已知的老问题,但对于Ubuntu来说相对较新。 - Yurii Kolesnykov
1首先,这个论坛不是用来报告错误的地方,如FAQ中所述。这里有关于如何报告错误的信息:how to report bugs。而且这里还有一个解决你问题的变通方法 - Yurii Kolesnykov
感谢您的评论。不幸的是,在~/.config/google-chrome/中不存在Profile文件夹。 - Yanick Nedderhoff
这个解决方法不起作用。即使已经是默认浏览器,Chrome仍然会要求成为默认浏览器。 - ulkeshkosh
1@YanickNedderhoff 我已经为提到的答案提出了修改建议。但在他们审核之前,请将路径中的“Profile 1”替换为“默认”。 - Yurii Kolesnykov
谢谢,这似乎有效,重新启动Ubuntu后没有再次询问。不过文件有点奇怪。只有一行,超过200k个字符。由于gedit一直崩溃,我不得不用vi编辑它。我不知道这种解决方法是否合格作为答案,因为它只是解决了症状而非实际问题。如果可以的话,请随意回答这个问题,我会将其标记为“正确”。谢谢! - Yanick Nedderhoff
好的,我会去做。 - Yanick Nedderhoff
3个回答

要找到有效的解决方法,请参见本答案末尾。

初始答案 2015年10月28日(已过时的修复方法)

为了避免被询问是否将Chrome设置为默认浏览器,可以使用以下解决方法(这里提出的建议,并由Yurii Kolesnykov在问题的评论部分中提供):

用文本编辑器打开文件~/.config/google-chrome/Default/Preferences

找到以下行:

"check_default_browser": true,

并将其替换为

"check_default_browser": false,

在我的情况下,文件超过了200k个字符,因此gedit崩溃了几次。如果你的情况也是一样的话,你可能想使用基于终端的编辑器,比如vi。
请注意,这只是一个解决方法,问题本身还需要由Chrome开发人员来修复。
更新:2015年11月24日
正如Danilo Piazzalunga提到的,这个bug已经被确认。正如NicDumZ建议的那样,请通过点击链接投票支持这个bug。

Does this Bug affect you?

引起注意。谢谢!

更新于2016年2月20日

正如Ron Thompson3vi1在评论中首次报道的,并由我亲自确认(使用Ubuntu 15.10),这个解决方法似乎不再有效,至少对于重新安装Google Chrome的用户来说不再有效。所有使用此解决方法的人都应该尽量避免重新安装Chrome。

我再次鼓励您在launchpad上报告受到此错误影响的情况(目前有302人)。

更新于2016年4月5日(有效修复!)

有人在launchpad上提出了一个修复方案,似乎对一些人起到了作用:
要应用这个修复方案,请将文件/usr/bin/xdg-settings中的第198行改为:
command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | sed -e 's/ .*$//'`"

command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | sed -e 's/ .*$//' | head -n 1`"

2016年7月25日更新(有效修复!)

对于(K)Ubuntu 16.04的建议修复进行更新:

要应用修复,请在文件/usr/bin/xdg-settings中更改第177行和第202行的内容:

command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word"

command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word | head -n 1`"

然后进入Google Chrome的设置,将Chrome设为默认浏览器。 更新于2017年6月1日 Bug问题已关闭,并标记为“修复已发布”。引用用户Olivier Tilloy (osomon)的话:

如果我正确理解报告,该问题在xenial的xdg-utils中得到修复。Wily已经终止支持了近一年,所以我关闭了这个bug。

不再影响:chromium-browser 不再影响:google-chrome-beta(Ubuntu) 不再影响:google-chrome(Ubuntu) 在chromium-browser(Ubuntu)中更改: 分配给:Chad Miller(cmiller)→无 状态:进行中→无效 在xdg-utils(Ubuntu)中更改: 分配给:Chad Miller(cmiller)→无 状态:确认→修复已发布


1你能否建议跟进这个漏洞,并通过点击"Does this bug affect you?"来投票支持它?谢谢! - Nicolas Dumazet
看起来这个错误报告是针对Chromium的,但是这个错误也适用于Google Chrome。这有关系吗?另外,在我的配置文件中没有找到"check_default_browser"这一行。 - Nicomachus
是的,它影响到Chromium和Chrome。但Chrome基于Chromium,所以如果修复了,两者都应该修复。至于缺失的那一行:我不知道。也许只需添加该行并查看是否有效? - Yanick Nedderhoff
只需点击“不再询问”按钮,Chrome/ium就不会再打扰你了。无需在文本编辑器中修改任何配置文件...至少对我来说,这是解决问题的方法 :) - user17254
这个解决方法不起作用。一旦Chrome打开,它就会覆盖文件中的选项。 - Ron Thompson
文件的另一个位置是:~/.config/chromium/Default/Preferences - Unamata Sanatarai
@Ron Thompson: 这个解决方法对我和很多其他人都有效。在我的情况下,没有任何被覆盖的内容。你能提供一些细节吗?这样我们最终可以帮助你吗?@Unamata Sanatarai: 是的,如果你使用的是Chromium,那就是正确的路径。它也存在同样的问题,但是这个问题最初是关于google-chrome的。 - Yanick Nedderhoff
我已经将我的信息提交到了错误报告中。但是我没有任何非标准的东西。Ubuntu 15.10,通过apt-get安装的google-chrome。我用文本编辑器编辑文件并保存。打开谷歌,看到提示。重新打开文本文件,我的更改被覆盖了。不确定我还能提供什么额外的信息。 - Ron Thompson
也许可以用 cat 命令检查一下是否已经保存了? - Yanick Nedderhoff
我可以确认 Ron 的经验:我刚刚完成了一次完整的重新安装,通过 apt-get 安装了 Google Chrome,并遇到了这个问题。我覆盖了文件中的值,但下次启动 Chrome 时它又被覆盖(回到“true”)。 - 3vi1
太好了,现在我可以自己确认了。我不得不重新安装,现在它自动改回了true。我没有在系统中做任何其他更改。 - Yanick Nedderhoff
3只是确认一下...新的解决方案(替换命令正则表达式)在15.10版本上对我有效 :) 谢谢。 - TacB0sS
2更新于2016年4月5日(可行的修复方法!)在我的Ubuntu 15.10上,Chrome版本为50.0.2661.102(64位),解决了这个问题。 - CharlyDelta
xdg-settings脚本更改成功,Ubuntu 15.10 Chrome 51.0.2704.63。 - Zayne S Halsall
@YanickNedderhoff 你有没有办法在Kubuntu上应用这个?文件似乎有些不同,xdg-settings文件中没有与那行匹配的内容,并且有多个类似的行需要更改。这是文件的副本:http://pastebin.com/hD5qtQNm - Hans
@Hans 在所有以 grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | 开头的行中添加 | head -n 1。我会在答案中添加一个完整的字符串作为示例。 - naXa stands with Ukraine
嘿,我正在使用Kubuntu 16.04,你的修复方法对我没有起作用,尽管177行和202行确实包含了你提到的准确代码,有什么想法吗? - Vikash Balasubramanian
更新了答案,包含了最新的进展(修复版本) - Yanick Nedderhoff

这已经被追踪为 XDG 实用程序中的一个错误,并且它也影响到 Chromium 浏览器。

请参见 LP Bug #1509139


2点击"这个问题是否影响到您?"来投票支持一下,怎么样?谢谢! - Nicolas Dumazet

我在15.10版本中遇到了同样的问题。每次重新启动并打开Chrome时,它都会抱怨它不是默认浏览器,尽管设置中详细信息显示它是默认的网络应用程序。我注意到Firefox是照片的默认应用程序,所以将其设置为图像查看器。经过一次重新启动后,Chrome不再抱怨了。在声称解决了我的问题之前,我应该再试几次,但我想分享一下最初的结果,如果有人也在尝试解决类似问题的话。

更新:可能是一个误导。chrome://settings仍然显示Chrome不是我的默认浏览器。在测试过程中,我可能意外点击了“不再询问”按钮。为了撤销这个决定,我找不到偏好设置文件。 - mrh53