/etc/systemd/logind.conf 被忽略

/etc/systemd/logind.conf 被忽略

我想在我的 Debian 10 机器上忽略笔记本电脑盖的关闭。这台笔记本电脑是 2017 年的 Macbook Air。

网上有很多指南说,HandleLidSwitchHandleLidSwitchExternalPowerHandleLidSwitchDocked必须设置为忽略。

这些行直接来自 /etc/systemd/logind.conf,表明我已经完成了此操作:

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
HndleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
LidSwitchIgnoreInhibited=no
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192

然后我systemctl restart systemd-logind以 root 身份运行,但问题仍然存在。

即使重新启动计算机后,我仍然遇到同样的问题。

有趣的是,该文件似乎没有被正确解析,如该命令的输出所示:

nick@debserver:~$ busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager HandleLidSwitch
s "suspend"

我不确定我需要做什么。

答案1

基于快速的研究和观察,这里首先要提到几件事,我想列出一些可能有帮助的感兴趣的事项:

  1. 看来您的配置文件中有一个拼写错误,而HndleLidSwitch=ignore它应该在的位置HandleLidSwitch=ignore

    • 这可能是由于该参数未被正确解析而导致的问题,因此,如果问题真的这么简单,我首先会先纠正这个问题。
  2. 此外,根据logind.conf、logind.conf.d - 登录管理器配置文件我读到的一些关键注意事项如下:

    • 只有带有“电源开关”udev 标签的输入设备才会被监视按键/盖子开关事件。

    • 如果系统插入扩展坞,或者连接了多个显示器,则会HandleLidSwitchDocked= 发生指定的操作;如果系统使用外部电源,则会HandleLidSwitchExternalPower=发生指定的操作(如果有);否则 HandleLidSwitch=会发生操作。

    • 不同的应用程序可能会禁用 logind 对系统电源和睡眠键以及盖子开关的处理通过采取低级抑制锁(“handle-power-key”、“handle-suspend-key”、“handle-hibernate-key”、“handle-lid-switch”、“handle-reboot-switch”)。

      • 这是图形桌面环境最常使用它来接管挂起和休眠处理,并使用它们自己的配置机制。如果采取了低级抑制锁,则当触发该键或开关时,logind 将不会采取任何行动,并且 Handle*= 设置无关紧要。
  3. 此外,根据对/etc/systemd/logind.conf 中的 HandleLidSwitch 被忽略邮政:

    这可能会对某些人有所帮助。我遇到了同样的问题,因为 /etc/systemd/logind.conf是符号链接。复制原始文件而不是符号链接后,它logind.conf不再被忽略

相关内容