
Только что установил 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.
- Проверьте, где находится ваш текущий временный каталог:
echo $TMPDIR
или
mktemp -u
Это должно выглядеть примерно так:/tmp/tmp.zrBHbp0Yt0
- Редактировать файл/etc/профиль
sudo gedit /etc/profile
- Добавьте следующий код:
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
перезагрузить
проверьте, был ли ваш временный каталог переназначен на ваш/главная/пользователь/каталог
echo $TMPDIR
На этот раз ответ должен быть примерно таким:/home/user/tmp/nrXo, показывая, что временный каталог был переназначен.
Замечания:
- На этом этапе проблема должна быть решена, и вы сможете делать такие вещи, как открытие файла напрямую из Firefox (вместо его предварительной загрузки). Файл будет открыт в режиме только для чтения.
- ТОЛЬКО ЕСЛИ последний шаг (5) подтверждает, что временный каталог теперь переназначен правильно, вы можете беспокоиться о бесконечном росте нового файла /tmp. Чтобы исправить эту проблему, нам нужно убедиться, что в конце сеанса файл удален. Однако, если предыдущий шаг не был выполнен должным образом, вы входите в систему с учетными данными root и переходите к следующему шагу, это может создать проблемы.
ОСТОРОЖНЫЙ!
sudo gedit ~/.bash_logout
добавьте следующие строки:
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
сохранить. закрыть и перезагрузить.