Manpages

NAME

logind.conf, logind.conf.d - 登 陆 管 理 器 配 置 文 件

SYNOPSIS

/etc/systemd/logind.conf

/etc/systemd/logind.conf.d/*.conf

/run/systemd/logind.conf.d/*.conf

/usr/lib/systemd/logind.conf.d/*.conf

描 述

上 述 配 置 文 件 用 于 控 制 systemd-logind.service(8) 登 陆 管 理 器 的 行 为 。

配 置 目 录 及 其 优 先 级

默 认 设 置 是 在 编 译 期 间 确 定 的 , 所 以 仅 在 确 实 需 要 修 改 默 认 设 置 的 情 况 下 , 才 需 要 使 用 配 置 文 件 。 位 于 /etc/systemd/ 目 录 中 的 初 始 配 置 文 件 , 仅 包 含 了 展 示 选 项 默 认 值 的 注 释 , 目 的 在 于 方 便 系 统 管 理 员 查 看 和 直 接 修 改 。 如 果 软 件 包 想 要 自 定 义 某 些 默 认 设 置 , 那 么 必 须 将 自 定 义 的 配 置 文 件 安 装 到 /usr/lib/systemd/*.conf.d/ 目 录 中 。 /etc/ 目 录 仅 供 系 统 管 理 员 使 用 。 系 统 管 理 员 可 以 利 用 下 面 的 逻 辑 来 覆 盖 默 认 设 置 : 主 配 置 文 件 最 先 被 读 取 , 优 先 级 也 最 低 。 所 有 *.conf.d/ 中 的 配 置 文 件 都 会 覆 盖 主 配 置 文 件 中 的 设 置 。 所 有 *.conf.d/ 中 的 配 置 文 件 (无 论 位 于 哪 个 目 录 中 ), 统 一 按 照 文 件 名 的 字 典 顺 序 处 理 。 如 果 在 多 个 配 置 文 件 中 设 置 了 同 一 个 选 项 , 那 么 仅 以 文 件 名 最 靠 后 (字 典 顺 序 )的 那 一 个 为 准 。 为 了 便 于 排 序 , 建 议 给 所 有 *.conf.d/ 中 的 配 置 文 件 都 加 上 两 位 十 进 制 数 字 的 文 件 名 前 缀 。 如 果 系 统 管 理 员 想 要 屏 蔽 /usr/lib/ 目 录 中 的 某 个 配 置 文 件 , 那 么 最 佳 做 法 是 在 /etc/ 目 录 中 创 建 一 个 指 向 /dev/null 的 同 名 符 号 链 接 , 即 可 彻 底 屏 蔽 /usr/lib/ 目 录 中 的 同 名 文 件 。

选 项

下 面 的 所 有 选 项 都 位 于 "[Login]" 小 节 :

NAutoVTs= 必 须 设 为 一 个 正 整 数 , 表 示 默 认 最 多 可 以 自 动 启 动 多 少 个 虚 拟 终 端 。 当 用 户 切 换 到 一 个 先 前 未 曾 使 用 的 虚 拟 终 端 时 , 将 根 据 该 虚 拟 终 端 的 名 称 自 动 从 autovt@.service 模 版 实 例 化 一 个 例 如 autovt [AT] tty4.service 这 样 的 服 务 单 元 。 默 认 情 况 下 , autovt@.service 是 一 个 指 向 getty@.service 的 软 连 接 。 换 句 话 说 , 当 用 户 切 换 到 一 个 先 前 未 曾 使 用 的 虚 拟 终 端 时 , "login:"登 录 提 示 符 是 动 态 启 动 的 。 因 此 , 此 选 项 实 际 上 相 当 于 设 置 了 允 许 启 动 多 少 个 agetty [1] 文 本 登 录 界 面 (与 虚 拟 终 端 一 一 对 应 )。 如 果 某 个 虚 拟 终 端 已 经 被 其 他 子 系 统 (例 如 图 形 登 录 界 面 )占 用 , 那 么 将 不 会 自 动 启 动 此 虚 拟 终 端 。 注 意 , ReserveVT= 中 的 虚 拟 终 端 总 会 被 自 动 启 动 , 即 使 这 些 终 端 并 不 在 NAutoVTs= 的 范 围 内 。 默 认 值 是 "6"。 若 设 为 "0"则 表 示 禁 止 自 动 启 动 任 何 虚 拟 终 端 , 也 就 是 禁 止 自 动 从 autovt@.service 模 版 实 例 化 。

ReserveVT= 必 须 设 为 一 个 表 示 终 端 编 号 的 正 整 数 , 表 示 无 条 件 的 为 该 终 端 从 autovt@.service 模 版 实 例 化 一 个 服 务 单 元 (见 上 文 )。 被 此 选 项 选 中 的 虚 拟 终 端 将 被 无 条 件 的 标 记 为 "忙 碌 "状 态 , 以 确 保 不 被 任 何 其 他 子 系 统 占 用 。 此 选 项 可 用 于 确 保 无 论 其 他 子 系 统 占 用 了 多 少 虚 拟 终 端 , 在 特 定 编 号 的 终 端 上 总 有 一 个 文 本 界 面 的 登 录 agetty [1] 可 用 。 默 认 值 是 "6", 也 就 是 在 Alt-F6 上 总 有 一 个 文 本 界 面 的 "login:"登 录 提 示 符 。 若 设 为 "0"则 表 示 禁 止 此 特 性 。

KillUserProcesses= 接 受 一 个 布 尔 值 。 控 制 在 用 户 退 出 登 录 会 话 时 , 是 否 杀 死 该 用 户 的 进 程 。 如 果 设 为 "yes", 那 么 与 此 会 话 对 应 的 scope 单 元 中 所 包 含 的 所 有 进 程 都 将 被 杀 死 。 如 果 设 为 "no", 那 么 与 此 会 话 对 应 的 scope 单 元 将 会 被 "遗 弃 ", 并 且 其 中 包 含 的 所 有 进 程 都 将 被 保 留 (任 由 其 自 生 自 灭 )。 默 认 值 是 "yes" 。 参 见 下 面 的 KillOnlyUsers=KillExcludeUsers= 选 项 。 根 据 linger(逗 留 ) 设 置 的 不 同 , 用 户 进 程 除 了 可 以 运 行 在 会 话 中 , 还 可 以 运 行 在 user@.service 用 户 管 理 单 元 中 。 这 样 就 允 许 用 户 运 行 独 立 于 登 录 会 话 的 进 程 。 参 见 loginctl(1)enable-linger 命 令 。 注 意 , 设 置 KillUserProcesses=yes 将 破 坏 screen(1)tmux(1) 之 类 的 工 具 (除 非 它 们 被 移 出 了 会 话 scope 单 元 之 外 )。 参 见 systemd-run(1) 的 例 子 。

KillOnlyUsers=, KillExcludeUsers= 设 为 一 个 空 格 分 隔 的 用 户 名 列 表 , 以 影 响 KillUserProcesses= 的 效 果 : 若 KillOnlyUsers= 非 空 , 则 表 示 KillUserProcesses=yes 仅 对 列 表 内 的 用 户 有 效 。 若 KillExcludeUsers= 非 空 , 则 表 示 KillUserProcesses=yes 仅 对 列 表 外 的 用 户 有 效 。 KillOnlyUsers= 默 认 值 为 空 , KillExcludeUsers= 默 认 值 为 "root" , 并 且 KillExcludeUsers= 的 优 先 级 比 KillOnlyUsers= 更 高 。 注 意 , 若 选 项 值 为 空 则 表 示 忽 略 此 选 项 (相 当 于 不 存 在 此 选 项 )。

IdleAction= 当 系 统 持 续 处 于 空 闲 状 态 超 过 IdleActionSec= 所 设 置 的 时 间 后 , 应 该 执 行 何 种 操 作 : "ignore"(无 操 作 ), "poweroff"(关 闭 系 统 并 切 断 电 源 ), "reboot"(重 新 启 动 ), "halt"(关 闭 系 统 但 不 切 断 电 源 ), "kexec"(调 用 内 核 "kexec"函 数 ), "suspend"(休 眠 到 内 存 ), "hibernate"(休 眠 到 硬 盘 ), "hybrid-sleep"(同 时 休 眠 到 内 存 与 硬 盘 ), "lock"(锁 屏 ) 。 默 认 值 是 "ignore" 注 意 , 此 功 能 依 赖 于 用 户 会 话 能 够 正 确 的 报 告 空 闲 状 态 。 执 行 此 处 设 置 的 动 作 需 要 满 足 下 列 全 部 条 件 : (1)系 统 中 不 存 在 "idle inhibitor [2] "锁 (禁 止 进 入 空 闲 状 态 的 锁 ) (2)所 有 会 话 都 报 告 说 它 们 正 处 于 空 闲 状 态 , 并 且 持 续 处 于 空 闲 状 态 超 过 了 下 文 IdleActionSec= 所 设 置 的 时 间 。

IdleActionSec= 当 系 统 持 续 处 于 空 闲 状 态 超 过 此 处 设 置 的 时 长 之 后 将 会 自 动 执 行 IdleAction= 设 定 的 动 作 。 可 以 使 用 下 面 的 时 间 单 位 后 缀 : "ms", "s", "min", "h", "d" , 若 仅 设 为 一 个 正 整 数 , 那 么 单 位 是 秒 。

InhibitDelayMaxSec= 当 系 统 中 存 在 "delay inhibitor [2] "延 迟 锁 时 , 关 闭 /休 眠 系 统 的 请 求 将 被 临 时 延 迟 一 段 时 间 。 此 选 项 可 用 于 设 置 上 述 延 迟 的 最 大 时 长 。 若 超 过 这 个 时 长 之 后 , 延 迟 锁 依 然 未 被 释 放 , 那 么 将 执 行 关 闭 /休 眠 系 统 的 动 作 。 可 以 使 用 下 面 的 时 间 单 位 后 缀 : "ms", "s", "min", "h", "d" , 若 仅 设 为 一 个 正 整 数 , 那 么 单 位 是 秒 。 默 认 值 是 5秒 。

HandlePowerKey=, HandleSuspendKey=, HandleHibernateKey=, HandleLidSwitch=, HandleLidSwitchDocked= 当 按 下 硬 件 按 钮 (关 机 、 休 眠 到 内 存 、 休 眠 到 硬 盘 、 合 上 显 示 屏 )时 , 应 该 执 行 何 种 操 作 : "ignore"(无 操 作 ), "poweroff"(关 闭 系 统 并 切 断 电 源 ), "reboot"(重 新 启 动 ), "halt"(关 闭 系 统 但 不 切 断 电 源 ), "kexec"(调 用 内 核 "kexec"函 数 ), "suspend"(休 眠 到 内 存 ), "hibernate"(休 眠 到 硬 盘 ), "hybrid-sleep"(同 时 休 眠 到 内 存 与 硬 盘 ), "lock"(锁 屏 ) 。 注 意 , 只 监 视 带 有 "power-switch" 标 签 的 输 入 设 备 的 key(按 下 按 钮 )/lid(合 上 显 示 屏 ) 事 件 。 如 果 主 机 插 入 了 一 个 扩 展 坞 (docking station) 或 者 连 接 了 多 个 显 示 器 , 那 么 "合 上 显 示 屏 "将 执 行 HandleLidSwitchDocked= 动 作 , 否 则 将 执 行 HandleLidSwitch= 动 作 。 下 面 是 各 选 项 的 默 认 值 : HandlePowerKey=poweroffHandleSuspendKey=suspendHandleLidSwitch=suspendHandleLidSwitchDocked=ignoreHandleHibernateKey=hibernate

PowerKeyIgnoreInhibited=, SuspendKeyIgnoreInhibited=, HibernateKeyIgnoreInhibited=, LidSwitchIgnoreInhibited= 设 置 硬 件 按 钮 (关 机 、 休 眠 到 内 存 、 休 眠 到 硬 盘 、 合 上 显 示 屏 ) 所 触 发 的 操 作 (见 上 文 )是 否 应 该 忽 略 inhibitor [2] 锁 的 存 在 。 "no" 表 示 遵 守 应 用 所 持 有 的 inhibitor 锁 , 仅 当 所 有 的 锁 都 失 效 以 后 才 执 行 所 触 发 的 操 作 。 "yes" 表 示 无 视 inhibitor 锁 的 存 在 , 无 条 件 的 立 即 执 行 所 触 发 的 操 作 。 下 面 是 各 选 项 的 默 认 值 : PowerKeyIgnoreInhibited=noSuspendKeyIgnoreInhibited=noHibernateKeyIgnoreInhibited=noLidSwitchIgnoreInhibited=yes

HoldoffTimeoutSec= 当 开 机 /唤 醒 时 间 尚 未 超 出 此 处 设 置 的 时 间 长 度 时 , systemd 将 延 迟 响 应 合 上 显 示 屏 (lid)硬 件 事 件 。 为 了 能 够 正 确 检 测 可 热 插 拔 的 外 接 显 示 器 与 扩 展 坞 , 在 刚 开 机 之 后 的 一 段 时 间 内 忽 略 lid事 件 是 非 常 有 必 要 的 。 若 设 为 零 , systemd 将 会 立 即 响 应 lid事 件 , 但 这 有 可 能 在 内 核 完 成 初 始 化 所 有 热 插 拔 设 备 之 前 。 只 要 你 不 在 乎 让 systemd 去 管 理 在 系 统 关 闭 时 被 插 入 或 拔 出 的 设 备 , 那 么 就 可 以 设 为 零 。 默 认 值 是 30秒 。

RuntimeDirectorySize= 为 每 个 已 登 录 用 户 设 置 运 行 时 目 录 ($XDG_RUNTIME_DIR)的 最 大 尺 寸 。 若 设 为 绝 对 大 小 , 则 可 以 使 用 基 于 1024的 字 节 后 缀 : K, M, G, T 。 若 设 为 相 对 大 小 , 则 可 以 设 为 一 个 以 物 理 内 存 大 小 为 基 准 的 百 分 数 (以 "%" 为 后 缀 )。 默 认 值 是 10% 。 注 意 , 这 里 设 置 的 值 仅 用 于 限 制 运 行 时 目 录 尺 寸 的 上 限 , 因 为 运 行 时 目 录 位 于 内 存 中 (tmpfs), 所 以 实 际 所 占 用 的 内 存 大 小 是 随 着 目 录 内 容 的 变 化 而 变 化 的 。

InhibitorsMax= 控 制 最 多 允 许 同 时 存 在 多 少 个 inhibitor 锁 。 默 认 值 是 8192

SessionsMax= 控 制 最 多 允 许 同 时 管 理 多 少 个 用 户 会 话 。 默 认 值 是 8192 。 根 据 PAM栈 中 pam_systemd.so 模 块 的 不 同 配 置 , 超 出 数 量 限 制 的 登 录 会 话 可 能 会 被 直 接 拒 绝 、 也 可 能 会 被 允 许 登 录 但 不 被 systemd-logind 追 踪 。

UserTasksMax= 限 制 每 个 用 户 可 同 时 运 行 的 最 大 操 作 系 统 任 务 数 。 这 实 际 上 是 设 置 了 每 个 用 户 的 slice 单 元 的 TasksMax= 的 值 。 详 见 systemd.resource-control(5) 手 册 。 默 认 值 是 33% , 对 于 默 认 设 置 的 内 核 来 说 , 在 主 机 上 等 于 10813 , 但 是 在 容 器 中 的 值 可 能 会 更 小 。

RemoveIPC= 当 用 户 完 全 退 出 登 录 时 (也 就 是 退 出 最 后 一 个 登 录 会 话 时 ), 是 否 销 毁 所 有 属 于 该 用 户 的 SysV 与 POSIX IPC 对 象 。 这 些 IPC对 象 包 括 : SysV 信 号 /共 享 内 存 /消 息 队 列 、 POSIX 共 享 内 存 /消 息 队 列 。 默 认 值 "yes" 表 示 销 毁 , 这 样 可 以 确 保 当 用 户 完 全 退 出 登 录 之 后 , 不 会 再 占 用 任 何 IPC资 源 。 注 意 , 无 论 如 何 设 置 此 选 项 , root 用 户 的 IPC对 象 永 远 不 会 被 销 毁 。

参 见

systemd(1), systemd-logind.service(8), loginctl(1), systemd-system.conf(5)

NOTES

1.

agetty

[set $man.base.url.for.relative.links]//man/agetty.html

2.

inhibitor

http://www.freedesktop.org/wiki/Software/systemd/inhibit

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 翻 译 人 员 : 金 步 国 金 步 国 作 品 集 : http://www.jinbuguo.com 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh