我在 Ubuntu 19.10 上安装了 Libreoffice 6.3.4 和 OpenJDK 14,无法启动 libreoffice:
自由办公室:
Fatal exception: Signal 11
Stack:
/usr/lib/libreoffice/program/libuno_sal.so.3(+0x3d263)[0x7f12ac0fb263]
/usr/lib/libreoffice/program/libuno_sal.so.3(+0x3d3da)[0x7f12ac0fb3da]
/lib/x86_64-linux-gnu/libc.so.6(+0x46470)[0x7f12abefa470]
/usr/lib/libreoffice/program/libuno_cppu.so.3(+0x17197)[0x7f12a9e13197]
/usr/lib/libreoffice/program/libuno_cppu.so.3(uno_type_any_assign+0x93)[0x7f12a9e125c3]
/usr/lib/libreoffice/program/libmergedlo.so(+0x28d787d)[0x7f12ae9f487d]
/usr/lib/libreoffice/program/libmergedlo.so(+0x28d7dca)[0x7f12ae9f4dca]
/usr/lib/libreoffice/program/libmergedlo.so(_ZN3utl10ConfigItemC2ERKN3rtl8OUStringE14ConfigItemMode+0x80)[0x7f12ae9eebc0]
/usr/lib/libreoffice/program/libmergedlo.so(+0x2912bf6)[0x7f12aea2fbf6]
/usr/lib/libreoffice/program/libmergedlo.so(_ZN19SvtSysLocaleOptionsC1Ev+0x129)[0x7f12aea31099]
/usr/lib/libreoffice/program/libmergedlo.so(_Z7InitVCLv+0x1b0)[0x7f12aedef2c0]
/usr/lib/libreoffice/program/libmergedlo.so(_Z10ImplSVMainv+0x115)[0x7f12aedf08b5]
/usr/lib/libreoffice/program/libmergedlo.so(soffice_main+0x97)[0x7f12adf1e907]
/usr/lib/libreoffice/program/soffice.bin(+0x10b0)[0x5649106b80b0]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f12abedb1e3]
/usr/lib/libreoffice/program/soffice.bin(+0x10ee)[0x5649106b80ee]
我看到 apparmor 正在强制执行,并且在 dmesg 输出中收到以下警告:
[Mon Feb 24 10:10:10 2020] kauditd_printk_skb: 4 callbacks suppressed
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.883:1138): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="usr/share/drirc.d" pid=17701 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.883:1139): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="usr/share/drirc.d" pid=17701 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.883:1140): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="usr/share/drirc.d" pid=17701 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.883:1141): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="usr/share/drirc.d" pid=17701 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.887:1142): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="usr/share/drirc.d" pid=17701 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.899:1143): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="usr/lib/libreoffice/program/services" pid=17693 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 10:10:10 2020] audit: type=1400 audit(1582557010.899:1144): apparmor="ALLOWED" operation="open" info="Failed name lookup - disconnected path" error=-13 profile="libreoffice-soffice" name="overlay/home/user/.config/libreoffice/4/user/SafeMode" pid=17693 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
我曾尝试停止 apparmor(systemctl stop apparmor),但仍然收到那些警告消息,并且 libreoffice 无法启动。
我正在使用 overlayfs root 运行 Ubuntu。
答案1
我已通过以下方式暂时禁用 apparmor 配置文件:
运行
apparmor_parser -R <path to profile>
usr.lib.libreoffice.program.soffice.bin usr.lib.libreoffice.program.xpdfimport usr.lib.libreoffice.program.senddoc usr.lib.libreoffice.program.oosplash通过符号链接永久禁用配置文件
<path to profile> /etc/apparmor.d/disable/<profile-to-disable>
答案2
我发现 usr.lib.libreoffice.program.oosplash 中有一个拼写错误。并且,它阻止您禁用该配置文件。
下载的内容以及文件第 17 行的内容:
轮廓libreoffice-oopslash/usr/lib/libreoffice/program/oosplash 标志=(投诉){
改成:
轮廓libreoffice-oosplash/usr/lib/libreoffice/program/oosplash 标志=(投诉){
从现在起,要想运行此功能,您必须欺骗 apparmor 禁用拼写错误的配置文件。
#sudo cp /etc/apparmor.d/usr.lib.libreoffice.program.oosplash /etc/apparmor.d/usr.lib.libreoffice.program.oopslash
在此虚假 cp 中,更改第 17 行以反映:
个人资料 libreoffice-哎呀/usr/lib/libreoffice/程序/哎呀标志=(抱怨){
现在使用 apparmor 禁用配置文件
#sudo aa-disable /etc/apparmor.d/usr.lib.libreoffice.program.oopslash
确认 libreoffice_oopslash 不再处于投诉模式。
#sudo aa-status
现在删除有问题的个人资料。
#sudo rm -f /etc/apparmor.d/usr.lib.libreoffice.program.oopslash
最近,我的 libreoffice 出现了这个问题,时间大约是 23 年 1 月。现在问题已经解决。一旦能够真正禁用配置文件,libreoffice 就可以再次正常工作了。
现在调查为什么我们甚至必须禁用 apparmor。
我希望这是有帮助的。