Linux - LXDE - 设置默认浏览器不会保留

Linux - LXDE - 设置默认浏览器不会保留

操作系统=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/包含~/.localExec=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可能会有所帮助。

答案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等来解决了这个问题。

由于某种原因,该文件似乎优先于任何本地的、用户可写的文件。

相关内容