在会话中使用 libreoffice 时unshare -m
,菜单栏丢失。
在控制台输出中我看到这些警告:
** (soffice:9193): CRITICAL **: 10:29:29.171:
void g_lo_menu_insert_section(GLOMenu*, gint, const gchar*, GMenuModel*):
assertion 'G_IS_LO_MENU (menu)' failed
(soffice:9193): Gtk-CRITICAL **: 10:29:29.171:
gtk_menu_bar_new_from_model:
assertion 'G_IS_MENU_MODEL (model)' failed
在我的正常会话中,菜单栏显示正确。在我从 16.04 升级到 18.04 之前,这曾经正常工作。
答案1
该问题是由于 apparmor 拒绝访问 DBUS 套接字引起的。
dmesg
这可以在输出中看到:
audit: type=1400 audit(1542789068.289:1060): apparmor="ALLOWED"
operation="connect"
info="Failed name lookup - disconnected path"
error=-13 profile="libreoffice-soffice"
name="run/user/1000/bus" pid=9545
comm="soffice.bin" requested_mask="wr"
denied_mask="wr" fsuid=1000 ouid=1000
我没有找到如何修复 apparmor 规则的实际问题,但这里介绍了如何完全禁用 libreoffice 的 apparmor。如果您打开不受信任的文件,这会带来一些安全风险。
sudo ln -s /etc/apparmor.d/usr.lib.libreoffice.* /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libreoffice.*