原理是通过 pod/docker 来容器运行一个系统,但是对接了 DISLPLAY ,所以可以直接跑 GUI 程序,甚至可以打包程序入口在 host 里面。说白了,这就是个容器方式的虚拟机啊。但是比虚拟机更妙的是,他的$HOME 和 host 的$HOME 是共享的,所以你任何在虚拟机里的程序,似乎都真正跑在 host 上。So nice
1
MeteorVIP 2023-09-07 22:50:39 +08:00 via iPhone
界面很酷
|
2
yhrzpm 2023-09-08 00:35:19 +08:00
看着不错
|
3
hanai 2023-09-08 00:49:41 +08:00 via iPhone
咦 可以当沙箱来用感觉?
|
5
LindsayZhou 2023-09-08 11:10:50 +08:00
systemd 那边也做了一个类似的东西,叫 nspawn ,貌似也能跑 GUI 。
另外 alpine 打包工具 abuild 里,也利用了一个叫 bubblewrap 的工具来创建沙盒,这个就不确定能不能跑 GUI 了。 |
6
param 2023-09-08 11:21:04 +08:00 via Android
为什么不用 appimage 、flatpak 、snap 这种呢?
|
7
libook 2023-09-08 12:03:28 +08:00
一直想找一个用容器部署的远程桌面跳板机方案,不知道这个是否而可以满足。
|
8
tedding 2023-09-08 13:46:37 +08:00
这个适合做开发环境。。。不会污染 host 主机,之前在 kde 项目文档上看到推荐使用 distrobox 编译 kde app
|
9
tony1016 OP @param 因为这工具的目的不是让一个 app 跑起来,它还是想做一定程度的隔离,比如网络,我可以用 distrobox 跑一个网络隔离的 app ,dns 设置不使用 host 的
|
11
HE1HE 2023-09-08 16:36:18 +08:00 via iPhone
不能隔离 home 目录吗,感觉隔离更好
|
12
tony1016 OP --home/-H: select a custom HOME directory for the container. Useful to avoid host's home littering with temp files.
|
13
tony1016 OP @HE1HE --home/-H: select a custom HOME directory for the container. Useful to avoid host's home littering with temp files.
|
14
busier 2023-09-10 13:57:57 +08:00
这不是该 lxc/openvz 干的活么!交给 docker 不别扭么!
|
16
julyclyde 2023-09-11 11:15:41 +08:00
@LindsayZhou nspawn 只是不禁止你运行 GUI 吧,并没有提供什么运行 GUI 的便利吧?
|
17
tony1016 OP @busier 用了几天后,再来深刻回答一下这个问题。它确实比 LXC 方便
1.LXC 要做 X11 需要自己动手映射,distrobox 已经做了 2.LXC 的 gui 无法直接打开本机的应用去浏览文档,但是 distrobox 确实可以做到,虽然不知道怎么做到的 总而言之,distrobox 更像是一个把进程拉到一个特殊环境里去运行,但是又可以很好的和主机进行交流通讯的软件。另外,如它所说:Isolation and sandboxing is not the main aim of the project, |