ors*_*iro 2 laptop acpi systemd logind
该设置HandleLidSwitch定义/etc/systemd/logind.conf如下:
HandleLidSwitch=<hibernate,ignore,...>
该设置在启动时成功应用。但是,我想根据交流状态在运行时更改设置:
如果我的笔记本电脑正在充电,请使用HandleLidSwitch=ignore. 如果我的笔记本电脑使用电池,请使用 HandleLidSwitch=suspend.
这是否可以用当前的 systemd 来实现?
小智 5
logind 提供了一种禁止锁定机制,允许用户软件覆盖系统策略。例如,只要 Gnome 处于活动状态,它就允许 Gnome 控制所有 ACPI 按钮和开关。您可以使用它在设备插入时抑制“手柄盖开关”,并在拔出插头时释放锁。
最好的方法是用具有 DBus 绑定的语言编写脚本并使用 logind 的Inhibit()方法,但 systemd 确实提供了systemd-inhibit可以从 shell 脚本使用的命令。请注意,它旨在用作包装器,保持锁定直到子进程退出:
systemd-inhibit --what=handle-lid-switch SOME_COMMAND_HERE
Run Code Online (Sandbox Code Playgroud)
PS 这一切都假设您没有使用已经阻止“handle-lid-switch”的桌面环境。不带参数运行systemd-inhibit将列出现有的抑制剂。
| 归档时间: |
|
| 查看次数: |
5187 次 |
| 最近记录: |