V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
tony1016
V2EX  ›  Linux

distrobox 真是一个实用的工具

  •  
  •   tony1016 · 2023-09-07 22:17:37 +08:00 · 2709 次点击
    这是一个创建于 470 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    distrobox

    17 条回复    2023-09-19 12:09:50 +08:00
    MeteorVIP
        1
    MeteorVIP  
       2023-09-07 22:50:39 +08:00 via iPhone
    界面很酷
    yhrzpm
        2
    yhrzpm  
       2023-09-08 00:35:19 +08:00
    看着不错
    hanai
        3
    hanai  
       2023-09-08 00:49:41 +08:00 via iPhone
    咦 可以当沙箱来用感觉?
    tony1016
        4
    tony1016  
    OP
       2023-09-08 09:02:23 +08:00
    @hanai 目前还不是所有资源都隔离,但通过参数调整确实可以,本质上还是 docker/pod
    LindsayZhou
        5
    LindsayZhou  
       2023-09-08 11:10:50 +08:00
    systemd 那边也做了一个类似的东西,叫 nspawn ,貌似也能跑 GUI 。
    另外 alpine 打包工具 abuild 里,也利用了一个叫 bubblewrap 的工具来创建沙盒,这个就不确定能不能跑 GUI 了。
    param
        6
    param  
       2023-09-08 11:21:04 +08:00 via Android
    为什么不用 appimage 、flatpak 、snap 这种呢?
    libook
        7
    libook  
       2023-09-08 12:03:28 +08:00
    一直想找一个用容器部署的远程桌面跳板机方案,不知道这个是否而可以满足。
    tedding
        8
    tedding  
       2023-09-08 13:46:37 +08:00
    这个适合做开发环境。。。不会污染 host 主机,之前在 kde 项目文档上看到推荐使用 distrobox 编译 kde app
    tony1016
        9
    tony1016  
    OP
       2023-09-08 13:54:50 +08:00
    @param 因为这工具的目的不是让一个 app 跑起来,它还是想做一定程度的隔离,比如网络,我可以用 distrobox 跑一个网络隔离的 app ,dns 设置不使用 host 的
    tony1016
        10
    tony1016  
    OP
       2023-09-08 13:56:06 +08:00
    @libook 我推荐 kasmweb 更合适
    HE1HE
        11
    HE1HE  
       2023-09-08 16:36:18 +08:00 via iPhone
    不能隔离 home 目录吗,感觉隔离更好
    tony1016
        12
    tony1016  
    OP
       2023-09-08 20:04:59 +08:00
    --home/-H: select a custom HOME directory for the container. Useful to avoid host's home littering with temp files.
    tony1016
        13
    tony1016  
    OP
       2023-09-08 20:05:15 +08:00
    @HE1HE --home/-H: select a custom HOME directory for the container. Useful to avoid host's home littering with temp files.
    busier
        14
    busier  
       2023-09-10 13:57:57 +08:00
    这不是该 lxc/openvz 干的活么!交给 docker 不别扭么!
    tony1016
        15
    tony1016  
    OP
       2023-09-10 20:32:01 +08:00
    @busier 确实 lxc 更合适,但是 distrobox 更方便
    julyclyde
        16
    julyclyde  
       2023-09-11 11:15:41 +08:00
    @LindsayZhou nspawn 只是不禁止你运行 GUI 吧,并没有提供什么运行 GUI 的便利吧?
    tony1016
        17
    tony1016  
    OP
       2023-09-19 12:09:50 +08:00
    @busier 用了几天后,再来深刻回答一下这个问题。它确实比 LXC 方便
    1.LXC 要做 X11 需要自己动手映射,distrobox 已经做了
    2.LXC 的 gui 无法直接打开本机的应用去浏览文档,但是 distrobox 确实可以做到,虽然不知道怎么做到的

    总而言之,distrobox 更像是一个把进程拉到一个特殊环境里去运行,但是又可以很好的和主机进行交流通讯的软件。另外,如它所说:Isolation and sandboxing is not the main aim of the project,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   982 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:46 · PVG 04:46 · LAX 12:46 · JFK 15:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.