如何让Flatpak中的GUI应用程序运行CLI工具?

如何让Flatpak中的GUI应用程序运行CLI工具?

我可以以某种方式允许在 flatpak 内运行的 GUI 应用程序/bin分别允许访问和执行二进制文件/var/bin吗?

即使我允许完全系统访问(--filesystem=host),它甚至无法看到/找到那里的文件。

我的用例是执行shellcheck.

答案1

有不同的方法:

  • 如果你的 Flatpak 可以host访问,你可以运行/usr/local/bin/example/var/run/host/usr/local/bin/example.即/usr/local安装到/var/run/host/usr/local.
  • 但是,由于库不在正确的位置等原因,这仍然可能会失败。因此,您要么需要调整环境变量以便它在那里工作,要么按照下面描述的方式进行。

在 flatpak 之外生成命令

您可以使用flatpak-spawn在不同的环境中运行命令。
但是,通常您希望在主机系统上传播命令,从而突破沙箱。为此,显然需要削弱 flatpak 的沙箱。只需添加此权限:

flatpak override com.packagename.App --talk-name=org.freedesktop.Flatpak

之后,您可以运行flatpak-spawn --host来从主机运行 flatpak 之外的命令。

现在,要在 GUI 中真正使用它,您希望有一些方法来更改要在其中运行的二进制文件的路径。这可能会变得复杂,因为您需要传递额外的参数,最终您可能不得不编写小型包装脚本。
就我而言,我确实做到了,并且你可以在这里找到它们。它们允许(就我而言)Atom(但可能与任何 IDE 一起使用)运行shellcheckgpg……

答案2

相关内容