Fedora Silverblue 上怎样丝滑地使用 IDE - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wzwtt
V2EX    Linux

Fedora Silverblue 上怎样丝滑地使用 IDE

  •  
  •   wzwtt 114 天前 2257 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Silverblue 中,通常将 GUI 程序安装在 Flatpak 中,CLI 程序安装在 Toolbox 中,但是对于 IDE 而言,安装在 Flatpak 中的 IDE 无法直接访问到 Toolbox 中的开发环境。
    网上有几种解决方法:

    1. IDE 和开发环境一起安装在 Toolbox 中,然后复制 `.desktop` 文件到主机

    2. 使用 Distrobox 替代 Toolbox 安装开发环境,然后 `distrobox-export` 到主机,但是对于 Flatpak 中的 IDE 来说还是要一通非常麻烦的设置才能访问到主机中 Distrobox 导出的开发工具

    3. IDE 和开发环境一起安装在 Flatpak 中

    4. 对于 VSCode ,可以使用 [toolbox-vscode]( https://github.com/owtaylor/toolbox-vscode) 工具,但也仅限于 VSCode

    我认为 1 和 3 虽然能用,但是很别扭,都不太符合 Silverblue 的原则,而 2 感觉非常麻烦。
    有什么更好的方法吗
    9 条回复    2025-06-19 05:53:29 +08:00
    joh
        1
    joh  
       114 天前 via Android
    2 ,把 IDE 也装进 distrobox 呢?
    wlingxiao
        2
    wlingxiao  
       113 天前 via Android
    把 tar.gz,rpm,deb 解压到用户目录,然后启动就完事了。

    Fedora 不可变系统推荐使用 https://github.com/ublue-os 这个发行版,自带显卡驱动,一系列开发工具和集成环境。
    capgrey
        3
    capgrey  
       113 天前
    我当时也用过这个不可变系统,后来还是放弃了,转回 Workstation
    yanqiyu
        4
    yanqiyu  
       113 天前
    混沌邪恶:仿照 https://pagure.io/workstation-ostree-config 的配置文件来 compose 自己的 Fedora Silverblue-like 的 OCI 镜像 https://coreos.github.io/rpm-ostree/container/,然后从这个 oci 镜像部署系统
    KamenReborn
        5
    KamenReborn  
       113 天前
    远程开发
    vscode 装 Remote - Containers
    jetbrains 用 gateway
    cnt2ex
        6
    cnt2ex  
       113 天前   1
    我觉得不要太纠结原则这个东西。哪个方案能解决问题就用哪个方案,都能解决就选择最方便自己的。
    如果通过 layering 更方便,就选择 layering ,没必要为了原则就非得避免更加方便的做法。

    曾经我也想避免所有 layering ,全利用 distrobox 解决问题。
    比如把 git 、zsh 、tmux 之类的包全装 distrobox 里,使所有开发环境能共享工具链,结果发现 tcpdump 、nvtop 之类的包需要装在 rootful 的容器下才能用。
    等全部迁移到 rootrul 容器里之后,又发现启动容器得输入密码才能打开。
    于是又同时使用两个容器:rootful 容器和非 root 的,只把必要的工具装 rootful 容器里,其他装非 root 的容器。

    后来一通折腾下来发现,我还得想办法把带 systemd-service 的包也给迁移出来。
    结果最终发现,与其为了一些原则而避免 layering ,反而带来更多麻烦。所以我现在如果 layering 方便就直接 layering 了。

    layering 的缺点也有,比如安装后需要重启(虽然可以通过 apply-alive 缓解这个问题)。在安装新的包时,所有 layering 的包都会再被重新安装一遍,因此 layering 越多,每次安装速度也会越慢。

    目前也有人提出利用 sysext 来安装一些包,从而避免每次更新都得重启: https://travier.github.io/fedora-sysexts/

    我个人觉得 atomic desktop 还在发展中。包括 rpm-ostree 也在向 bootc 方向迁移。
    因此各种方案都有,也不一定成熟。
    最终会在哪种方案上稳定下来也还不确定,所以别纠结太多哪种方案了,选择自己方便的来吧。
    wzwtt
        7
    wzwtt  
    OP
       113 天前 via iPhone
    谢谢各位,我研究一下大家的方案。
    wniming
        8
    wniming  
       113 天前
    我是把 ide 和编译项目所需要的依赖库都装到 Distrobox 里,不过对于有些在本机运行的 gui 程序可能会因为 Distrobox 里的包和发行版默认安装的包不完全一样就无法在本机跑起来(这里说的不一样并不仅仅是包的版本,也包括有些包本机有但是容器里没有的情况,比如都是用 fedora 42 ,fedora plasma desktop 的默认安装会包含比较多的 rpm 包,而 Distrobox 使用的 fedora 容器默认包含比较少的 rpm 包),我遇到的比较典型的就是 Looking Glass ,这个软件只能自己编译源码使用,在容器里可以编译通过但是放到本机上运行直接报错退出,而且报的错不是那种直接让你知道是缺少什么库导致的错,这种软件就只能在本机上编译才能在本机上运行。
    james122333
        9
    james122333  
       113 天前 via Android
    答案是不要用这些乱七八糟的东西自己整或...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3666 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 00:50 PVG 08:50 LAX 17:50 JFK 20:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86