Linux桌面 GNOME 49将深度绑定systemd

  • 2025-06-18 00:28:16
  • 834

GNOME桌面环境正迈向与systemd更紧密的集成——这波操作将让非systemd发行版运行GNOME变得更具挑战性!

GNOME与systemd的「爱恨情仇」

多年来,Linux用户对GNOME与systemd的关系争论不休。尽管GNOME核心功能未强制依赖systemd,但诸多组件早已重度依赖systemd生态,尤其是负责会话管理的logind服务。

其实GNOME并非完全与systemd「绝缘」:

- 自2015年起,GNOME就依赖logind进行会话和席位管理,抛弃了旧版ConsoleKit

- 不过logind并非必须运行在systemd上,像elogind项目就曾让GNOME在OpenRC、runit等init系统上正常工作

但这种兼容性一直「岌岌可危」:

- 多数GNOME开发者专注于systemd环境,项目自动化测试也不覆盖非systemd配置

- 非systemd支持主要靠下游发行版打补丁维持,堪称「夹缝中求生存」

⚙️ GNOME 49的两大关键变化

GDM强依赖systemd-userdb

GNOME显示管理器(GDM)将新增对systemd-userdb的依赖——这是一种动态用户账户管理系统,用于现代化处理多席位和远程登录会话,替代开发者口中的「老旧机制和临时方案」。

虽然暂时为无userdb的系统提供了 fallback(使用静态问候账户如gdm-greeter-1),但这只是权宜之计~

gnome-session移除内置服务管理器

从GNOME 3.34开始,会话管理器就已使用systemd启动和监控用户服务,仅在无systemd时回退到内置管理器。而这个回退机制现在要被砍掉啦!

原因是:

- 旧版服务管理器源于GNOME 2.24,堪称「上古代码」

- 维护困难且阻碍新功能(如会话保存/恢复)的开发

非systemd发行版的应对策略

虽然路还没完全堵死,但非systemd用户要更费劲了 GNOME团队给出的建议:

1. 实现systemd-userdb替代品

类似elogind填补logind缺口的操作,可能需要为userdb开发替代方案

2. 长期维护旧版GNOME补丁

GNOME 48将持续更新至GNOME 50发布,给下游维护者留足适应时间

未来趋势:systemd集成不可逆

种种迹象表明:GNOME正坚定走向systemd深度集成。非systemd方案短期内不会消失,但要维持功能正常,得付出更多努力啦~

systemd和wayland之前争议都很大,现在逐渐统一了????