
原理是通过 pod/docker 来容器运行一个系统,但是对接了 DISLPLAY ,所以可以直接跑 GUI 程序,甚至可以打包程序入口在 host 里面。说白了,这就是个容器方式的虚拟机啊。但是比虚拟机更妙的是,他的$HOME 和 host 的$HOME 是共享的,所以你任何在虚拟机里的程序,似乎都真正跑在 host 上。So nice

1 UXha45veSNpWCwZR 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, |