我尝试授权 evince 以链接形式打开 Geogebra 和 libreoffice 文件。
在 ubuntu 16.04 上使用 evince 3.18.2。
更新 1:我刚刚安装了一个新的 18.04 有同样的问题。
更新 2: 这是要尝试的文件。这两种链接都适用于 Okular。
为此,我添加了:
/usr/bin/geogebra ixr,
/usr/bin/libreoffice ixr,
刚过 :
# For text attachments
/usr/bin/gedit ixr,
进入usr.bin.evince
并运行:sudo /etc/init.d/apparmor restart
在 libreoffice 链接上,evince 说:
Impossible de lancer l'application externe.
L'exécution du processus fils « libreoffice » a échoué (Permission non accordée)
并且在终端中没有其他来自 wich evince 的消息被启动。
在 geogebra 链接上,evince 什么也没说:
但是在从 wich evince 启动的终端窗口中,会出现以下消息:
/usr/bin/geogebra: ligne 9: /usr/bin/basename: Permission non accordée
/usr/bin/geogebra: /usr/share/geogebra/geogebra : /bin/bash : mauvais interpréteur: Permission non accordée
/usr/bin/geogebra: ligne 19: /usr/share/geogebra/geogebra: Succès
Geogebra 未启动,但启动器中的图标闪烁了一会儿。
为了证明,我在 18.04.1 上进行了一些尝试。
将以下行添加到 /etc/apparmor.d/local/usr.bin.evince
你可以看到我使用通配符,我只是懒惰。您可以在此处明确指定所有需要的可执行文件的路径。您应该注意到“/usr/bin/libreoffice”本身就是一个 shell 脚本。所以它启动的所有内容都受到“usr.bin.evince”规则的限制;我认为geogebra的情况相同
我不是apparmor专家,也许其他人有更好的主意。
编辑 1
另一个想法是,如果您不关心 apparmor 的限制,您可以将 evince 置于抱怨模式,这不会通过以下方式限制其操作:
如果您没有 aa-complain,您可以通过以下方式安装它:
编辑 2
好的,既然您担心绕过 apparmor,我认为您可以这样做: