Как правильно установить LibreOffice с помощью FlatPak, чтобы иметь команду libreoffice в переменной среды $ PATH?

Я только что удалил 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 .

0
задан 26 November 2020 в 18:46

1 ответ

Спасибо @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 нежизнеспособен.

0
ответ дан 26 November 2020 в 19:40

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

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