Evince 无法在 Firefox 中打开链接

Ily*_*pov 13 firefox pdf evince apparmor snap

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

\n
env: \xe2\x80\x98/snap/bin/firefox\xe2\x80\x99: Permission denied\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

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

\n

我该如何解决这个问题?

\n

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

\n

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

\n

gdu*_*gdu 4

通过终端启动的这个env: \xe2\x80\x98/snap/bin/firefox\xe2\x80\x99: Permission deniedenv: \xe2\x80\x98/snap/bin/chromium\xe2\x80\x99: 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"

\n

/etc/apparmor.d/usr.bin.evince这可以通过调整配置文件或通过修改抽象(如/etc/apparmor.d/abstractions/ubuntu-helpers或) /etc/apparmor.d/abstractions/ubuntu-browsers(例如herethere )来解决。

\n

对我有用但可能导致安全问题的根本性改变是禁用apparmorfor evincewith sudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/usr.bin.evince。它写在那里sudo service apparmor restart然后将进行更改,但在我的情况下需要完全重新启动计算机。

\n

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

\n


Mak*_*isH 1

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

sudo apt remote evince
sudo snap install evince
Run Code Online (Sandbox Code Playgroud)

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

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