Менубары отсутствуют в 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.*
Другие вопросы по тегам