我已经运行update-alternatives
了 GNOME首选应用程序选择的东西。并且都指向将 Chromium 浏览器作为默认浏览器。然而,当我运行时xdg-open http://askubuntu.com
,Firefox 启动了!同样,Emacs和Bazaar ( bzr
) 也在 Firefox 中而不是 Chromium 中启动东西。
是否有任何其他设置会影响 xdg-open 功能?
有些东西肯定坏了:
更新
我已经清除了 Firefox:
- update-alternatives - 使用 Chromium 浏览器
- sensible-browser - 打开 Chromium 浏览器
- xdg-open & gnome-open - 使用 google-chrome 打开,它亲切地告诉我“它不是默认浏览器”
!!!!
以上所有答案基本上都是正确的,具体取决于您在做什么以及您使用的程序如何调用事物。对我来说,问题是我的终端模拟器(Tilix)仍然打开了错误的浏览器(Firefox 而不是 Chrome),并且
xdg-open foobar.html
还打开了错误的浏览器。最终我发现还有
xdg-mime
:这是不正确的,所以我将其更改为:
然后还有'text/html'的绑定,我也改变了:
这与确保以下内容也正确设置相结合:
BROWSER
变量sensible-browser
(/usr/bin/sensible-browser
,一个包装脚本,试图启动此列表中的其他一些项目)gnome-www-browser
(/usr/bin/gnome-www-browser
, 符号链接/etc/alternatives/gnome-www-browser
)x-www-browser
(/usr/bin/x-www-browser
, 一个符号链接到/etc/alternatives/x-www-browser
www-browser
(/usr/bin/www-browser
, 符号链接/etc/alternatives/www-browser
)update-alternatives --get-selections
指向浏览器的所有“替代”条目(请参阅列表)。这最终在我的桌面上为大多数情况打开了正确的浏览器。2018 年无疑是桌面 Linux 的一年。
Chromium 在其首选项中还有一个选项可以使其成为默认浏览器:
这应该有效,但如果没有,请继续阅读:
GConf数据库中有几个键确定由哪个浏览器启动
xdg-open
:/desktop/gnome/url-handlers/unknown/command
/desktop/gnome/url-handlers/http/command
/desktop/gnome/url-handlers/https/command
/desktop/gnome/url-handlers/about/command
确保它们都设置正确:
gconf-editor
/usr/bin/chromium-browser %s
。在我的情况下,我安装了 Chromium 并将其设为默认值。在此之前,Chrome 是默认浏览器。
我尝试了我能做的所有事情:设置 Chromium 默认浏览器,更改gconf设置以使用%U变量(https://askubuntu.com/a/41085/94263)运行 Chromium,更改替代方案以使用 Chromium 作为默认x-www -浏览器(https://askubuntu.com/a/24052/94263),但没有任何帮助,xdg-open打开新的 Chromium 窗口,起始页无法打开给定的链接,明智的浏览器打开了 Chrome。我试图清除 Chrome(Chromium 在update-alternatives中自动设置为默认值和自动)并再次安装它,因为我需要从那里安装 Pepper flash,它变成了默认的 x-www-browser再次替代,再次使用sensible-browser命令打开。然后我用谷歌搜索了一些页面并引起了我对优先级的注意,还发现/etc/alternatives/中也有gnome-www-browser符号链接,并且google-chrome是默认的。Chrome 的优先级设置为200和 Chromium- 40。Google Chrome 的优先级更高,因此 update-alternatives 实用程序会自动将其安装为默认网络浏览器作为“更好的版本”。
我已经从x-www-browser和gnome-www-browser中删除了 Chrome 和 Chromium :
然后我安装了具有其他优先级的新替代方案:
我不知道所有计算机的默认优先级是“40”还是“200”,否则您会有其他数字。最好先进入
更新。我试图在完全不同的系统上做同样的事情,优先级和这里一样。
更新2。如果您只运行一次 google-chrome,它会将其优先级更改回200,但 chromium-browser 将保持默认设置。
这对我有用。Chromium 已自动设置为默认值,并且sensible-browser正在启动 Chromium。但仍然xdg-open正在打开新的空白窗口。
sensible-browser
是从终端启动默认 Web 浏览器的命令。对我来说,解决方案是运行这两个命令。然后,您只需从列表中选择所需的浏览器。
资料来源:启动板、 Bugzilla