自从我升级到 Ubuntu 12.04 后,每次我尝试通过 Firefox 打开 PDF(我经常这样做,因为我阅读了大量 PDF 文档,下载每个文档然后删除很烦人),我都会收到错误消息:
无法启动 Adobe Reader 9.5.1。请确保它存在于环境中的 PATH 变量中。如果问题仍然存在,请重新安装应用程序。
如果我从终端启动 Firefox,它在尝试打开 PDF 时给出的消息是:
(firefox:5989): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(firefox:5989): Gdk-CRITICAL **: IA__gdk_window_set_back_pixmap: assertion `GDK_IS_WINDOW (window)' failed
/usr/bin/acroread: 23: exec: /opt/Adobe/Reader9/Reader/intellinux/bin/acroread: Permission denied
我怎样才能解决这个问题?
我应该提到从桌面加载 PDF 没问题。我仅在通过浏览器加载 PDF 时出现错误。
附加信息:
ldd /opt/Adobe/Reader9/Reader/intellinux/bin/acroread | grep not
libBIB.so => not found
libBIBUtils.so => not found
libACE.so => not found
libAGM.so => not found
libCoolType.so => not found
libAXE8SharedExpat.so => not found
libJP2K.so => not found
libAdobeXMP.so => not found
libicuuc.so.36 => not found
libResAccess.so => not found
答案1
该问题显然是由 apparmor 引起的。
您所需要的只是添加一行/etc/apparmor.d/usr.bin.firefox
并重新加载规则。
例如在括号内,
# Allow execution of adobe reader
/opt/Adobe/Reader9/Reader/intellinux/bin/acroread ixr,
我没有32位机器,这些没有经过测试。
答案2
我首先尝试修复权限,因为这看起来缺乏执行权限:
sudo chmod 755 /opt/Adobe/Reader9/Reader/intellinux/bin/acroread
这会将文件的权限重置为由世界和组读取和执行,以及由所有者读取、写入和执行。现在,我们将所有者设置为root
,以便更好地衡量:
sudo chown root: /opt/Adobe/Reader9/Reader/intellinux/bin/acroread
然后再试一次。