[software development] DistroRack: 适用于 DDE 的 Distrobox 图形客户端【可以下载体验了】
Tofloor
poster avatar
BLumia
deepin
2025-08-31 18:09
Author

deepin 做“根社区”以来,在我的视角下,很多时候困扰用户的一个问题是,适用于其他发行版生态的应用没很好的办法在 deepin 环境上使用。很多初入 linux 世界的新手大概率会盲目顺着百度搜来的结果在 sourceslist 里加源,只为安装自己想用的某个/些特定的软件,但不知道混源其实是很大的风险。deepin 25 引入了磐石不可变,使用户不再能很轻松的修改 sourcelist,但想必很多用户的选择是,查找如何禁用不可变保护的方式并关闭不可变保护,以便于跟随网上找到的教程,而不是想更合适的解决办法到底是什么。

不知道大家还记不记得我老早之前发的一个帖子:使用 Distrobox 在 v23 轻松安装你想要的软件包 ,而这就是我发之前 distrobox 帖子的原因:告知大家一个更方便的使用适用于其他发行版软件包的方式。后来,商店也上架了一些 distrobox 容器软件包以供无法直接访问 dockerhub 的用户更方便的创建容器,但显然这个帖子本身并不能解决一些易用性方面的问题:

  1. 用户需要记住一大堆 distrobox 命令才能比较好的使用
  2. 因为命令繁多且复杂,一些实用的功能会被用户忽略
  3. 导出某个 distrobox 容器中的图形应用的步骤很繁琐(之前见到过帖子在问这个怎么操作,用户甚至不知道能把“快捷方式”导出出来让它在启动器/桌面显示)

后来,我注意到商店上架过一个叫 DistroGUI 的应用,声称是 distrobox 的图形化客户端,但下载后发现这个应用已经不可用了。搜索一番后发现了 DistroShelf 是个不错的替代品,然后给它提交了一些 PR 来增加 DDE 相关的支持(比如支持调起深度终端),但这个应用的推荐获取途径是 flatpak/flathub,于是就在考虑是否能打个原始 deb 包以供不太方便访问 flathub 的用户使用。就在尝试看是否能将其直接打包在 deepin 25 环境时,发现它依赖了蛮高版本的 gtk4-sys,并且 deepin 一时半会儿大概是无法升级所提供的相应软件包,于是这条路也不太通了。

于是剩下了一个蛮粗暴的方案:造轮子。刚巧最近也在研究一个差不多性质上是“现如今,各式各样的LLM能多大程度上帮助软件开发者完成任务”的主题内容,考虑到这个想法不算特别复杂,就打算拿这个想法试下水,基于 Qt 6/QML 造一个 distrobox GUI 的轮子,提供这些功能:

  1. 容器的创建(尽管由于创建的实质还是走 dockerhub 获取,所以暂时还是建议从商店安装容器并启动一次的方式来创建容器)
  2. 容器的删除、克隆、升级等基础管理操作
  3. 容器内应用列表的展示和一键导出/取消导出应用到外部的功能
  4. 提供更符合 DTK 设计的外观

目前,这个轮子其实有了蛮不错的进展:预期的功能除了外观没有打磨外,基本功能已经齐全且可用了,用户可以在界面上比较直观的对 distrobox 容器进行相关操作,不再需要记住和输入复杂命令。(下面的截图是 9/4 更新过的,比之前刚发帖子的时候的状态稍微好了一点)

image.png


image.png

目前,感兴趣的用户可以在 GitHub 获取到完整源码以及 GitHub Action 构建的 CI 版本: https://github.com/BLumia/distro-rack

不过,尽管我知道有很多地方是可以打磨的,但我并不知道这个项目会有多少人实质上真的感兴趣,所以暂时不清楚后续是否应当对这个项目投入精力进行打磨。我想知道的是这些内容:

  1. 你认为这个项目有意义吗?是否真的解决了 distrobox 的问题?你会考虑使用它吗?
  2. 如果你会 C++/QML,你会考虑为这个项目做代码贡献吗?
  3. 你方便访问 GitHub 吗?如果不方便,倾向于放在哪里下载?
  4. 提供国内 Git 镜像并接受来自镜像位置的代码贡献(比如 gitee/gitlink 之类)的话,你会更乐意贡献代码吗?如果会,你倾向于哪个平台?
  5. 你有兴趣打赏作者吗?如果没有也没问题,但是如果有的话,是哪种途径?以及你希望以某种形式展示打赏人员的名单吗?
  6. 你觉得“更契合 DTK/DDE 样式外观“这点重要吗?
  7. 如果你试用过了当前状态的版本,有什么想要反馈的内容吗?

所以,非常欢迎你在帖子下面回复下你的看法!

(ps. 写完点发布之前,发现我写的这帖子内容有一股 “AI 味”,不过这帖子的内容确实是完全手写的来着doubt

(pps. 这个软件不是 deepin 官方提供的解决方案,是纯粹个人作品)


Update (9/1 12:50): Gitee 目前也有仓库源码镜像了,只不过 CI 版本的下载肯定是暂时没有的: https://gitee.com/blumia/distro-rack

Update (9/3 23:35): 现在可以在 Gitee 和 GitHub 下载编译好的版本了,后续见:https://bbs.deepin.org.cn/post/291256

Update (9/4): 发了个新帖子但发现新帖子好像没人看,不知道是不是因为标题太像了,所以干脆也更新到这个帖子里得了。

根据目前收到的反馈,现在源码和二进制(预编译版本)都在 GitHub 和 Gitee 两个位置提供,以便各位按自己的网络情况自行取用。

\ GitHub Gitee
源码仓库 https://github.com/BLumia/distro-rack https://gitee.com/blumia/distro-rack
二进制(deb包) https://github.com/BLumia/distro-rack/releases https://gitee.com/blumia/distro-rack/releases/

目前而言,基本功能是可用状态了,UI 目前做到在 DDE 和 KDE 下都有初步比较说得过去的状态。

新帖子在:https://bbs.deepin.org.cn/post/291256

Reply Favorite View the author
All Replies
2 / 2
To page
慕书
deepin
2025-09-02 10:06
#21

有挺多类似项目的:

  1. BoxBuddyRS: https://github.com/Dvlv/BoxBuddyRS
  2. DistroShelf: https://github.com/ranfdev/DistroShelf
Reply View the author
BLumia
deepin
2025-09-02 10:52
#22
慕书

有挺多类似项目的:

  1. BoxBuddyRS: https://github.com/Dvlv/BoxBuddyRS
  2. DistroShelf: https://github.com/ranfdev/DistroShelf

DistroShelf 在帖子中原本提到了的,就是因为它无法被直接移植到 deepin 25 才有的本项目。BoxBuddyRS 没尝试移植打包,但大概率有相同问题。

p.s. 如果你本身就是 DistroShelf 用户的话,是可以继续用 DistroShelf 的。毕竟 DistroShelf 的 DDE 环境开箱即用(内置深度终端支持)也是我提的 PR 代码贡献,BoxBuddyRS 后续也跟进了相同的修改。

Reply View the author
慕书
deepin
2025-09-02 11:12
#23
BLumia

DistroShelf 在帖子中原本提到了的,就是因为它无法被直接移植到 deepin 25 才有的本项目。BoxBuddyRS 没尝试移植打包,但大概率有相同问题。

p.s. 如果你本身就是 DistroShelf 用户的话,是可以继续用 DistroShelf 的。毕竟 DistroShelf 的 DDE 环境开箱即用(内置深度终端支持)也是我提的 PR 代码贡献,BoxBuddyRS 后续也跟进了相同的修改。

嗯嗯,明白您的初衷了

Reply View the author
严雪风
deepin
2025-09-03 03:38
#24
krisd

国内的话建议也支持下Gitee

这个平台上传是不是要开会员啊?之前看到不大友好的样子,前几年还出现过屏蔽JAVA的奇怪现象在网上流传很广

Reply View the author
BLumia
deepin
2025-09-03 16:14
#25
严雪风

这个平台上传是不是要开会员啊?之前看到不大友好的样子,前几年还出现过屏蔽JAVA的奇怪现象在网上流传很广

不用会员,但是风评也确实不好。本来以为现在大家会倾向用别的平台(比如 gitlink/gitcode 之类),不过看上去回复里提到的都是 gitee 没别家doubt

Reply View the author
HualetWang
deepin
2025-09-05 16:08
#26

kissing_heart

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2025-09-06 11:08
#27
BLumia

不用会员,但是风评也确实不好。本来以为现在大家会倾向用别的平台(比如 gitlink/gitcode 之类),不过看上去回复里提到的都是 gitee 没别家doubt

Gitee没做什么伤天害理的事情,商业化策略也一直比较克制,可以说一直都没怎么变过,整体社区氛围也不错

Gitlink商业气息浓厚,而且经常卡

GitCode....我们是在说CSDN Git吗pride

Reply View the author
BLumia
deepin
2025-09-06 15:04
#28
神末shenmo

Gitee没做什么伤天害理的事情,商业化策略也一直比较克制,可以说一直都没怎么变过,整体社区氛围也不错

Gitlink商业气息浓厚,而且经常卡

GitCode....我们是在说CSDN Git吗pride

别的先不提,gitee 至今无法正常显示 discuz 的 LICENSE 文件: https://gitee.com/Discuz/DiscuzX/blob/v3.5/LICENSE

(上次看这个问题可能有个四五年了,今天看仍然存在)

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
21 hours ago
#29
BLumia

别的先不提,gitee 至今无法正常显示 discuz 的 LICENSE 文件: https://gitee.com/Discuz/DiscuzX/blob/v3.5/LICENSE

(上次看这个问题可能有个四五年了,今天看仍然存在)

好了,解决了,你刷新下就好了kissing_heart

和Gitee的团队对接,遇到问题反馈就好tail

小团队遇到不可抗力是这样的,既没有gitlink的CCF背景,也没有gitcode的华为撑腰,但是有人情味

Reply View the author
2 / 2
To page