为什么 Firefox 无法加载来自 Thunderbird 的超链接?

为什么 Firefox 无法加载来自 Thunderbird 的超链接?

我遇到了 Firefox 无法加载 Thunderbird 中的电子邮件超链接的问题。

将默认浏览器设置为 Firefox,单击电子邮件中的超链接会启动浏览器,但不会加载任何页面(地址栏保持为空)。

我认为这是 Firefox 的问题,因为当我将默认浏览器更改为 Chromium 时,单击电子邮件中的超链接会在正确的页面上正确启动浏览器。

我已经检查了firefox.desktop我的系统上的文件(/usr/share/applications/firefox.desktop),它包含正确的执行字符串(firefox %u,正如这个非常古老的问题所建议的那样:点击的链接未传递至 Firefox)。我还禁用了所有 Firefox 附加组件。

在 Thunderbird 中,我可以将链接复制到剪贴板,但当我将其粘贴到 Firefox 地址栏时,什么也没有发生。同样,“粘贴并转到”选项也没有任何作用。但是,如果我关闭然后重新打开 Firefox 的新实例(即不是从 Thunderbird 启动的实例),粘贴的 URL 将正确加载。我认为 Firefox 似乎不喜欢从 Thunderbird 启动的方式。

为了诊断问题,我用一个小脚本替换了/usr/bin/firefox(这是一个链接/usr/lib/firefox/firefox.sh),以记录启动时间和传递给 Firefox 的 URL 参数(灵感来自https://bbs.archlinux.org/viewtopic.php?id=284906,但是我认为该线程中讨论的问题完全不同并且那里提出的修复对我没有帮助)。

脚本日志显示 Thunderbird 正在尝试使用正确的地址启动 Firefox,但出于某种原因 Firefox 无法打开它。如果我从命令行使用指定的相同地址启动 Firefox,它就可以正常工作。同样,xgd-open使用指定的地址运行(我相信只是调用默认浏览器,在本例中是 Firefox)也可以正常工作。

该脚本还使用转储当前环境变量printenv。我可以看到 Thunderbird 启动 Firefox 时的环境与从命令行启动 Firefox 时的环境之间存在一些差异,但我不确定是否有任何特别相关的差异。

apparmor="DENIED"当我查看系统日志时,我确实看到当我单击 Thunderbird 中的链接时出现了许多与 Firefox 相关的消息。但是,当我从命令行启动 Firefox 时,我看到出现了类似的消息,因此这可能不相关。

我目前的解决方法是记住在尝试单击 Thunderbird 中的链接之前手动启动 Firefox。然后 Firefox 似乎可以在新选项卡中正确打开链接。我想我可以/usr/bin/thunderbird用一个脚本来替换它,该脚本先启动 Firefox,然后再启动 Thunderbird,但这种事情应该没有必要。

我正在使用全新安装的 Ubuntu 22.04 和以下最新软件版本进行测试:

Firefox version 114.0 (64-bit) Mozilla Firefox for Ubuntu canonical - 1.0
114.0+build3-0ubuntu0.22.04.1~mt1
https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/

Thunderbird version 102.11.2 (64-bit)
1:102.11.2+build1-0ubuntu0.22.04.1~mt1
https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/

Chromium Version 113.0.5672.126 (Official Build) built on Debian bookworm/sid, running on Debian bookworm/sid (64-bit)
113.0.5672.126-1~xtradeb1
https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu/

有任何想法吗?

答案1

我遇到了完全相同的奇怪问题并开始关注这个问题。它特定于一台 PC。这也许有关系。在另外两台规格相似的设备上安装相同的软件,则不会出现此问题。

我正在使用 xubuntu 22.04、Firefox 116 和 Thunderbird 102.13.1(均来自 apt 升级)。

升级并没有解决问题,所以我现在正在考虑测试新的操作系统安装。

编辑... 在新的分区中使用相同的软件(和硬件)进行了新安装后,我确信问题出在原始 Ubuntu 安装的某个地方。我复制了我的完整主目录(安装了其他额外的应用程序,因为我发现当它们的链接失败时我需要它们)。这为我解决了这个问题。

答案2

在基于 Ubuntu 22.04 的 KDE neon 6.0 系统上遇到了同样的问题,并按照 OP 的提示查看了 AppArmor 系统日志条目。运行后

root@pc:~# aa-disable usr.bin.firefox
Disabling /etc/apparmor.d/usr.bin.firefox.

重新启动后,Thunderbird 中电子邮件中的网页链接在 Firefox 中就可以再次正常打开(如果必须先启动的话)。

理想情况下,可以修复 AppArmor 配置文件,但这超出了我的范围。

相关内容