在 Flatpak 沙箱中安装额外的包
Install extra packages in Flatpak sandbox
有一些 Flatpak 应用程序具有可选的依赖项,这些依赖项未与应用程序捆绑在一起。例如绘图包 Veusz 可以作为 Flatpak 使用,它可以选择使用 Python 包 h5py
打开 HDF5 文件。但是 h5py
没有与 Flatpak 版本捆绑在一起。我看到了一个 flatpak 命令 flatpak enter
文档说允许我们
Enter the flatpak sandbox.
所以我启动了 Veusz flatpak 应用程序并使用 flatpak ps
来获取它的 PID。然后我尝试 sudo flatpak enter PID pip3 install h5py
但它在我的主机操作系统中安装了 h5py
!
TLDR;是否可以在 Flatpak 应用程序的沙箱中安装自定义包(不仅仅是 Python 包)?如果是,我应该怎么做?
一般来说,您需要add an extension point and create a new package。
例如为需要添加文件的目录添加扩展点(这里lib/GL
):
[Extension org.gnome.Platform.GL]
version=1.4
directory=lib/GL
并使用要添加的文件制作一个新的 flatpak 包(此处 org.gnome.Platform.GL
)。
但在这种情况下,可能存在某种问题。查看 Veusz flatpak here 的元数据文件,它们似乎已经包含 hdf5 和 h5py。如果您缺少此功能,您可能想在存储库中提出问题。
有一些 Flatpak 应用程序具有可选的依赖项,这些依赖项未与应用程序捆绑在一起。例如绘图包 Veusz 可以作为 Flatpak 使用,它可以选择使用 Python 包 h5py
打开 HDF5 文件。但是 h5py
没有与 Flatpak 版本捆绑在一起。我看到了一个 flatpak 命令 flatpak enter
文档说允许我们
Enter the flatpak sandbox.
所以我启动了 Veusz flatpak 应用程序并使用 flatpak ps
来获取它的 PID。然后我尝试 sudo flatpak enter PID pip3 install h5py
但它在我的主机操作系统中安装了 h5py
!
TLDR;是否可以在 Flatpak 应用程序的沙箱中安装自定义包(不仅仅是 Python 包)?如果是,我应该怎么做?
一般来说,您需要add an extension point and create a new package。
例如为需要添加文件的目录添加扩展点(这里lib/GL
):
[Extension org.gnome.Platform.GL]
version=1.4
directory=lib/GL
并使用要添加的文件制作一个新的 flatpak 包(此处 org.gnome.Platform.GL
)。
但在这种情况下,可能存在某种问题。查看 Veusz flatpak here 的元数据文件,它们似乎已经包含 hdf5 和 h5py。如果您缺少此功能,您可能想在存储库中提出问题。