Я только что удалил deb-пакеты LibreOffice из моего Система Ubuntu 16.04 LTS с
sudo apt purge --auto-remove $(dpkg -l | grep "^ii libreoffice" | awk '{print $2}')
Чтобы заменить ее версией FlatPak на
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.libreoffice.LibreOffice
Затем перезагрузите систему, чтобы убедиться, что все изменения применены. Затем LibreOffice был указан как установленный согласно
$ flatpak list | grep libreoffice LibreOffice org.libreoffice.LibreOffice 7.0.3.1 стабильный пользователь
он зарегистрировался в меню XDG, и я могу открывать с его помощью файлы ODT.
Раньше у меня были сценарии, которые вызывали LibreOffice в режиме без головы, что-то вроде
libreoffice --headless --convert-to pdf filename.docx
, но сейчас они не работают.
Когда я попробуйте запустить эту команду в терминале:
$ libreoffice Программа libreoffice в настоящее время не установлена.Вы можете установить его, набрав: sudo apt установить libreoffice-common
Таким образом, установка LibreOffice через FlatPak не выполняется:
$ echo $ PATH | grep flatpak $
Обновление, чтобы ответить на комментарий Кулфи:
$ LC_ALL = C ls -al ~ / .local / share / flatpak / exports / bin всего 28 drwxrwxr-x 2 пользователь пользователь 4096 26 ноября, 15:57. drwxrwxr-x 4 пользователя пользователь 4096 7 февраля 2019 г. lrwxrwxrwx 1 пользователь пользователь 83 7 июня 13:18 com.github.bcedu.vgrive -> ../../app/com.github.bcedu.vgrive/current/active/export/bin/com.github.bcedu.vgrive lrwxrwxrwx 1 пользователь пользователь 71 24 мая 2020 г. com.snes9x.Snes9x -> ../../app/com.snes9x.Snes9x/current/active/export/bin/com.snes9x.Snes9x lrwxrwxrwx 1 пользователь пользователь 79 2 октября 23:11 org.inkscape.Inkscape -> ../../app/org.inkscape.Inkscape/current/active/export/bin/org.inkscape.Inkscape lrwxrwxrwx 1 пользователь пользователь 69 10 июня, 16:29 org.kde.kdenlive -> ../../app/org.kde.kdenlive/current/active/export/bin/org.kde.kdenlive lrwxrwxrwx 1 пользователь пользователь 81 7 фев 2019 org.libretro.RetroArch -> ../../app/org.libretro.RetroArch/current/active/export/bin/org.libretro.RetroArch
^ как видите, LibreOffice не экспортирован.
Следует ли мне что-то настраивать вручную?
Небольшое примечание: установка LibreOffice Snap обычно регистрирует libreoffice
по адресу / snap / bin / libreoffice
, который находится в переменной $ PATH
.
Спасибо @vanadium за идею.
Я создал «умный» фрагмент для файла ~/.bashrc
:
# hack for libreoffice
if [[ ! -f /usr/bin/libreoffice ]] && [[ ! -f /snap/bin/libreoffice ]]
then
flatpak info org.libreoffice.LibreOffice > /dev/null && \
alias libreoffice='/usr/bin/flatpak run org.libreoffice.LibreOffice "$@"'
fi
Он проверяет существование установленного deb и snap LibreOffice, а затем определяет псевдоним для libreoffice. Команда
, если существует установленный FlatPak LibreOffice.
Приведенный выше фрагмент не является универсальным, так как в некоторых своих скриптах я также напрямую вызываю lowriter
, localc
, loimpress
.
Поэтому мне нужно будет продолжать использовать LibreOffice 6.2.8 из PPA, чтобы упростить создание сценариев.
Но все это вместе с проблемой, связанной с Snap-fstab, действительно странно. Я понимаю, что собрать LibreOffice 7 для 16.04 LTS в репозитории PPA невозможно. Поэтому я обновился до 18.04 LTS. В настоящее время я вижу, что этот материал Snap и FlatPak нежизнеспособен.