Show Table of Contents
第 2 章 logind
“
logind”(更确切的说,是“systemd-logind”)是管理用户登录的系统服务。这项服务将负责以下内容:
- 追踪用户和会话,其过程以及它们的空闲状态,
- 为用户进程创建控制组,
- 为用户提供以 PolicyKit 为基础的操作访问,比如系统关闭或休眠操作,
- 执行应用程序的关机/休眠抑制逻辑,
- 开机/休眠硬件钥匙的处理,
- 为用户提供 multi-seat (多座位)管理,会话切换管理,以及设备访问管理,
- 在虚拟终端(控制台)激活自动大量生成文本登录(getty),管理用户运行时目录。
“
logind”服务是红帽企业版 Linux 7 中新的初始化系统,它取代了红帽企业版 Linux 6 中的“upstart”初始化系统,并与“systemd”紧密结合。这个变化带来了许多新特点和新功能。以下是对那些最重要的特点与功能的概述:
- ConsoleKit
- “
ConsoleKit”框架在红帽企业版 Linux 7 中是禁用的。“systemd”提供与之相同的功能。“ConsoleKit”和“logind”都是追踪当前运行用户会话的服务。注意
“ConsoleKit”之前能够在系统中的活动会话改变时,运行任意的外壳脚本(使用虚拟终端切换)。现在将不再提供这个功能。 - /var/log/ConsoleKit/history 文件
- “
ConsoleKit”之前可以向/var/log/ConsoleKit/history发送日志文件,而现在的“logind”则不支持这个功能。这个文件被传统的追踪系统中所有登录和登出的wtmp文件和utmp文件所取代。/var/log/ConsoleKit/history所提供的信息与wtmp文件所提供的信息基本相同,只是格式不同而已。考虑到功能上的重叠,“logind”仅仅扮演了“wtmp”文件的角色。 - seat.d 脚本
- 但是既然已不再使用“
ConsoleKit”,则“seat.d”脚本语言也不再是“ConsoleKit”框架中的一部分,并已由“systemd-logind”替代。 - ck-list-sessions 命令
- “
ConsoleKit”提供了返回最近用户扩展信息的ck-list-sessions命令,不仅是普通用户而且包含对“GDM”进行 GUI 访问。要达到相似结果也可以运行“loginctl”命令。$loginctl list-sessions - multi-seat 支持(多座位支持)
- “
logind”和“GDM”提供了使用户可以将其他显示器,鼠标,或者键盘添加到 multi-seat 的功能。这么做的话,就会出现一个额外的登录界面,用户在使用其他的设备时也可进行登录。运行以下命令可以列出系统中可用的座位:$loginctl list-seats运行以下命令可以显示系统中某个特定座位的状态:$loginctl seat-status seat其中 seat 是座位的名称,比如“seat0”。运行以下命令,为某个特别的座位指派特定的硬件:#loginctl attach seat device其中 seat 是座位的名称,比如“seat1”,同时 device 是用/sys设备路径指定的设备名称,比如/sys/devices/pci0000:00/0000:00:02.0/drm/card0。如果要更改任务,将硬件指定到另一个座位,或者使用loginctl flush-devices命令。
2.1. 获取更多信息
systemd-logind.service(8)–“logind”的手册页提供了更多关于“logind”用量和特征的信息。它同时涵盖了“systemd-logind”提供的 API(logind D-Bus API 文件)。logind.conf(5) – 讨论登录管理员配置文件的logind.conf的手册页。loginctl(1)–“systemd”登录管理员的手册页包含了更多 multi-seat 特点的信息。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.