22

我有以下场景:安装了 firefox 和 chrome 的 Ubuntu 16.04 机器,chrome 是我的默认浏览器。

我在 shell 中检查了这个动作:

cat /usr/share/applications/defaults.list
cat /etc/mailcap
cat /.config/mimeapps.list
cat /.local/share/applications/mimeinfo.cache

x-www-browser-> chrome is launch
xdg-mime query default text/html
response:
google-chrome.desktop

并且不会出现任何方面的Firefox,始终是chrome。这可以。还要检查:

单击桌面文件 file.html -> chrome 启动

现在奇怪了,如果我运行:

xdg-open "http://www.example.com"

出于某种奇怪的原因,它总是打开 Firefox。我不知道为什么,有人可以帮助我吗?

4

3 回答 3

40

要设置默认浏览器,请确保.desktop您的首选浏览器存在文件。我将为此示例设置 Mozilla Iceweasel:

$ ls /usr/share/applications/iceweasel.desktop
iceweasel.desktop

确保你有文件,运行:

$ xdg-settings set default-web-browser iceweasel.desktop
# Test that it works
$ xdg-open "http://example.com"

如果您没有 .desktop 文件:

我使用surf没有 .desktop 文件的程序。要将其设置为您的网络浏览器,请首先~/.local/share/applications/surf.desktop使用以下内容创建文件:

[Desktop Entry]
Type=Application
Name=surf
Comment=Surf minimal web browser
Terminal=false
Exec=surf
Categories=Network;WebBrowser

虽然并非所有这些内容都是必需的,但它有助于对文件进行分类以供将来使用。

像往常一样设置默认浏览器:

$ xdg-settings set default-web-browser surf.desktop

现在你可以走了!

于 2018-06-17T04:51:22.297 回答
3

text/html 用于html 文件,即如果您打开一个html 文件,那么它将在google chrome 中打开。要打开网址,您需要有 x-scheme-handler/https 和 x-scheme-handler/http 条目。

您可以使用 xdg-mime 进行设置。例如将 google chrome 设置为 xdg-open 的默认浏览器:

xdg-mime default google-chrome.desktop x-scheme-handler/https
xdg-mime default google-chrome.desktop x-scheme-handler/http

或者您可以将以下行放入 ~/.config/mimeapps.list

x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop

上面的命令基本上将这些行插入到该文件中。

注意:您显然应该在 ~/.local/share/applications 或系统范围的替代位置 - /usr/share/applications 下拥有 google-chrome.desktop 文件。

于 2021-04-20T19:56:08.737 回答
-5

解决了,打开chrome浏览器,设置为默认浏览器。这可以解决问题。

于 2016-12-17T09:40:59.677 回答