有很多与我类似的问题(例如xdg-open not open default browser或xdgutils - 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
。
我尝试过:
在 Firefox 的 GUI 首选项中勾选“默认浏览器”。
使用
xdg-settings
,但是
xdg-settings get default-web-browser
返回“xdg-settings:未知桌面环境”
设置$浏览器。在 bash 中我发出了
export BROWSER=firefox
但是
google-chrome
仍然是由xdg-open
如何在此环境下将默认浏览器设置为firefox?
注意:奇怪的是,在另一台装有 Centos 6 的机器上(并且“也没有桌面环境”),
export BROWSER
方法有效!
可以在
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
...