我正在运行 Ubuntu MATE 16.04 LTS。
我已经添加了 Flatpak PPA 和安装它到我的系统:
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
然后我想将一些应用程序安装为 Flatpak,所以我需要在终端中运行一些命令(以 KDE 为例):
添加存储库:
flatpak remote-add --if-not-exists flathub \ https://flathub.org/repo/flathub.flatpakrepo flatpak remote-add --if-not-exists kdeapps --from \ https://distribute.kde.org/kdeapps.flatpakrepo
安装所需的 flatpak (以 KDiff3 为例):
flatpak install kdeapps org.kde.kdiff3
我已经阅读过gnome-software-plugin-flatpak
和plasma-discover-flatpak-backend
,但是 Ubuntu Xenial 没有这样的软件包。
但我找不到 Ubuntu 16.04 LTS 的解决方案。
更新 1:尝试在 16.04 LTS 上构建plasma-discover
18.04 LTS 的源包,但出现许多有关 Qt5 声明的错误,例如
discover/libdiscover/resources/ResourcesModel.cpp:336:42:错误:'qAsConst' 未在此范围内声明
(自动后端:qAsConst(m_backends))
^
libdiscover/CMakeFiles/DiscoverCommon.dir/build.make:374:目标'libdiscover/CMakeFiles/DiscoverCommon.dir/resources/ResourcesModel.cpp.o' 的配方失败
所以这不是一个解决方案。
更新 2:从 Snappy 安装 GNOME 软件snap install --edge gnome-software --classic
允许使用 Snap GUI,但不能使用 FlatPak。
答案1
答案2
不。Flatpak 似乎不支持旧版 Ubuntu(16.10 及更早版本)的图形用户界面。Flatpak GUI(指 Flatpak 的插件支持)是在 16.04 版本之后添加的,因此存在未满足的依赖关系。
未满足的依赖关系
Flatpak(原名 xdg-app)相对较新,自 2017 年以来已被应用程序和发行版采用。链接到的“开发人员指南”本文档,遗憾的是没有提到任何特定的依赖关系或最低要求作为参考。
常见问题解答然而,间接指出需要 GNOME 3.22。
GNOME Builder 3.22.4 及更新版本包含对 flatpak-builder 清单的支持。
Ubuntu 16.04 使用几个较旧的版本比 GNOME 3.22 更受欢迎。尽管 Ubuntu 16.04 是目前支持的版本,但该平台被认为较旧,不适合让 Flatpak GUI 工作。
在 Ubuntu 上,Flatpak GUI 可通过以下方式使用GNOME 软件和等离子发现使用相应的插件,gnome-software-plugin-flatpak
和plasma-discover-flatpak-backend
。我们可以回顾过去的开发新闻,以进一步明确依赖关系。
Flatpak 和 GNOME
Flatpak 对 GNOME 软件的支持在这篇博文由 hughsie (Richard) 撰写,2016 年 7 月 5 日的“Flatpak 和 GNOME 软件”。其中包含一些屏幕截图和包装细节。
Builder 中的 Flatpak 集成已GNOME Wiki 上有说明并于何时发布GNOME 3.22 发布2016年9月21日。
最新的 GNOME 版本首次引入了全面的 Flatpak 集成 [...] GNOME 3.22 可以轻松使用软件应用程序安装 Flatpak 应用程序。
鉴于第一个引入 Flatpak GUI 的 GNOME 版本是 GNOME 3.22,带有 GNOME 3.18 的 Ubuntu 16.04不符合要求。即使满足最低要求,现在不受支持的Ubuntu 17.04 也存在此要求的问题。
Flatpak 和 KDE
Flatpak 对 Plasma Discover 的支持在这篇博文由 jgrulich (Jan Grulich) 撰写,“KDE Discover flatpak backend”,日期为 2017 年 2 月 14 日。其中有一些截图,但细节较少。
在相关事宜上,KDE 社区 Wiki 上的 Flatpak有更多有用的信息。
我们为 Qt 和所有 KDE 框架 5(第 4 层除外)提供运行时[...]可以按照以下说明添加此运行时:
flatpak install flathub org.kde.Platform//5.9 flatpak install flathub org.kde.Sdk//5.9
鉴于该说明提到了 KDE Plasma 5.9,带有 KDE Plasma 5.5 的 Ubuntu 16.04不符合要求。即使Kubuntu 反向移植 PPA,Ubuntu 16.04 将只有 KDE Plasma 5.8,这比所述版本仍然旧。
Flatpak 支持差异
Flatpak GUI 最先在 GNOME 中推出,随后在 KDE 中推出。因此,GNOME 可能对 Flatpak GUI 有更好的支持。
Ubuntu 16.04(或 Kubuntu 16.04)上的 KDE Plasma 5 默认情况下存在错误,并且在桌面上崩溃。事实上,16.04 的 KDE Plasma 元包已经从包搜索结果。这可能暗示 Flatpak GUI 不适合在 Ubuntu 16.04 上与 KDE 一起运行。
如果有人有知识,可以从 GNOME 3.22 或 KDE 5.9 反向移植所需的软件包,以便在 Ubuntu 16.04 上构建和运行 Flatpak GUI,那么这个答案可能会被证明是错误的。否则,由于我不知道的任何原因,反向移植可能不可行。
总结Flatpak 相对较新,而 Ubuntu 16.04 (xenial) 太旧,无法构建和运行 Flatpak GUI。这是基于查看 GNOME 和 KDE 的开发新闻和文档得出的结论。Flatpak 文档似乎没有任何支持细节。