操作系统=Debian stretch,运行 LXDE
在非浏览器程序(如 pidgin 或 Thunderbird)中单击 URL 链接不会打开链接。我发现默认浏览器设置为thunderbird.desktop
...非常奇怪...不要问我这是怎么设置的。
$ xdg-settings get default-web-browser
thunderbird.desktop
尝试使用 xdg-settings 设置默认浏览器不起作用:
xdg-settings set default-web-browser firefox-esr.desktop
$ xdg-settings get default-web-browser
thunderbird.desktop
有趣的是,update-alternatives --get-selections 显示 firefox-esr 为默认浏览器。
$ update-alternatives --get-selections |grep browser
gnome-www-browser auto /usr/bin/firefox-esr
infobrowser auto /usr/bin/info
www-browser auto /usr/bin/w3m
x-www-browser auto /usr/bin/firefox-esr
我也尝试过~/.local/share/applications/defaults.list
$ cat ~/.local/share/applications/defaults.list
text/html=firefox-esr.desktop;
什么都没起作用。任何帮助都感激不尽。
更新:
中的这些行~/.config/mimeapps.list
被设置为thunderbird.desktop
。我将它们更改为firefox-esr.desktop
,但仍然没有变化。
application/x-extension-htm=firefox-esr.desktop
application/x-extension-html=firefox-esr.desktop
application/x-extension-shtml=firefox-esr.desktop
application/xhtml+xml=firefox-esr.desktop
application/x-extension-xhtml=firefox-esr.desktop
application/x-extension-xht=firefox-esr.desktop
更新:
命令xdg-mime query filetype index.html
返回空。事实上,其他文件类型也返回空。这一定意味着什么。然而 mimetype 可以工作。
$ mimetype index.html
index.html: text/html
[解决了]根据 Xen2050 的回答
以下是我所做工作的总结,以防其他人遇到类似的问题:
我必须找到所有“mimeapps.list”和“defaults.list”文件:
locate mimeapps.list
locate defaults.list
然后删除它们...
rm ~/.config/mimeapps.list
...
然后运行:
update-desktop-database
就我而言,我收到了一条错误消息,关于 evince 的 mime 类型错误(抱歉,我记不清具体消息了)。因此我清除了 evince:
apt-get purge evince
apt-get purge thunderbird #just for good measure
再试一次:
update-desktop-database
问题还是没解决,于是我继续安装“exo-preferred-applications”,在 Debian 中是“exo-utils”包。然后重新安装 thunderbird。我不需要 evince,所以没有重新安装它。
apt-get install exo-utils
apt-get install thunderbird
然后运行“exo-preferred-applications”。Firefox 没有列在“Web 浏览器”下,因此我选择了“其他”并粘贴了“firefox-esr.desktop”。然后运行:
update-desktop-database
在职的!!!:
$ xdg-mime query default x-scheme-handler/http
firefox-esr.desktop
$ xdg-mime query default x-scheme-handler/https
firefox-esr.desktop
原来在非浏览器应用程序中点击链接的问题现在也得到了解决。
答案1
GUI 的“设置”->“首选应用程序”看起来它xdg-settings get default-web-browser
也设置了,可能不同并且肯定具有更简单的界面,所以尝试一下。
- 看起来它运行
exo-preferred-applications
/usr/share/applications/exo-web-browser.desktop
可能依赖于/usr/local/
包含~/.local
Exec=exo-open --launch WebBrowser %u
也可以尝试
sudo update-alternatives --config x-www-browser
另外,检查您正在寻找的默认 mimetypes 命令可能是其中之一:
xdg-mime query default x-scheme-handler/http
xdg-mime query default x-scheme-handler/https
如果 MIME 类型发生改变,该命令[sudo] update-desktop-database
可能会有所帮助。
- 有关 mimetypes 和文件关联的更多信息:https://askubuntu.com/questions/16580/where-are-file-associations-stored
答案2
Debian GNU/Linux 8 别名 Jessie 中已存在已知问题。无论您使用 LXDE 还是 Gnome。:-(
这是 Evince 错误消息:
~$ sudo update-desktop-database
文件“/usr/share/applications/evince.desktop”中的错误:“”是无效的 MIME 类型(“”不包含子类型)
我清除了 evince。也不需要了……
我的系统:
~$ uname -a
Linux 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3 (2019-09-02) x86_64 GNU/Linux
答案3
不管怎样:我也刚刚遇到过这个问题,并且通过以 root 用户身份使用/usr/share/applications/mimeinfo.cache
适当的值进行覆盖x-sceheme-handler/http
等来解决了这个问题。
由于某种原因,该文件似乎优先于任何本地的、用户可写的文件。