如何让“Flatpak Enter”发挥作用?

如何让“Flatpak Enter”发挥作用?

我正在尝试使用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.

答案1

问题是你需要 root 才能使用,flatpak enter因为它需要输入各种容器名称空间。使事情变得更加复杂的是,sudo环境变量的更改使 flatpak 不知道您的应用程序实例。

这导致了这种相当不明显的用法:

sudo -E flatpak enter instance-id /bin/bash

答案2

我不想这样做jQuery 方式™,但就目前而言(2020 年代初),这似乎仍然是一个未解决的问题,这应该可以解决大多数用例:

$ flatpak run --command=/bin/bash fake.application.Identity

它不需要 root,也不需要解决方法。

我真的不知道有什么flatpak enter区别。好吧,区别在于,它会生成一个新的“实例”,因此您无法直接与正在运行的 flatpak 中的其他进程进行交互。但由于您可能只是想尝试沙箱或调查沙箱内的一些文件等,所以应该没问题™。

相关内容