Systemd 进入 postmarketOS 以保证 GNOME 和 KDE 的功能

postmarketOS 中的 systemd

postmarketOS 中的 systemd

最近 postmarketOS 项目的开发人员宣布 通过博客文章的消息 引入systemd 到系统构建。这 主要原因 实施 systemd 支持 是维护的难度 基于的初始化堆栈 OpenRC 面临着对 GNOME 和 KDE 日益增长的依赖 systemd 组件。

经过一年的工作,使用 systemd 代替 OpenRC 初始化系统的原型设置已经准备好并可供测试。

有人提到 尽管添加了 systemd,仍将继续提供支持 基于创建构建 OpenRC的 在postmarketOS中,至少只要这个系统继续在Alpine Linux中使用。使用 pmbootstrap 创建 postmarketOS 映像时,选择 OpenRC 的选项将可用。此外,OpenRC 将继续被使用基于 Sway 复合管理器的 Sxmo (Simple X Mobile) 图形 shell 的程序集开发人员使用。

此外,该 使用 systemd 构建仍将基于基本 Alpine Linux 软件包,尽管事实上这个发行版没有对 systemd 的官方支持,并且使用 Musl C 库而不是与 systemd 兼容的 Glibc C。 postmarketOS 开发人员正在实施其他补丁以将 systemd 与 Musl C 集成,并计划与 systemd 开发人员合作以简化未来的集成。

当然,这不是一件容易的事,当我们与 KDE 和 GNOME 开发人员更紧密地合作时遇到的主要障碍之一是他们对我们基于 OpenRC 的堆栈有困难。为了使 KDE 和 GNOME 正常工作,除了 OpenRC 之外,我们还使用了许多 systemd polyfill。因此,虽然从技术上来说“我们不使用 systemd”,但实际上我们已经使用了它的很大一部分组件来运行 KDE 和 GNOME,只是这些组件的不同版本

确保 GNOME 和 KDE 的功能 基于systemd,需要维护几个额外的层,而在没有systemd的情况下工作意味着正确维护这些层并将它们与GNOME和KDE开发同步,这给开发人员的持续维护带来了巨大的挑战和一些不确定性。

除此之外,开发者还提到 实施了各种层和包 确保 postmarketOS 中对主机名、本地化和时间戳服务的支持。它的T或包含 openrc-settingsd 的使用 为了支持主机名服务,使用 eudev 代替 udev 进行设备管理,使用 elogind 代替 Logind 进行用户会话管理,以及 日志 而不是 日记 用于日志管理,superd 包用于提供类似于 «systemd –用户» 并替换 系统计时器醒了。

,仅保证 openrc-settingsd 和 eudev 得到适当的维护和支持。像 elogind 这样的项目, logbookd 和 superd 仍然需要改进,因为它们缺乏一些必要的功能,并且 醒来 大约有一年没有维修了。此外,KDE Plasma Mobile 开发人员表示有兴趣使用 系统核心转储 简化调试,但替换它, 核心收集器, 自2020年以来,它一直没有得到维护。

GNOME 和其他应用程序中的各种功能都需要这些服务。 例如,D-Bus API 提供 主机命名、本地化和计时 它在 GNOME 中用于更改区域和时区设置。登录时需要 Udev 来管理连接的设备,“systemd –用户» 和journald 用于管理gnome-session 中的用户会话。 GNOME 时钟使用 系统计时器 因为它的功能。

En 就新功能而言 可以通过基于 systemd 的构建来实现,包括粒度权限管理、使用高级功能来确保安全性并管理服务之间的依赖关系、与 cgroup 完全集成、套接字激活以根据需要启动服务(例如,CUPS 只能通过访问网络端口),以及用于分析启动过程的内置工具的可用性。

最后,如果你是 有兴趣了解更多,您可以在中查看详细信息 以下链接。