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

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

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

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

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

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

5
задан 15 June 2018 в 07:29

1 ответ

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

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

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

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

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

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

или

mktemp -u

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

  1. Отредактируйте файл /etc/profile
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. проверьте, не был ли ваш временный каталог переназначен вашему каталогу /home/user/

echo $TMPDIR

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

Примечания:

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

ОСТОРОЖНО!

sudo gedit ~/.bash_logout

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

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

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

0
ответ дан 30 April 2020 в 10:22

Другие вопросы по тегам:

Похожие вопросы: