如何在 Ubuntu 20.04 上使用 Flatpak 安装以前版本的 Gimp?

Lev*_*nte 5 gimp software-installation flatpak

我使用的是 Ubuntu 20.04.2,并且我已经成功使用 Flatpak 安装了最新/当前的 Gimp:当时是 2.10.24 版本。

\n

然而,2.10 系列有一些我似乎无法解决的问题。

\n

因此,我想安装 Gimp 2.8。

\n

我知道旧的 Gimp 版本也可能依赖于旧的 Python 版本,因此使用 Flatpak 安装整个东西似乎很方便,因为它将是独立的(与操作系统隔离)并且可以使用自己的(旧的)Python 版本完全没有任何并发​​症。

\n

但我似乎无法找到如何使用 Flatpak 列出当前支持的 Gimp 软件包版本,更不用说安装它了。

\n

那么请问:我如何查看当前可以使用 Flatpak 安装哪些 Gimp 版本(除了最新版本之外),以及如何安装特定版本?

\n

(另外,我已经使用 Flatpak 安装了另一个(更新的)Gimp 版本,这会让事情变得复杂吗?那么,我可以同时拥有两个版本吗?或者我必须先删除更新的版本才能安装旧版本? )

\n
\n

更新:

\n

我已遵循@wizardpurple\'s 答案中的指导,并发现了以下内容:

\n\n

所以现在我已经运行了命令:

\n
$ sudo flatpak update --commit=19dcc22b60e69eaaf740d4311021ed55b7e2537d org.gimp.GIMP\n
Run Code Online (Sandbox Code Playgroud)\n

但它说:

\n
Looking for updates\xe2\x80\xa6\n\n        ID                                        Branch     Op     Remote      Download\n 1.     org.freedesktop.Platform.GL.default       20.08      u      flathub     < 100.8\xc2\xa0MB\n 2.     org.freedesktop.Platform.VAAPI.Intel      20.08      u      flathub      < 11.6\xc2\xa0MB\n 3.     org.gnome.Platform.Locale                 40         u      flathub     < 333.7\xc2\xa0MB (partial)\n 4.     org.gtk.Gtk3theme.Yaru-light              3.22       u      flathub     < 203.4\xc2\xa0kB\n 5.     org.gnome.Platform                        40         u      flathub     < 362.6\xc2\xa0MB\n 6.     org.gimp.GIMP                             stable     u      flathub     < 117.2\xc2\xa0MB\n\nProceed with these changes to the system installation? [Y/n]:\n
Run Code Online (Sandbox Code Playgroud)\n

这些似乎是 Gimp flatpak 的依赖项。显然这个老瘸子需要它们?由于 Gimp 2.10.24 需要它们,我已经安装了它们;这些/其中一些也会被降级吗?

\n

我担心的是,虽然这个 flatpak 生态系统确实与主操作系统隔离,但它内部似乎仍然保持着一些依赖关系。所以我不知道我是否通过降级 Gimp 搞乱了这个 Flatpak 生态系统......

\n
\n

更新2:

\n

我已经运行了flatpak update --commit命令,它死了,如下所示:

\n

首先,它毫无问题地检查了所有依赖项(虽然它始终为每个依赖项下载了较少的数据,因为下载大小是预先指示的),然后当它到达 Gimp 时,作为最后一项,它去了:

\n
OSTree:ERROR:src/libostree/ostree-core.c:1432:ostree_checksum_inplace_to_bytes: assertion failed: (checksum[j])\nBail out! OSTree:ERROR:src/libostree/ostree-core.c:1432:ostree_checksum_inplace_to_bytes: assertion failed: (checksum[j])\nAborted\n
Run Code Online (Sandbox Code Playgroud)\n

然后操作系统给出“检测到系统程序问题”对话框。

\n

我想我可以在 Github 存储库上提交问题。

\n

wiz*_*ple 9

已编辑更正信息。为了清晰起见,部分内容被重写。

概括

在 Ubuntu 20.04 上运行 GIMP 2.8 最简单的选择似乎是在 Ubuntu 18.04 VM 中运行它(GNOME Boxes 很方便)并通过官方存储库安装它。可能可以选择尝试构建较旧的 Flatpak...但是,GIMP 是一款功能强大的软件,构建 2-3 年历史的 Flatpak 很可能会产生一系列令人头疼的问题。

安装较旧的 Flatpaks 版本

您可以通过指定对目标的特定提交来安装旧版本的 flatpak。可以使用该命令找到可用的提交remote-info。您需要已经安装了 flatpak 才能正常工作。由于您正在执行降级,因此旧版本会取代新版本。

结果remote-info并不是完整的历史记录,因为保留的版本似乎存在一个截止点。由于使用 Flatpak 可以让开发人员轻松推送最新版本的软件,因此在存储空间上保留所有内容就不那么容易了。

# examine remote
flatpak remote-info --log flathub org.gimp.GIMP

--snip--

    Commit: c53c42d04e88c0b0c416d5b4d3aa7600d1cdbdcd36d051b1af5c4ae980e29bb2
   Subject: Build Little-CMS 2.12 ourselves. (13d146e6)
      Date: 2021-03-29 16:33:51 +0000

--snip--

# install specific commit
# root privileges required for system  
flatpak update --commit=c53c42d04e88c0b0c416d5b4d3aa7600d1cdbdcd36d051b1af5c4ae980e29bb2 org.gimp.GIMP

# to prevent future updates, you can mask the flatpak
flatpak mask org.gimp.GIMP
Run Code Online (Sandbox Code Playgroud)

正如我之前所想,命令中的提交flatpak remote-info --log不能用 GitHub 中的提交替换。上面示例的输出中引用了 GitHub 提交(13d146e6),但不是用于在版本之间移动的提交。

Flatpak提示和技巧

“可能”运行多个版本

如果您想要最新的 gimp 和可从输出中获得的旧版本remote-info,您可以尝试将一个安装为系统软件包,将另一个安装为用户软件包。也许不是最优雅的方法,但它应该有效。

flatpak install flathub org.gimp.GIMP # system/default

# user method also requires adding the flathub repo to the user repos
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.gimp.GIMP # user
Run Code Online (Sandbox Code Playgroud)