读完本文,你会搞懂 KaOS 为什么要放弃 systemd、Dinit 是什么、以及这次切换对 Linux 生态意味着什么。
━━━ ━━━ ━━━
2026 年 6 月 25 日,KaOS Linux 正式发布了 2026.06 版本。这不是一次普通的版本更新——它是 KaOS 历史上第一次用 Dinit 取代 systemd 作为默认 init 系统的正式发布版。
KaOS 是一个独立(非衍生)的滚动发行版,以 KDE Plasma 桌面和 Qt 工具链为核心,自 2014 年发布首个稳定版以来,一直使用 systemd。经过近三年的酝酿和一年的试制,KaOS 终于完成了这次重大的底层切换。
为什么 KaOS 要放弃 systemd?
systemd 是 Linux 世界最广泛使用的 init 系统,CentOS/RHEL、Fedora、Arch、Debian、openSUSE 等主流发行版都在用。但 KaOS 团队发现了几个难以调和的矛盾:
① 上游 systemd 放弃了对 split /usr 的支持
KaOS 一直使用分离的 /usr 结构(/bin、/sbin、/lib 与 /usr/bin 等独立存在,而非符号链接)。较新版本的 systemd 明确放弃了对 split /usr 的支持,KaOS 要么改自己坚持多年的目录结构,要么不用新版 systemd。
② AUFS 兼容性问题
AUFS(Another Union File System)是 KaOS 安装工具 Calamares 需要的文件系统。新版 systemd 与 AUFS 的兼容性不断下降。
③ KDE Plasma 对 systemd 的依赖越来越重
讽刺的是,KaOS 主打的 KDE Plasma 桌面正在越来越紧密地绑定 systemd。KDE Plasma 6 的某些 session 管理功能已经直接依赖 systemd-logind。这给 KaOS 带来了一个两难:要么跟 Plasma 跑,要么保持独立。
KaOS 的选择是:保持独立。
Dinit 是什么?
Dinit 是一个轻量级的 init 系统和服务管理器,由 Davide \"davmac\" 用 C++ 编写。
与 systemd 的对比:
| 特性 | systemd | Dinit |
|---|---|---|
| 语言 | C | C++ |
| 代码量 | \~130 万行 | \~1.5 万行 |
| PID 1 职责 | init + 服务管理 + logind + journald + 网络 + 时间 + DNS + ... | 仅 init + 服务管理 |
| 服务文件格式 | 专有 .service 格式 |
简单文本格式,接近 BSD rc 风格 |
| 依赖管理 | 隐式自动 | 显式声明 |
| 并发启动 | 基于 socket/DBus 激活 | 基于依赖图并行 |
| 外部依赖 | 已吞噬 logind、journald、timesyncd 等 | 需要独立组件:Turnstile(会话管理)、Seatd(设备访问)、elogind(polkit) |
一句话:Dinit 只做一件事——启动和管理服务。 它不提供日志系统、不管理网络、不确定时间、不充当登录管理器。这些功能需要独立的配套组件。
在 KaOS 2026.06 中的配套方案:
- Turnstile → 取代 logind 的会话管理
- Seatd → 取代 seat 管理
- elogind → 保留以确保 polkit 功能
- systemd-udev + tmpfiles → 继续使用(这是少数保留的 systemd 组件)
这次版本还有哪些重大变化?① 默认桌面从 KDE Plasma 换成了 Niri/Noctalia
这也许是更令人意外的变化。KaOS 一直以 KDE-first 著称,但 2026.06 的默认桌面不再是 Plasma。
Niri 是一个可滚动平铺的 Wayland compositor(灵感来自 GNOME 的 PaperWM),而 Noctalia 是 KaOS 基于 Niri 打造的自有桌面环境。
是的,Plasma 6 依然在仓库里可用,但开箱即用的体验变了。
② SDDM → greetd + tuigreet
- 原来的 SDDM 显示管理器被替换为 greetd(一个精简的登录管理器守护进程)
- 搭配 tuigreet(TUI 登录界面)
- 这是\"去 systemd\"的自然结果——SDDM 依赖于 systemd-logind
③ Limine 成为默认引导器
Limine 是一个现代、整洁的引导器(bootloader),支持多架构,替代了 GRUB。
④ 新的欢迎工具:Croeso
这是一个 KaOS 自研的欢迎/安装设置向导。
这次切换对 Linux 生态意味着什么?① systemd 不再\"无可替代\"
KaOS 的切换证明了:想离开 systemd 是完全可行的。 虽然 kaOS 的体量不大,但这是一次经过验证的、完整的生产级替代方案。
② Dinit 进入主流视野
Dinit 在此之前是很小众的项目,大部分用户都不知道它的存在。KaOS 的采用会将 Dinit 推向更广的舞台,可能带动其他发行版跟进评估。
③ 反对 systemd 的声音从未消失
systemd 从 2010 年诞生至今,一直是 Linux 社区争议最大的话题。反对者的核心论点从未改变:PID 1 不应该\"吞噬\"整个操作系统。
KaOS 团队的决定说明,这种声音不仅在,而且有实际行动。
④ 这是一步险棋
客观地说,这项切换也有风险:
- 软件兼容性:很多软件(尤其是桌面应用)背后依赖 systemd 组件
- KDE Plasma:KaOS 的\"亲儿子\"桌面系统,长远看会越走越远
- 生态支持:Dinit 社区远小于 systemd
- 用户体验:没有了 SDDM 的开箱即用体验,greetd+tuigreet 的 TUI 登录门槛更高
如何体验?
# 下载 ISO
wget https://sourceforge.net/projects/kaosx/files/2026.06/KaOS-2026.06-dinit-x86_64.iso
# 验证签名
wget https://kaosx.us/public-key/sha256sums.txt
sha256sum -c sha256sums.txt
参考来源
- 9to5Linux. *KaOS Linux 2026.06 Launches Officially as First Release with Dinit*. 2026-06-25. https://9to5linux.com/kaos-linux-2026-06-launches-officially-as-first-release-with-dinit
- Linuxiac. *KaOS Linux 2026.06 Released with Dinit as Default Init System*. https://linuxiac.com/
- It\'s FOSS News. *KaOS Says Goodbye to systemd, Welcomes Dinit as Default Init System*. https://itsfoss.com/
- DistroWatch. *KaOS Distribution Page*. https://distrowatch.com/table.php?distribution=kaos
- KaOS 官网. *KaOS Linux 2026.06 Release Announcement*. https://kaosx.us/
- Dinit 项目主页. *Dinit - Service management made easy*. https://davmac.org/projects/dinit/
- C程序设计者. *Systemd 与 Split /usr 兼容性问题讨论*. 2025.
- Sun Knudsen. *KaOS Ditches systemd for Dinit*. (YouTube). 2026-06-25.
━━━ ━━━ ━━━
后记: 作为一个在服务器上深受 systemd journald 日志炸弹之苦的人,我对这次切换其实挺有共鸣。但 KaOS 面向的是桌面用户——在桌面场景下,logind、journald、timesyncd 这些的确是\"必需品\"而不是\"可选项\"。放弃它们需要勇气,也需要付出生态兼容性的代价。这个选择是否正确,可能要到一年后才能有答案。
*欢迎关注 LeisureLinux 及同名 B 站频道,获取更多深度技术解读。*
希望我们在 B 站做视频解读的,请点赞,推荐!
规范重构:Linux 主目录标准化演进与 XDG 的"名分"之争