我正在尝试使用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 中的其他进程进行交互。但由于您可能只是想尝试沙箱或调查沙箱内的一些文件等,所以应该没问题™。flatpak enter
区别