我希望在我拥有的 Debian 10 机器上忽略笔记本电脑盖子的关闭。该笔记本电脑是 2017 款 Macbook Air。
许多在线指南都说 和HandleLidSwitch、HandleLidSwitchExternalPower和HandleLidSwitchDocked必须设置为忽略。
这些行直接来自 /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
Run Code Online (Sandbox Code Playgroud)
然后我systemctl restart systemd-logind以 root 身份运行,但问题仍然存在。
即使重新启动计算机后我也会遇到同样的问题。
有趣的是,该文件似乎没有被正确解析,如该命令的输出所示:
nick@debserver:~$ busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager HandleLidSwitch
s "suspend"
Run Code Online (Sandbox Code Playgroud)
我不确定我需要做什么。
基于快速研究和观察,这里首先要提到的一些事情,我想逐项列出一些可能有帮助的感兴趣的项目:
\n看起来你的配置文件中HndleLidSwitch=ignore应该有一个拼写错误HandleLidSwitch=ignore。
此外,根据logind.conf、logind.conf.d \xe2\x80\x94 登录管理器配置文件,我阅读了一些需要注意的关键事项:
\n\n\n\n
\n- \n
只有带有“power-switch”udev 标签的输入设备才会被监视以获取键/盖开关事件。
\n- \n
如果系统插入扩展坞,或者连接了多个显示器,则会发生
\nHandleLidSwitchDocked=\n指定的操作;如果系统使用外部电源,则HandleLidSwitchExternalPower=发生\n指定的操作(如果有);否则将发生\nHandleLidSwitch=操作。- \n
不同的应用程序可能会通过采用低级抑制锁(“handle-power-key”、“handle-suspend-key”、“handle-hibernate-键”、“手柄盖开关”、“手柄重启开关”)。
\n\n
\n- 图形桌面环境最常使用它来接管挂起和休眠处理,并使用它们自己的配置机制。如果采用低级别抑制器锁定,则当触发该键或开关时,logind 将不会采取任何操作,并且 Handle*= 设置无关。
\n
另外,根据/etc/systemd/logind.conf 中 HandleLidSwitch 的评论被忽略:
\n\n\n这可能会对某人有所帮助。我遇到了同样的问题,因为 \n
\n/etc/systemd/logind.conf是一个符号链接。复制原始文件而不是符号链接后,它logind.conf不再被忽略