Thunderbird больше не может открывать вложения под Linux после обновления
Я использую нестабильный Debian. После обновления системы Thunderbird неожиданно больше не может открывать вложения - ничего не происходит, но файл сохраняется в /tmp/mozilla...
, Обычно, evince
откроется на моем компьютере.
При открытии Thunderbird через командную строку выводятся следующие сообщения об ошибках:
(thunderbird:25364): Gtk-WARNING **: Attempting to read the recently used resources file at '/home/jenserat/.local/share/recently-used.xbel', but the parser failed: Datei »/home/jenserat/.local/share/recently-used.xbel« konnte nicht geöffnet werden: Keine Berechtigung.
(thunderbird:25364): GVFS-WARNING **: can't init metadata tree /home/jenserat/.local/share/gvfs-metadata/root: open: Keine Berechtigung
(thunderbird:25364): GVFS-WARNING **: can't init metadata tree /home/jenserat/.local/share/gvfs-metadata/root: open: Keine Berechtigung
(thunderbird:25364): Gtk-WARNING **: Attempting to read the recently used resources file at '/home/jenserat/.local/share/recently-used.xbel', but the parser failed: Datei »/home/jenserat/.local/share/recently-used.xbel« konnte nicht geöffnet werden: Keine Berechtigung.
("Keine Berechtigung" по-немецки означает "Отказано в доступе")
2 ответа
Эта проблема вызвана сочетанием недавнего ядра Debian, теперь поддерживающего App Armor, и правил App Armor, поставляемых с системой, которая является строгой и запрещающей evince
для доступа к недавно использованным файлам (которые обновляются при открытии вложения с помощью evince
). Эта проблема также описана в отчете об ошибке Debian #882782 и может также повлиять на другие дистрибутивы Linux.
Решение состоит в том, чтобы установить пакет инструментов App Armor (sudo apt install apparmor-utils
а затем настроить профиль App Armor с помощью sudo aa-logprof
). Инструмент покажет следующие наблюдения (вероятно, он напечатает больше результатов, которые укажут на другие проблемы, в моем случае это были первые):
Profile: thunderbird
Execute: /usr/bin/evince
Severity: unknown
(I)nherit / (C)hild / (P)rofile / (N)amed / (U)nconfined / (X) ix On / (D)eny / Abo(r)t / (F)inish
Выход означает, что в то время как thunderbird
профиль был активным, /usr/bin/evince
был казнен, но потерпел неудачу. Теперь вы можете решить, наследовать ли профиль Thunderbird (это означает, что ограничения Thunderbird будут также применяться к evince
, который не будет соответствовать должным образом), ребенок будет применяться evince
вместо этого (если есть) - это то, что мы ищем. Наконец, выполните F
закончить редактирование.
Если вы используете другой инструмент для чтения журналов, приглашение может выглядеть немного иначе. Будущие обновления Thunderbird должны принести лучшие профили App Armor, но на данный момент это правильный обходной путь (и не должен приносить вред в будущем после установки лучших профилей).
В случае Ubuntu причина может заключаться в том, что у вас установлена привязанная версия Thunderbird или другое приложение, открывающее приложение.
В этом случае, согласно этой теме:
/tmp больше не является «глобальным и общедоступным местоположением».
В качестве решения вы должны переопределить TMP
переменная среды для процесса Thunderbird. Создайте файл с именем, например,~/bin/thunderbird
:
#!/usr/bin/env bash
TMP=$HOME/Downloads /usr/bin/thunderbird "$@"
сделайте его исполняемым:
chmod +x ~/bin/thunderbird
Теперь вы сможете дважды щелкнуть вложения и открыть их с помощью других приложений Snap, таких как Chromium или OpenOffice.