【问题标题】:xdg-open not open default browserxdg-open 不打开默认浏览器
【发布时间】:2016-12-15 20:19:31
【问题描述】:

我有以下情况: 安装了 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。不知道为什么,谁能帮帮我?

【问题讨论】:

    标签: default-browser


    【解决方案1】:

    要设置默认浏览器,请确保您的首选浏览器存在.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
    

    现在你可以开始了!

    【讨论】:

    • 对我来说,“xdg-settings get default-web-browser”已经返回了“firefox.desktop”。但是运行“xdg-settings set default-web-browser firefox.desktop”解决了我的问题。
    • their doc xdg-settings get default-web-browser 之后添加 Postman .desktop 文件后,我遇到了同样的问题,返回了正确的值。运行@user2707671 建议尝试再次设置正确的浏览器解决了问题
    • 我使用 Luuntu,但仍然无法解决此问题。 xdg-open 始终打开 Firefox。
    • 在 kde 上,如果设置失败,请尝试:askubuntu.com/questions/62182/…
    【解决方案2】:

    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 文件。

    【讨论】:

      【解决方案3】:

      已解决,只需打开chrome浏览器并设置为默认浏览器即可。这可以解决问题。

      【讨论】:

      • 出于某种原因,这对我来说永远不起作用。上面的答案确实有效。
      猜你喜欢
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2011-11-19
      • 1970-01-01
      • 2019-12-31
      相关资源
      最近更新 更多