Flatpak 官网最醒目的一句卖点,是“Build for every distro”。写一个应用,发到整个 Linux 桌面市场。

这句话以前像愿景。现在变成了争议锚点。

在 Linux App Summit 上,Flatpak 团队讨论 Flatpak Next,也就是可能的 Flatpak 2.0 规划。一个关键方向是引入 systemd-appd,让应用标识和权限信息由服务层保存、查询和管理。

这事还没落地。代码尚未写,方案也可能改。

但方向已经足够敏感:未来 Flatpak 可能不再对 init system 保持中立。受影响最大的,不是多数 Fedora、Ubuntu、Arch、Debian 桌面用户,而是 Void、Guix、Alpine 这类非 systemd 发行版用户,以及维护这些发行版桌面栈的人。

发生了什么:Flatpak 想把权限做深

这次讨论的核心,不是“Flatpak 今天已经宣布依赖 systemd”。没有。

目前能确定的是:Flatpak Next/2.0 规划里,团队在考虑用 systemd-appd 承担一部分新职责。

问题当前信息直接影响
Flatpak 在讨论什么Flatpak Next/2.0 的下一代设计不是补丁级调整,而是架构方向
systemd-appd 做什么保存应用标识和权限,供系统其他部分查询给权限管理、应用身份、子沙箱铺路
现在到哪一步仍是规划,尚未写代码不能定性为已经硬依赖
谁最受影响Void、Guix、Alpine 等非 systemd 发行版未来兼容成本可能上升
争议点新能力是否绑定 systemd技术现代化和发行版中立性发生冲突

Flatpak 想做这件事,有技术理由。

桌面应用已经不只是“装上能跑”。它还要隔离、授权、撤销权限,还要让不同系统组件知道“这是谁的应用、有什么权限、能不能再开一个子沙箱”。

如果这些信息只由 Flatpak 自己在上层维护,边界会越来越别扭。要让桌面环境、门户、沙箱和系统服务协同,应用身份和权限迟早要变成更底层、更统一的东西。

systemd-appd 的吸引力就在这里:它可能把这些信息做成一个系统级服务。

这条路更顺。代价也更硬。

真正被碰到的,是“跨发行版”这块招牌

Flatpak 能打动开发者,靠的不是某个漂亮技术名词。

它卖的是省心。

开发者不用分别照顾 Debian、Fedora、Arch、Alpine 的包格式和发布节奏。用户也不用等发行版仓库更新。Flatpak 把 Linux 桌面最烦人的碎片化,尽量挡在应用分发之外。

所以“Build for every distro”不是广告词那么简单。它是 Flatpak 的核心承诺。

如果未来关键能力依赖 systemd,这句承诺就要加限定条件:在主流 systemd 发行版上体验最好;在非 systemd 发行版上,要看是否有人愿意补桥。

这对不同人影响不一样。

角色更现实的动作风险
非 systemd 发行版维护者观望 systemd-appd 接口,评估是否需要替代实现维护桌面兼容层的成本上升
应用开发者短期不用迁移,但会更关注主流发行版体验小众发行版用户反馈可能更难处理
非 systemd 用户暂时不必恐慌,等方案和代码出来未来某些权限、子沙箱能力可能缺失或滞后

我不太买账“一切都是 Red Hat/IBM 阴谋”的解释。原始信息没有给出这种证据。

把复杂工程决策直接塞进阴谋论,省事,但没解释关键问题:现代 Linux 桌面确实需要更统一的权限和身份管理。问题在于,这个统一接口最后由谁定义、谁维护、谁能替代。

这才是分水岭。

如果 systemd-appd 有清晰接口,也允许独立实现,非 systemd 发行版还有路可走。类似 systemd-logind 之后出现 elogind,虽然不轻松,但至少给了一些发行版接住桌面能力的办法。

但如果接口太贴 systemd,或者 Flatpak 开发者不再愿意为替代路径多花维护成本,事情就会变得很窄。

不是不能用。是越来越像二等公民。

Linux 桌面的老问题:便利总要找人付账

Linux 桌面这二十多年,一直在三个东西之间摇摆:便利、统一、多样性。

太多样,开发者痛苦。普通用户也痛苦。

太统一,边缘发行版、替代 init、不同 libc、不同治理哲学,就会被挤出主航道。

这不是 Flatpak 独有的问题。PC 时代有 Win32,移动时代有 iOS 和 Android 的平台接口,Web 时代有浏览器事实标准。技术生态走到一定规模,都会长出“事实中心”。

Linux 桌面的特殊之处在于,它一边追求现代平台体验,一边又珍视可替代性。两边都想要,就必须有人承担复杂度。

Flatpak 原本漂亮的地方,是它在两边之间搭桥:上层统一分发,下层尽量保留发行版差异。

现在桥可能要收窄。

“天下熙熙,皆为利来。”这里的“利”不只是钱,也包括维护成本、心力和路线控制权。维护者不是无限义工。每保留一条替代路径,就要多写接口、多测边界、多处理 bug。

社区争吵会改变这个账本。

原始讨论里也承认,有些非 systemd 用户的担忧是正常、友善的。但如果这些担忧被攻击、嘲讽和阴谋论淹没,开发者很可能少做让步。

最后受损的,反而是那些本来可以谈出来的兼容空间。

我更在意两个观察点。

第一,systemd-appd 会不会形成清晰、可替代的接口。没有这个,elogind 式的路径会很难。

第二,Flatpak 团队还愿不愿意把非 systemd 兼容性当成目标,而不是“有社区愿意自己补就自己补”。这两种态度,结果差很多。

如果两个答案都偏负面,Void、Guix、Alpine 用户当然还能选择别的方案。但对 Linux 桌面来说,这不只是少照顾一小撮用户。

这是少了一条出口。

Flatpak 可能仍然成功,甚至更成功。因为大多数桌面用户已经在 systemd 世界里。

只是那句“for every distro”,就不能再按原价理解了。