启动 evince 时出现此错误:
EvinceDocument-WARNING **: 10:14:16.337: Error opening directory “/usr/lib/x86_64-linux-gnu/evince/4/backends”: Permission denied
我已经将 evince 置于抱怨模式,因此我认为:
aa-complain /usr/bin/evince
systemctl restart apparmor
状态显示 evince 处于投诉模式:
apparmor_status
22 profiles are in complain mode.
/usr/bin/evince
我正在使用 overlayfs root 运行 Ubuntu。我还尝试过完全停止 apparmor。
我可以执行 ls -al /usr/lib/x86_64-linux-gnu/evince/4/backends 并正常查看文件。如果我运行 strace evince,我会看到完全相同的输出,即无法打开该目录。
- 我该如何修复它?
- 如果这是一个致命错误,为什么 evince 将其记录为警告?
- 如果 apparmor 允许访问(如 dmesg 输出 (ALLOW) 中的证据),为什么它仍然抱怨?
编辑:#1
1. Ubuntu 19.10 Server as a base (not as a install, nor a debootstrap, but close to a debootstrap)
2. xorg + i3 tiling wm installed
3. no virtualization
4. most other applications work as expected
答案1
我通过以下方式解决了这个问题:
- 暂时禁用 evince apparmor 配置文件:
apparmor_parser -R /etc/apparmor.d/usr.bin.evince
- 通过符号链接永久禁用 evince apparmor 配置文件
/etc/apparmor.d/usr.bin.evince via /etc/apparmor.d/disable
答案2
我建议先重新安装 Evince 软件包
sudo apt-get install --reinstall libevdocument3-4 evince-hwp evince
然后重试。
答案3
的文件装甲通过示例命令给出答案:
该目录可与禁用配置文件的选项
/etc/apparmor.d/disable
一起使用。apparmor_parser -R
sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/profile.name
因此,证明命令如下:
sudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.evince