把一个 Linux 桌面美化脚本做成准操作系统套件,只需要改一个名字和 537 个文件。2026 年 11 月 4 日,开源 Wayland 桌面项目 Dux 正式发布 Dux Modular Shell 2.1(简称 DMS 2.1,代号 Stormborn),截至 11 月 8 日已迭代至 v2.1.2。很多初次点进官网的读者会以为这是个刚冒头的桌面新秀,实际上它是社区知名项目 DankMaterialShell 的品牌重塑,不仅保留了 DMS 缩写,连核心的动态配色算法都还叫 dank16。真正值得注意的不是换马甲,而是它试图用一套开箱即用的全家桶终结 Wayland 时代的配置苦役,却刚好撞上了整个赛道从比拼界面美观转向死磕底层内存占用的残酷分水岭。

抹掉旧名号,从单一外壳长成准桌面环境

早期的 DankMaterialShell 只是独立窗口管理器上的一层状态栏与控制中心外壳。到了 2.1 版本,开发者 bbedward 提交了代号为 789a968 的更名记录,一次性改动 537 个文件,将原 GitHub 仓库 AvengeMedia/DankMaterialShell 重定向至 duxlabs-dev/dux-shell。虽然对外名称从 Dux Shell 扩展成了 Dux Modular Shell,但底层的命令、配置路径、进程间通信(IPC)和插件接口全部维持原样,老用户升级不会断档。

真正让它脱胎换骨的是版图扩张。现在的 Dux 不再满足于画一个好看的顶栏(Dux Dash)和快捷控制中心,而是顺手把桌面周边脏活全包了:

  • Dux Files.键盘优先的文件管理器,带标签页、分屏、回收站和局域网共享。
  • Dux GOP.无状态的系统与进程监控工具,新增磁盘 SMART 健康数据读取。
  • Dux Greeter 与 Dux Search:基于 greetd 的登录界面与极速本地文件搜索。
  • Dux Calendar.打通 Google、Microsoft、CalDAV 和 iCloud 的日历与任务面板。
  • dank16 主题引擎.自动生成 16 色调色板,一次性把 GTK3、GTK4、Qt 应用以及终端、代码编辑器的明暗对比度与语法高亮全部对齐。

加上 2.1 版本新增的 4 档界面密度(Spacious、Comfortable、Compact、Dense)、DMS Classic 风格、带同步歌词的 Bento 布局媒体播放器、自动暂停的视频壁纸,以及对不可变发行版 Fedora Atomic 的安装支持,这套由 602 名贡献者和 63 名译者托举起来的工具链,已经长成了一个五脏俱全的模块化桌面环境。

Dux 2.1 模块化桌面套件三层结构 自建应用生态层 Dux Files 文件管理 · Dux GOP 无状态监控 · Dux Calendar 日历 · Dux Search 搜索 · Greeter 登录器 核心外壳与主题层(Quickshell / QML + Go 守护进程) Dux Modular Shell 顶栏与控制面板 · dank16 跨 GTK3/GTK4/Qt/终端动态配色引擎 · 4 档界面密度 底层 Wayland 合成器适配层 一等公民自动配置:niri / Hyprland (0.55+ Lua) | 手动配置支持:mangowm (0.18+) / Sway / labwc / Miracle

一键脚本的温差:六个合成器并列,只有两个是亲儿子

Linux 桌面从 X11 迁往 Wayland 的这些年,极客圈一直困在一种组装机式的窘境里。嫌弃 GNOME 和 KDE 太笨重的人,转投 Hyprland、Sway 或 niri 这类独立窗口管理器,但代价是必须自己找齐状态栏、通知守护进程、锁屏和壁纸工具,手写几千行配置文件。Dux 瞄准的正是这批既想要独立合成器的凌厉手感、又不想在配置地狱里耗费周末的中间派。

但我不太买账的是它官网首页的视觉暗示。页面正中央把 niri、Hyprland、mangowm、Sway、labwc、Miracle 6 大合成器的图标一字排开,紧接着给出一行极其诱人的 curl -fsSL https://install.duxlabs.dev | sh 一键安装脚本,仿佛敲下回车就能在任何一套环境里直接起飞。

翻开技术文档,温差立刻就出来了。作为核心卖点的 dms setup 初始配置自动生成工具,目前只支持 niri 和 Hyprland;如果你用的是 Sway、labwc、Miracle 或 mangowm,装完脚本依然得自己动手改配置。即便在一等公民内部,门槛也相当苛刻,Hyprland 用户必须升级到 0.55 及以上版本且强制使用 Lua 配置,mangowm 则要求 0.18 及以上版本。

  • 提醒.冲着一键省心去试鲜的 Sway 或 labwc 玩家,运行完安装脚本后仍需手动编写合成器绑定规则,且 Hyprland 旧版配置无法直接无缝迁移。

架构暗战:Quickshell 的开发红利与内存包袱

如果把视线拉远一点,Dux 2.1 的发布恰好踩在 Wayland 外壳赛道技术路线分裂的节点上。过去两年,社区流行用 Quickshell(基于 Qt/QML)写桌面外壳,写动画快、调界面顺手。Dux 采用的就是 Quickshell/QML 前端配合 Go 守护进程后端的混合架构。

问题在于,漂亮动画是有运行时账单的。Dux 社区此前就爆发过关于 CPU 占用的争议:有用户反馈只要系统里开着媒体播放器,哪怕处于暂停状态,处理器占用率也会飙到 20% 至 30%,最后查出是音频可视化组件 CAVA 在后台空转,手动禁用才平息;另一名最初报告空闲状态下 Quickshell 占用 7% CPU、niri 占用 5% CPU 的用户,直到升级后续优化版本后,才测得两项指标双双降回 1% 以下。

更刺眼的对照来自直接竞品 Noctalia。为了把资源开销打下来,Noctalia 在 v5 版本做了一个激进决定:彻底抛弃 Quickshell,用原生 C++ 和 OpenGL ES 把整个外壳重写了一遍。Noctalia 开发者给出的账面数据很狠,重写后的 v5 每台显示器内存占用约 50 MB,只有早期 Quickshell 版本(v4 每显示器约 300 MB)的六分之一。

省下写代码的功夫,往往要拿运行时的内存去还。

不过,把原生重写当成包治百病的银弹也过于天真。就在 2026 年 11 月 8 日,Noctalia 社区刚曝出托盘提示更新会导致每个输出端出现约 64 ms 重绘延迟的卡顿缺陷,而且直到 5.4.1 版本才刚刚堵上一个可以通过伪造 D-Bus 信号直接绕过锁屏认证的高危安全漏洞。

Wayland 桌面外壳双雄:架构路线与工程代价对比 Dux Modular Shell 2.1 核心架构:Quickshell / QML + Go 守护进程 套件广度:含文件管理、日历、监控、搜索全家桶 开发效率:高,602 人协作快速铺开组件生态 历史痛点:CAVA 组件曾致暂停媒体时 CPU 占 20-30% 优化现状:后续版本空闲 CPU 占用已压至 1% 以下 Noctalia v5(原生重写派) 核心架构:弃用 Quickshell,重写 C++ / OpenGL ES 内存表现:从 v4 每屏 300 MB 降至 v5 每屏 50 MB 路线取向:死磕单屏运行时开销,砍掉框架包袱 衍生代价 1:托盘更新引发每输出端约 64 ms 重绘延迟 衍生代价 2:5.4.1 版才修复伪造 D-Bus 绕过锁屏漏洞

一边是靠着高级框架快速铺开文件管理器、日历和全局主题全家桶,但要时刻提防 QML 内存膨胀和微件失控;另一边是咬牙砍掉每显示器 250 MB 内存,却要在底层渲染同步和 D-Bus 安全边界上重新踩坑。两家走出了截然不同的工程取舍。

602 人添柴的开源全家桶,终局还是桌面环境

《庄子》里讲,有机械者必有机事。工具一旦追求省力与周全,结构就不可避免地走向繁复。当年第一批逃离 GNOME 和 KDE 的 Linux 玩家,图的就是把系统拆成互不捆绑的零件;如今为了省掉拼装零件的麻烦,Dux 又把文件管理器、登录器、日历、监控和主题引擎重新焊回了一起。

这事跟早年 Android 第三方 ROM 的演进几乎是一个模子。一开始大家只是换个桌面启动器、刷个状态栏补丁,后来为了视觉统一,不得不把拨号盘、短信、文件管理甚至系统设置全部重做一遍,最后长成了庞大的定制系统。区别在于,Dux 依然把窗口调度的核心权力留给了底层的 niri 或 Hyprland,自己只做上面那层通用的生活设施。

从治理结构看,Dux 目前采用 MIT 许可证,代码版权归属标记为 2025 Avenge Media LLC,商业公司壳子下面跑着社区打赏和 602 名贡献者的协作。这种模式能不能长期扛住一套准桌面环境的维护成本,接下来就看两件事:一是 Quickshell 架构在多显示器高分屏下的内存水位能不能守住,二是除了 niri 和 Hyprland 之外的那四个合成器,到底什么时候才能拿到真正的自动配置门票。