我能以某种方式让一个flatpak中运行的GUI应用程序允许访问,并在执行二进制/bin
分别/var/bin
?
即使我允许完全系统访问 ( --filesystem=host
) 它甚至无法在那里看到/找到文件。
我的用例是执行shellcheck
.
有不同的方法:
host
访问权限,你可以如运行/usr/local/bin/example
在/var/run/host/usr/local/bin/example
。即/usr/local
安装到/var/run/host/usr/local
.您可以用来flatpak-spawn
在不同的环境中运行命令。
但是,通常您希望在主机系统上执行命令,从而突破沙箱。为此,您显然需要削弱 flatpak 的沙箱。只需添加此权限:
flatpak override com.packagename.App --talk-name=org.freedesktop.Flatpak
Run Code Online (Sandbox Code Playgroud)
之后,您可以运行flatpak-spawn --host
以从主机运行 flatpak 之外的命令。
现在,要真正在 GUI 中使用它,您希望有一些方法可以更改要在那里运行的二进制文件的路径。这可能会变得复杂,因为您需要传递额外的参数,最终您可能不得不编写小型包装器脚本。
就我而言,我确实做到了,您可以在此处找到它们。它们允许(在我的情况下)Atom(但可能使用任何 IDE)运行shellcheck
或gpg
......