什么是 flatpak 运行时?

What's a flatpak runtime?

flatpak 运行时究竟是什么?是像JVM(Java)和CPython那样的虚拟机吗?或者它更像是 virtualenv 之类的东西?我已经阅读了 flatpak 文档,但我不清楚。

它更像是 virtualenv 而不是 JVM 之类的。它创建一组独立的文件,以便明确定义一个应用程序的依赖项。

但是,不是将 所有 依赖项复制到此环境中,而是以安全的方式共享一些依赖项——这就是 "runtime".

有一整套具有不同特征的可用运行时。

其中一个教程展示了如何安装 flatpak 运行时:

$ flatpak install flathub org.freedesktop.Platform//21.08 org.freedesktop.Sdk//21.08

这意味着它正在使用 org.freedesktop.Sdk ID 和版本 21.08

我最近运行遇到一个错误:

error: runtime/org.kde.Sdk/x86_64/5.15-21.08 not installed

所以我尝试了:

01:09:37 jm@pop-os pycharm_projects → flatpak install flathub runtime/org.kde.Sdk/x86_64/5.15-21.08
Looking for matches…


        ID                          Branch              Op          Remote          Download
 1. [✓] org.kde.Sdk.Locale          5.15-21.08          i           flathub          17.9 kB / 350.1 MB
 2. [✓] org.kde.Sdk                 5.15-21.08          i           flathub         251.8 MB / 674.4 MB

Installing 2/2… ████████████████████ 100%  6.8 MB/s  00:00

参见:

免费桌面

Freedesktop 运行时是可用于任何应用程序的标准运行时,包含一组基本库和服务,包括 D-Bus、GLib、Gtk3、PulseAudio、X11 和 Wayland。

Freedesktop 运行时在此处维护,并在此处有一个网站。

可用的 Freedesktop 运行时:

ID Description
org.freedesktop.Platform Runtime
org.freedesktop.Platform.Locale Runtime translations (extension)
org.freedesktop.Platform.VAAPI.Intel{,.i386} Intel vaapi drivers (extension)
org.freedesktop.Platform.ffmpeg-full All ffmpeg codecs (extension)
org.freedesktop.Platform.Compat.{architecture} 32 bits compatible extension
org.freedesktop.Platform.Compat.{architecture}.debug 32 bits compatible extension (debug)
org.freedesktop.Platform.GL{,32}.default Mesa drivers (extension)
org.freedesktop.Platform.GL{,32}.mesa-git Mesa drivers, latest (extension)
org.freedesktop.Sdk SDK
org.freedesktop.Sdk.Debug SDK debug information (extension)
org.freedesktop.Sdk.Locale SDK translations (extension)
org.freedesktop.Sdk.Docs SDK documentation (extension)
org.freedesktop.Sdk.Extension.toolchain-{architecture} SDK cross compilers (extension)

GNOME

GNOME 运行时适用于任何使用 GNOME 平台的应用程序。它基于 Freedesktop 运行时并添加了 GNOME 平台,包括:

Clutter
Gjs
GObject Introspection
GStreamer
GVFS
Libnotify
Libsecret
LibSoup
PyGObject
Vala
WebKitGTK

这里维护 GNOME 运行时。

可用的 GNOME 运行时: |编号|说明| |----------------|--------| |org.gnome.Platform|运行时间| |org.gnome.Platform.语言环境|运行时 t运行slations(扩展)| |org.gnome.Sdk|开发工具包| |org.gnome.Sdk.调试| SDK调试信息(扩展名)| |org.gnome.Sdk.语言环境| SDK t运行slations(扩展)| |org.gnome.Sdk.文档| SDK 文档(扩展)|

KDE

KDE 运行时也是基于 Freedesktop 运行时并添加了 Qt 和 KDE Frameworks。它适用于任何使用 KDE 平台的应用程序和大多数 Qt-based 应用程序。

此处维护 KDE 运行时。

可用的 KDE 运行时:

ID Description
org.kde.Platform Runtime
org.kde.Platform.Locale Runtime translations (extension)
org.kde.Sdk SDK
org.kde.Sdk.Debug SDK debug information (extension)
org.kde.Sdk.Locale SDK translations (extension)
org.kde.Sdk.Docs SDK documentation (extension)