Менубары отсутствуют в libreoffice при использовании в сеансе unshare в 18.04
При использовании 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, но вот как можно полностью отключить apparmor для libreoffice. Это создает некоторые угрозы безопасности, если вы открываете ненадежные файлы.
sudo ln -s /etc/apparmor.d/usr.lib.libreoffice.* /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libreoffice.*