解决方法

解决方法

我最近安装了 Lubuntu 19.04 (LXQt),我想将默认浏览器从 Firefox 更改为 Google Chrome。但是,即使我在设置中将 Chrome 设置为默认浏览器,但每当我尝试从我的电脑打开 html 文件(或单击任何链接)时,Firefox 仍然是默认浏览器。

我不知道为什么操作系统不听我的指令。我在“会话设置”菜单和“更新替代方案”中都将 Chrome 设置为默认浏览器。我甚至在/usr/share/applications/defaults.list 中手动更改了它,但它仍然没有改变。无论我做什么,Firefox 仍然是默认浏览器。

知道发生什么事了吗?

附言:我知道删除 Firefox 或许可以解决问题,但我不想这么做。我想保留这两种浏览器,只是将 Chrome 设为默认浏览器。

答案1

理想情况下,您只需按照手册进行操作即可。

https://manual.lubuntu.me/3/3.2/3.2.17/alternative_configurator.html

但是由于已知问题(Lubuntu 团队的任务 53),它不适用于浏览器。

关于 bughttps://bugs.launchpad.net/ubuntu/+source/lxqt-session/+bug/1824654有一个解决方法,即:-

解决方法

  1. $BROWSER从中删除/etc/xdg/xdg-Lubuntu/lxqt/session.conf
  2. $BROWSER从中删除$HOME/.config/lxqt/session.conf
  3. 使用以下命令删除环境变量unset BROWSER
  4. 切换浏览器时请遵循以下规则:
    • 请勿使用,它可以在 (“会话设置”)$BROWSER中设置为“默认应用程序”或“环境变量”lxqt-config-session
    • 要在 Chromium、Firefox 或 Opera 之间切换为默认浏览器,您可以使用应用程序内机制
    • 对于没有应用程序内机制的浏览器:
      1. /usr/share/applications查找与浏览器关联的桌面文件,例如chromium-browser.desktop
      2. 跑步xdg-settings set default-web-browser browser.desktop

请注意,我刚刚从 1824654 错误报告中复制/粘贴了解决方法。T53 任务可以在以下位置找到https://phab.lubuntu.me/T53尽管可能需要登录权限

此处所有信息均由@wxl 提供

答案2

可接受的答案解决了 Lubuntu 对 BROWSER 环境变量的可疑使用问题,但这只是漏洞百出的尝试。在 Linux 中设置默认浏览器就像玩打地鼠游戏,你修复了一个应用程序中可以正常工作的东西,而其他应用程序有另一种方法,但仍然无法正常工作。

Lubuntu 这样做几乎是可以理解的,环境变量优先于大多数(但不是全部)启动浏览器的方式,所以这实际上是他们可以合理控制的事情;问题是,它与“标准”方式不同,他们没有(据我所知)记录改变它的方法,坦率地说,环境变量应该属于用户。

所以。在我看来,XDG 实用程序一团糟,而且,一旦你按照已批准答案中的建议去做,你仍然可能会遇到某些程序或应用程序打开错误浏览器的情况,这是由于 XDG 根本不起作用。例如,在我删除 lxqt 配置文件中的 BROWSER 条目后,我能够运行xdg-settings set default-web-browser而不会出现错误;除了它实际上并没有设置默认的 Web 浏览器。后续调用xdg-settings set default-web-browser继续将 Firefox 返回为默认浏览器。虽然我能够让 x-www-browser 和 sensible-browser 运行我喜欢的浏览器,但其他方法仍然运行 Firefox。例如,Python 的 webbrowser 模块继续打开 Firefox。

最后,我决定只能采取焦土政策。我搜索了各个位置的“firefox.desktop”配置文件,并将其替换。

find /usr/share /etc ~/.config -not -type d | xargs -d '\n' grep -F firefox.desktop

一旦我更改了所有设置,它最终就能可靠地启动正确的浏览器。但这可能不会永远有效:升级可能会覆盖其中一些文件。

而我很久以前就切换到 Linux 了,这样就不用再处理 Windows 这个麻烦了。

相关内容