- systemd.index 中文手册
- systemd.directives 中文手册
- binfmt.d 中文手册
- bootctl 中文手册
- bootup 中文手册
- busctl 中文手册
- coredump.conf 中文手册
- coredumpctl 中文手册
- crypttab 中文手册
- daemon 中文手册
- dnssec-trust-anchors.d 中文手册
- environment.d 中文手册
- file-hierarchy 中文手册
- halt 中文手册
- hostname 中文手册
- hostnamectl 中文手册
- hwdb 中文手册
- journal-remote.conf 中文手册
- journal-upload.conf 中文手册
- journalctl 中文手册
- journald.conf 中文手册
- kernel-command-line 中文手册
- kernel-install 中文手册
- loader.conf 中文手册
- locale.conf 中文手册
- localectl 中文手册
- localtime 中文手册
- loginctl 中文手册
- logind.conf 中文手册
- machine-id 中文手册
- machine-info 中文手册
- machinectl 中文手册
- modules-load.d 中文手册
- networkctl 中文手册
- networkd.conf 中文手册
- nss-myhostname 中文手册
- nss-mymachines 中文手册
- nss-resolve 中文手册
- nss-systemd 中文手册
- os-release 中文手册
- pam_systemd 中文手册
- portablectl 中文手册
- resolvectl 中文手册
- resolved.conf 中文手册
- shutdown 中文手册
- sysctl.d 中文手册
- systemctl 中文手册
- systemd 中文手册
- systemd-analyze 中文手册
- systemd-ask-password 中文手册
- systemd-ask-password-console.service 中文手册
- systemd-backlight@.service 中文手册
- systemd-binfmt.service 中文手册
- systemd-bless-boot-generator 中文手册
- systemd-bless-boot.service 中文手册
- systemd-boot 中文手册
- systemd-boot-check-no-failures.service 中文手册
- systemd-cat 中文手册
- systemd-cgls 中文手册
- systemd-cgtop 中文手册
- systemd-coredump 中文手册
- systemd-cryptsetup-generator 中文手册
- systemd-cryptsetup@.service 中文手册
- systemd-debug-generator 中文手册
- systemd-delta 中文手册
- systemd-detect-virt 中文手册
- systemd-environment-d-generator 中文手册
- systemd-escape 中文手册
- systemd-firstboot 中文手册
- systemd-fsck@.service 中文手册
- systemd-fstab-generator 中文手册
- systemd-getty-generator 中文手册
- systemd-gpt-auto-generator 中文手册
- systemd-halt.service 中文手册
- systemd-hibernate-resume-generator 中文手册
- systemd-hibernate-resume@.service 中文手册
- systemd-hostnamed.service 中文手册
- systemd-hwdb 中文手册
- systemd-id128 中文手册
- systemd-importd.service 中文手册
- systemd-inhibit 中文手册
- systemd-initctl.service 中文手册
- systemd-journal-gatewayd.service 中文手册
- systemd-journal-remote.service 中文手册
- systemd-journal-upload.service 中文手册
- systemd-journald.service 中文手册
- systemd-localed.service 中文手册
- systemd-logind.service 中文手册
- systemd-machine-id-commit.service 中文手册
- systemd-machine-id-setup 中文手册
- systemd-machined.service 中文手册
- systemd-makefs@.service 中文手册
- systemd-modules-load.service 中文手册
- systemd-mount 中文手册
- systemd-networkd-wait-online.service 中文手册
- systemd-networkd.service 中文手册
- systemd-notify 中文手册
- systemd-nspawn 中文手册
- systemd-path 中文手册
- systemd-portabled.service 中文手册
- systemd-quotacheck.service 中文手册
- systemd-random-seed.service 中文手册
- systemd-rc-local-generator 中文手册
- systemd-remount-fs.service 中文手册
- systemd-resolved.service 中文手册
- systemd-rfkill.service 中文手册
- systemd-run 中文手册
- systemd-run-generator 中文手册
- systemd-sleep.conf 中文手册
- systemd-socket-activate 中文手册
- systemd-socket-proxyd 中文手册
- systemd-suspend.service 中文手册
- systemd-sysctl.service 中文手册
- systemd-system-update-generator 中文手册
- systemd-system.conf 中文手册
- systemd-sysusers 中文手册
- systemd-sysv-generator 中文手册
- systemd-time-wait-sync.service 中文手册
- systemd-timedated.service 中文手册
- systemd-timesyncd.service 中文手册
- systemd-tmpfiles 中文手册
- systemd-tty-ask-password-agent 中文手册
- systemd-udevd.service 中文手册
- systemd-update-done.service 中文手册
- systemd-update-utmp.service 中文手册
- systemd-user-sessions.service 中文手册
- systemd-vconsole-setup.service 中文手册
- systemd-veritysetup-generator 中文手册
- systemd-veritysetup@.service 中文手册
- systemd-volatile-root.service 中文手册
- systemd.automount 中文手册
- systemd.device 中文手册
- systemd.dnssd 中文手册
- systemd.environment-generator 中文手册
- systemd.exec 中文手册
- systemd.generator 中文手册
- systemd.journal-fields 中文手册
- systemd.kill 中文手册
- systemd.link 中文手册
- systemd.mount 中文手册
- systemd.netdev 中文手册
- systemd.network 中文手册
- systemd.nspawn 中文手册
- systemd.offline-updates 中文手册
- systemd.path 中文手册
- systemd.preset 中文手册
- systemd.resource-control 中文手册
- systemd.scope 中文手册
- systemd.service 中文手册
- systemd.slice 中文手册
- systemd.socket 中文手册
- systemd.special 中文手册
- systemd.swap 中文手册
- systemd.syntax 中文手册
- systemd.target 中文手册
- systemd.time 中文手册
- systemd.timer 中文手册
- systemd.unit 中文手册
- sysusers.d 中文手册
- timedatectl 中文手册
- timesyncd.conf 中文手册
- tmpfiles.d 中文手册
- udev 中文手册
- udev.conf 中文手册
- udevadm 中文手册
- user@.service 中文手册
- vconsole.conf 中文手册
logind.conf 中文手册
名称
logind.conf, logind.conf.d — 登录管理器配置文件
大纲
/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) 登录管理器的行为。参见systemd.syntax(5) 以了解通用配置语法。
配置目录及其优先级
默认设置是在编译期间确定的,所以仅在确实需要修改默认设置的情况下,才需要使用配置文件。位于/etc/systemd/
目录中的初始配置文件,仅包含了展示选项默认值的注释,目的在于方便系统管理员查看和直接修改。
如果软件包想要自定义某些默认设置,那么必须将自定义的配置文件安装到/usr/lib/systemd/*.conf.d/
目录中。/etc/
目录仅供系统管理员使用。系统管理员可以利用下面的逻辑来覆盖默认设置:主配置文件最先被读取,优先级也最低。所有 *.conf.d/
中的配置文件都会覆盖主配置文件中的设置。所有 *.conf.d/
中的配置文件(无论位于哪个目录中),统一按照文件名的字典顺序处理。当多个配置文件都设置了同一个选项的时候:(1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准;(2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。为了便于排序,建议给所有 *.conf.d/
中的配置文件都加上两位十进制数字的文件名前缀。
如果系统管理员想要屏蔽 /usr/lib/
目录中的某个配置文件,那么最佳做法是在 /etc/
目录中创建一个指向 /dev/null
的同名符号链接,即可彻底屏蔽 /usr/lib/
目录中的同名文件。
选项
下面的所有选项都位于"[Login]
" 小节:
NAutoVTs=
必须设为一个正整数,表示默认最多可以自动启动多少个虚拟终端。当用户切换到一个先前未曾使用的虚拟终端时,将根据该虚拟终端的名称自动从
autovt@.service
模版实例化一个 例如autovt@tty4.service
这样的服务单元。默认情况下,autovt@.service
是一个指向getty@.service
的软连接。换句话说,当用户切换到一个先前未曾使用的虚拟终端时,"login:"登录提示符是动态启动的。因此,此选项实际上相当于设置了允许启动多少个 agetty 文本登录界面(与虚拟终端一一对应)。如果某个虚拟终端已经被其他子系统(例如图形登录界面)占用,那么将不会自动启动此虚拟终端。注意,ReserveVT=
中的虚拟终端 总会被自动启动,即使这些终端并不在NAutoVTs=
的范围内。默认值是"6"。若设为"0"则表示禁止自动启动任何虚拟终端,也就是禁止自动从autovt@.service
模版实例化。ReserveVT=
必须设为一个表示终端编号的正整数,表示无条件的为该终端从
autovt@.service
模版实例化一个服务单元(见上文)。被此选项选中的虚拟终端将被无条件的标记为"忙碌"状态,以确保不被任何其他子系统占用。此选项可用于确保无论其他子系统占用了多少虚拟终端,在特定编号的终端上总有一个文本界面的登录 agetty 可用。默认值是"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
"(同时休眠到内存与硬盘), "suspend-then-hibernate
"(先休眠到内存超时后再休眠到硬盘), "lock
"(锁屏) 。默认值是 "ignore
"注意,此功能依赖于用户会话能够正确的报告空闲状态。执行此处设置的动作需要满足下列全部条件: (1)系统中不存在"idle inhibitor"锁(禁止进入空闲状态的锁) (2)所有会话都报告说它们正处于空闲状态,并且持续处于空闲状态超过了下文
IdleActionSec=
所设置的时间。IdleActionSec=
当系统持续处于空闲状态超过此处设置的时长之后 将会自动执行
IdleAction=
设定的动作。可以使用下面的时间单位后缀:"ms", "s", "min", "h", "d" ,若仅设为一个正整数,那么单位是秒。InhibitDelayMaxSec=
当系统中存在"delay inhibitor"延迟锁时,关闭/休眠系统的请求将被临时延迟一段时间。此选项可用于设置上述延迟的最大时长。若超过这个时长之后,延迟锁依然未被释放,那么将执行关闭/休眠系统的动作。可以使用下面的时间单位后缀:"ms", "s", "min", "h", "d" ,若仅设为一个正整数,那么单位是秒。默认值是5秒。
UserStopDelaySec=
用户完全注销后,保持用户记录与
user@.service
服务实例的时长。设为零表示当用户的最后一个会话结束时,立即结束该用户的user@.service
服务实例。设为非零表示当用户的最后一个会话结束时,在指定的等待时长之内,若该用户仍未再次登录,才会结束该用户的user@.service
服务实例。通过将此选项设为非零可以避免user@.service
服务实例的频繁启动与停止,从而加快了登录/注销的速度。特殊值 "infinity
" 表示一旦用户首次登录,该用户的user@.service
服务实例就将一直持续运行,直到系统关机。默认值是 10s 。HandlePowerKey=
,HandleSuspendKey=
,HandleHibernateKey=
,HandleLidSwitch=
,HandleLidSwitchExternalPower=
,HandleLidSwitchDocked=
当 power(电源)/sleep(休眠)/lid(合上盖子) 事件发生时,应该执行何种操作: "
ignore
"(无操作), "poweroff
"(关闭系统并切断电源), "reboot
"(重新启动), "halt
"(关闭系统但不切断电源), "kexec
"(调用内核"kexec"函数), "suspend
"(休眠到内存), "hibernate
"(休眠到硬盘), "hybrid-sleep
"(同时休眠到内存与硬盘), "suspend-then-hibernate
"(先休眠到内存超时后再休眠到硬盘), "lock
"(锁屏) 。注意,只监视带有 "power-switch
" 标签的 输入设备的 key(按下按钮)/lid(合上盖子) 事件。如果主机插入了一个扩展坞(docking station) 或者连接了多个显示器,那么"合上盖子"将执行HandleLidSwitchDocked=
动作; 如果主机使用外部电源,并且HandleLidSwitchExternalPower=
不是默认值("ignore
"),那么"合上盖子"将执行HandleLidSwitchExternalPower=
动作; 否则将执行HandleLidSwitch=
动作。下面是 各选项的默认值:HandlePowerKey=poweroff
、HandleSuspendKey=suspend
、HandleHibernateKey=hibernate
、HandleLidSwitch=suspend
、HandleLidSwitchExternalPower=ignore
、HandleLidSwitchDocked=ignore
持有低级 "inhibitor"延迟锁 ("
handle-power-key
", "handle-suspend-key
", "handle-hibernate-key
", "handle-lid-switch
") 的其他应用程序将会阻止 systemd-logind 处理系统的 power(电源)/sleep(休眠)/lid(合上盖子) 事件。也就是说, systemd-logind 将不会对上述按钮/开关事件作出任何响应,因此,一系列Handle*=
设置也变得没有意义了。图形化的桌面环境经常 利用这个机制来接管对休眠事件的处理。PowerKeyIgnoreInhibited=
,SuspendKeyIgnoreInhibited=
,HibernateKeyIgnoreInhibited=
,LidSwitchIgnoreInhibited=
设置 power(电源)/sleep(休眠)/lid(合上盖子) 事件所触发的 systemd-logind 操作(见上文)是否应该忽略高级 inhibitor 锁("shutdown", "sleep", "idle")。注意,无论如何设置这些参数,前文提及的低级延迟锁("
handle-power-key
", "handle-suspend-key
", "handle-hibernate-key
", "handle-lid-switch
") 都不会被忽略。这些选项都只能接受布尔值。"
no
" 表示遵守应用所持有的高级 inhibitor 锁,也就是说,仅当所有的高级锁都失效以后才执行所触发的操作。"yes
" 表示无视高级 inhibitor 锁的存在,立即无条件的执行所触发的操作。下面是 各选项的默认值:PowerKeyIgnoreInhibited=no
、SuspendKeyIgnoreInhibited=no
、HibernateKeyIgnoreInhibited=no
、LidSwitchIgnoreInhibited=yes
。HoldoffTimeoutSec=
当开机/唤醒时间 尚未超出此处设置的时间长度时,systemd 将延迟响应合上盖子(lid)硬件事件。为了能够正确检测可热插拔的外接显示器与扩展坞,在刚开机之后的一段时间内忽略lid事件是非常有必要的。若设为零,systemd 将会立即响应lid事件,但这有可能在内核完成初始化所有热插拔设备之前。只要你不在乎让 systemd 去管理在系统关闭时被插入或拔出的设备,那么就可以设为零。默认值是30秒。
RuntimeDirectorySize=
为每个已登录用户设置运行时目录
$XDG_RUNTIME_DIR
的最大尺寸。若设为绝对大小,则可以使用基于1024的字节后缀:K, M, G, T 。若设为相对大小,则可以设为一个以物理内存大小为基准的百分数(以 "%
" 为后缀)。默认值是 10% 。注意,这里设置的值仅用于限制运行时目录尺寸的上限,因为运行时目录位于内存中(tmpfs),所以实际所占用的内存大小是随着目录内容的变化而变化的。InhibitorsMax=
控制最多允许同时存在多少个 inhibitor 锁。默认值是 8192(8K)
SessionsMax=
控制最多允许同时管理多少个用户会话。默认值是 8192 。根据PAM栈中
pam_systemd.so
模块的不同配置,超出数量限制的登录会话可能会被直接拒绝、也可能会被允许登录但不被systemd-logind
追踪。RemoveIPC=
当用户完全退出登录时(也就是退出最后一个登录会话时),是否销毁所有属于该用户的 SysV 与 POSIX IPC 对象。这些IPC对象包括:SysV 信号/共享内存/消息队列、POSIX 共享内存/消息队列。默认值 "
yes
" 表示销毁,这样可以确保当用户完全退出登录之后,不会再占用任何IPC资源。注意,无论如何设置此选项,root 用户的IPC对象永远不会被销毁。
参见
systemd(1), systemd-logind.service(8), loginctl(1), systemd-system.conf(5)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论