我正在尝试使用flatpak enter
进入沙盒 Steam 客户端。要获得 PID 或实例 ID,我这样做:
$ flatpak ps
Instance PID Application Runtime
2581746118 4294 com.valvesoftware.Steam org.freedesktop.Platform
但是,flatpak enter
以 root 身份执行是行不通的:
# flatpak enter 4294 bash
error: 4294 is neither a pid nor an application or instance ID
# flatpak enter 2581746118 bash
error: 2581746118 is neither a pid nor an application or instance ID
# flatpak enter com.valvesoftware.Steam bash
error: com.valvesoftware.Steam is neither a pid nor an application or instance ID
此外,在flatpak enter
仅显示命令行选项后使用制表符完成,而不是enter
.
问题是您需要 root 才能使用
flatpak enter
,因为它需要输入各种容器名称空间。更复杂的是sudo
改变环境变量使 flatpak 不知道你的应用程序实例。这导致了这种相当不明显的用法:
我不想用 jQuery way™来做,但是目前(在 2020 年代初),这似乎仍然是一个未解决的问题,这应该可以解决大多数用例:
它不需要root,也不需要解决方法。
我真的不知道有什么。好吧,不同的是,它产生了一个新的“实例”,所以你不能直接与正在运行的 flatpak 中的其他进程交互。但是,由于您可能只是想尝试沙箱或调查沙箱内的一些文件,那应该没问题™。flatpak enter
区别