如果xdg-settings没有桌面环境,如何在Centos 7上设置xdg-open的默认浏览器

问题描述 投票:0回答:1

有很多与我类似的问题(例如xdg-open not open default browserxdgutils - xdg-settings not set default-web-browser in gentoo,但没有一个答案对我的情况有帮助。因此我问对于我的特殊情况:


在 Centos 7 上,我没有运行免费的桌面管理器,我只是从命令行运行一些 X11 应用程序(如 VS Code),其中 DISPLAY 变量设置为我连接的 (Windows) 计算机上的 X 服务器。

在 Centos 机器上我安装了两个浏览器,

firefox
google-chrome
。我只需输入
firefox
即可启动两个浏览器。
google-chrome
在 bash 终端中。

xdg-open
可用,它会打开
google-chrome
中的链接 - 与 VS Code 一样。不过我想把它改成
firefox

我尝试过:

  1. 在 Firefox 的 GUI 首选项中勾选“默认浏览器”。

  2. 使用

    xdg-settings
    ,但是

    xdg-settings get default-web-browser 
    

    返回“xdg-settings:未知桌面环境”

  3. 设置$浏览器。在 bash 中我发出了

    export BROWSER=firefox
    

    但是

    google-chrome
    仍然是由
    xdg-open

  4. 开始的

如何在此环境下将默认浏览器设置为firefox?


注意:奇怪的是,在另一台装有 Centos 6 的机器上(并且“也没有桌面环境”),

export BROWSER
方法有效!

centos centos7 xdgutils default-browser
1个回答
6
投票

可以在

XDG MIME 应用程序规范
中描述的 mimeapps.list 配置文件中设置所需的行为。

TLDR: 为了将 Firefox 配置为用户的默认浏览器,请创建包含以下行的

~/.config/mimeapps.list

[Default Applications]
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
text/html=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop

详情:

xdg-utils
类似于
xdg-open(1)
xdg-mime(1)
在本规范的文件名和位置部分列出的位置中查找此文件:

  • $XDG_CONFIG_HOME/$desktop-mimeapps.list
    用户覆盖,桌面特定(针对高级用户)
  • $XDG_CONFIG_HOME/mimeapps.list
    用户覆盖(用户配置 GUI 的推荐位置)
  • $XDG_CONFIG_DIRS/$desktop-mimeapps.list
    系统管理员和 ISV 覆盖,特定于桌面
  • $XDG_CONFIG_DIRS/mimeapps.list
    系统管理员和 ISV 覆盖
  • $XDG_DATA_HOME/applications/$desktop-mimeapps.list
    为了完整性,已弃用,特定于桌面
  • $XDG_DATA_HOME/applications/mimeapps.list
    为了兼容性,已弃用
  • $XDG_DATA_DIRS/applications/$desktop-mimeapps.list
    发行版提供的默认值,特定于桌面
  • $XDG_DATA_DIRS/applications/mimeapps.list
    发行版提供的默认值

$XDG
变量的位置由XDG基本目录规范管理。如果您想弄清楚
xdg-utils
在您的特定情况下在哪里寻找配置,请使用
XDG_UTILS_DEBUG_LEVEL
环境变量运行它们,如下所示:

$ XDG_UTILS_DEBUG_LEVEL=10 xdg-open 'https://www.example.com'
...
Checking /home/USERNAME/.config/mimeapps.list
...
© www.soinside.com 2019 - 2024. All rights reserved.