我刚刚从我的 Ubuntu 16.04 LTS 系统中删除了 LibreOffice 的 deb 包
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 stable user
它在 XDG 菜单中注册,我可以用它打开 ODT 文件。
以前我有在无头模式下调用 LibreOffice 的脚本,比如
libreoffice --headless --convert-to pdf filename.docx
但现在他们不工作。
当我尝试在终端中运行此命令时,它会显示:
$ libreoffice The program 'libreoffice' is currently not installed. You can install it by typing: sudo apt install libreoffice-common
所以它看不到通过 FlatPak 安装 LibreOffice:
$ echo $PATH | grep flatpak $
更新以回答 Kulfy 的评论:
$ LC_ALL=C ls -al ~/.local/share/flatpak/exports/bin total 28 drwxrwxr-x 2 user user 4096 Nov 26 15:57 . drwxrwxr-x 4 user user 4096 Feb 7 2019 .. lrwxrwxrwx 1 user user 83 Jun 7 13:18 com.github.bcedu.vgrive -> ../../app/com.github.bcedu.vgrive/current/active/export/bin/com.github.bcedu.vgrive lrwxrwxrwx 1 user user 71 May 24 2020 com.snes9x.Snes9x -> ../../app/com.snes9x.Snes9x/current/active/export/bin/com.snes9x.Snes9x lrwxrwxrwx 1 user user 79 Oct 2 23:11 org.inkscape.Inkscape -> ../../app/org.inkscape.Inkscape/current/active/export/bin/org.inkscape.Inkscape lrwxrwxrwx 1 user user 69 Jun 10 16:29 org.kde.kdenlive -> ../../app/org.kde.kdenlive/current/active/export/bin/org.kde.kdenlive lrwxrwxrwx 1 user user 81 Feb 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
文件创建了一个“智能”片段:它检查是否存在 deb 和 snap 安装的 LibreOffice,然后
libreoffice
如果存在 FlatPak 安装的 LibreOffice,则为命令定义别名。上面的代码片段不是通用的,因为在我的一些脚本中我也直接调用
lowriter
,localc
,loimpress
.因此,我需要继续使用 PPA 中的 LibreOffice 6.2.8 来简化脚本编写。
但是这一切以及与Snap-fstab 相关的问题真的很奇怪。我知道在PPA中为 16.04 LTS 本地构建 LibreOffice 7 是不可能的。所以我升级到 18.04 LTS。目前我看到这种 Snap 和 FlatPak 的东西是不可行的。