LibreOffice не может получить доступ к файлам /tmp в версии 18.04

LibreOffice не может получить доступ к файлам /tmp в версии 18.04

Только что установил LibreOffice 6.0.4.2 в Ubuntu 18.04.

LibreOffice не может открыть (и вывести список) файлы из каталога /tmp.

Я читал о профилях AppArmor, разработчиках, говорящих об «ожидаемом» варианте использования /home и т. д., но я считаю это очередной полной ерундой от команды LibreOffice.

Я попробовал отключить AppArmor, но LibreOffice после этого даже не открылся, поэтому я снова включил его.

Есть ли решение, позволяющее LibreOffice получать доступ к файлам в любых папках моей системы?

решение1

У меня не было этой проблемы с 18.04 и предыдущим LibreOffice. Но сейчас она у меня есть с Ubuntu 20.04 и LibreOffice 6.4.

После небольшого исследования я выяснил, что это проблема с правами доступа. В Ubuntu 20.04 приложения, включая LibreOffice, не имеют права на чтение папки/тмпгде приложения (например, Firefox) помещают временные файлы. Кстати, вы получите ту же проблему, если попытаетесь открыть напрямую любой файл из сети с помощью назначенного ему приложения, напрямую в Firefox, без его предварительной загрузки (например, попробуйте открыть в Firefox файл .deb, хранящийся в сети, с помощью Software Installer).

Один из способов решить эту проблему — сначала скачать файлы, а потом уже открывать их. Но это раздражает.

Другой способ — переназначить временный каталог в/главная/пользователь/каталог. Это имеет преимущество в уменьшении требуемого пространства на/каталог, не ставя под угрозу безопасность.

Временный каталог управляется настройкой среды TMPDIR. Я использовал предложенное решениездеськTrueDuality.

  1. Проверьте, где находится ваш текущий временный каталог:
echo $TMPDIR

или

mktemp -u

Это должно выглядеть примерно так:/tmp/tmp.zrBHbp0Yt0

  1. Редактировать файл/etc/профиль
sudo gedit /etc/profile
  1. Добавьте следующий код:
if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then
        TMPDIR=/home/$USER/tmp
else
        # You may wish to remove this line, it is there in case
        # a user has put a file 'tmp' in there directory or a
        rm -rf /home/$USER/tmp 2> /dev/null
        mkdir -p /home/$USER/tmp
        TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX)
fi

TMP=$TMPDIR
TEMP=$TMPDIR

export TMPDIR TMP TEMP
  1. перезагрузить

  2. проверьте, был ли ваш временный каталог переназначен на ваш/главная/пользователь/каталог

echo $TMPDIR

На этот раз ответ должен быть примерно таким:/home/user/tmp/nrXo, показывая, что временный каталог был переназначен.

Замечания:

  • На этом этапе проблема должна быть решена, и вы сможете делать такие вещи, как открытие файла напрямую из Firefox (вместо его предварительной загрузки). Файл будет открыт в режиме только для чтения.
  • ТОЛЬКО ЕСЛИ последний шаг (5) подтверждает, что временный каталог теперь переназначен правильно, вы можете беспокоиться о бесконечном росте нового файла /tmp. Чтобы исправить эту проблему, нам нужно убедиться, что в конце сеанса файл удален. Однако, если предыдущий шаг не был выполнен должным образом, вы входите в систему с учетными данными root и переходите к следующему шагу, это может создать проблемы.

ОСТОРОЖНЫЙ!

sudo gedit ~/.bash_logout

добавьте следующие строки:

if [ -O $TMPDIR && -d $TMPDIR ]; then
        rm -rf $TMPDIR/*
fi

сохранить. закрыть и перезагрузить.

Связанный контент