本杰明·伯格(
它已经被用来控制 GNOME 的登录已有相当长的一段时间了。
同时,部分与会话相关的功能仍然由 gnome-session 进程承担,该进程负责通过 D-Bus 进行管理、启动显示管理器和 GNOME 组件以及组织用户指定应用程序的自动运行。 在 GNOME 3.34 的开发过程中,特定于 gnome-session 的功能被打包为 systemd 的单元文件,在“systemd —user”模式下执行,即与特定用户的环境有关,而不是与整个系统有关。 这些更改已在 Fedora 31 发行版中实施,预计将于 XNUMX 月底发布。
使用 systemd 可以根据需要或在发生某些事件时组织处理程序的启动,以及更复杂地响应由于故障而导致的进程提前终止,并在启动 GNOME 组件时广泛处理依赖关系。 因此,您可以减少持续运行的进程数量并减少内存消耗。 例如,XWayland 现在只能在尝试运行基于 X11 协议的应用程序时启动,并且只有存在此类硬件时才能启动特定于硬件的组件(例如,插入卡时将启动智能卡的处理程序)并在删除时终止)。
为用户提供了更灵活的管理服务启动的工具;例如,要禁用多媒体密钥处理程序,执行“systemctl -user stop gsd-media-keys.target”就足够了。 如果出现问题,可以使用journalctl命令查看与每个处理程序关联的日志(例如,“journalctl —user -u gsd-media-keys.service”),之前已在服务中启用了调试日志记录(“Environment= G_MESSAGES_DEBUG=全部”)。 还可以在隔离的沙箱环境中运行所有 GNOME 组件,这需要满足更高的安全要求。
为了平滑过渡,支持旧的运行流程方式
来源: opennet.ru