Evince 无法在 Firefox Snap 中打开链接

Evince 无法在 Firefox Snap 中打开链接

当我在 Evince 中单击 PDF 文档中的链接时,它不起作用。相反,我只看到光标变成了一个旋转器,并且终端中出现了一条消息:

env: ‘/snap/bin/firefox’: Permission denied

我发现最接近的是以下针对 evince 本身的错误报告https://gitlab.gnome.org/GNOME/evince/-/issues/1090

这表明问题出在 AppArmor 配置文件中,它不允许 Evince 在主目录中运行程序。

我该如何解决这个问题?

我使用 Ubuntu 21.10,并从 Snaps 安装了 Firefox

2023 年 11 月更新该错误已在 Ubuntu 23.10 中修复。有关错误讨论,请参阅https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1794064

答案1

此问题env: ‘/snap/bin/firefox’: Permission denied或通过终端启动的env: ‘/snap/bin/chromium’: Permission denied问题evince可以追溯到apparmor。正在执行tail -f /var/log/syslog | grep -i apparmor(从这里),你可能会发现有如下一行apparmor="DENIED" operation="exec" name="/usr/bin/snap" profile="/usr/bin/evince" comm="env"

这个问题可以通过调整配置/etc/apparmor.d/usr.bin.evince文件或者修改抽象来修复(/etc/apparmor.d/abstractions/ubuntu-helpers例如/etc/apparmor.d/abstractions/ubuntu-browsers这里或者那里)。

对我来说,一个彻底的改变是有效的,但可能会导致安全问题,那就是禁用apparmor它。它写道evincesudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/usr.bin.evince那里这样sudo service apparmor restart就可以进行更改,但是就我的情况而言,需要完全重启计算机。

编辑:一个不太激进的举动可能是在块的/usr/bin/snap Ux,末尾添加一行(见/usr/bin/evince {...}/etc/apparmor.d/usr.bin.evince这里)并使用 重新启动服务sudo service apparmor restart。不过,这可能仍然不是完全安全的。

答案2

尝试从 APT 卸载 Evince 并从 Snap 安装它:

sudo apt remote evince
sudo snap install evince

您可能需要注销并重新登录。您可能还需要重新配置文件类型关联。

这是在错误报告讨论。显然,目前,您需要 APT 的 Evince 和浏览器,或者 snap 的两者。

相关内容