pop*_*pey 7 suspend laptop power-management
Thinkpad T450 运行 Ubuntu 17.10,几周前全新安装(未升级)。我经常从一个房间移动到另一个房间,并且喜欢关闭盖子时笔记本电脑进入睡眠状态。它似乎从不这样做,一直保持清醒。我必须按住指示器中的电源按钮并选择暂停图标来暂停它。以前版本的 Ubuntu 曾经“Just Work”。
我尝试在 Tweaks 中切换选项以确保它设置为在盖子关闭时暂停,但这没有区别。这是错误还是预期行为?
原来我们都错了。触发盖子传感器的磁铁在笔记本电脑内部脱落。我通过将冰箱磁铁贴在相机上来确认这一点。我一这样做,笔记本电脑就暂停了。所以我认为底座上有一块磁铁。有,但它在机器内部漂浮(紧贴电池)。我把它放回原位,现在可以工作了。
我们可以捕捉盖子打开/关闭事件,并可以通过使用acpid- 高级配置和电源接口事件守护程序将脚本绑定到它们。
dconf-editor禁用了盖子关闭操作。但不幸的是我无法禁用此操作...所以我只希望这可以帮助您。1.抓住事件。执行以下命令之一,然后关闭并打开盖子:acpi_listen或netcat -U /var/run/acpid.socket。这是一个示例输出:
$ acpi_listen
button/lid LID close
button/lid LID open
Run Code Online (Sandbox Code Playgroud)
2.配置acpid识别设备模式改变时触发的事件。创建以下文件(不要忘记使用上述步骤中的实际事件):
/etc/acpi/events/lid-close:
# /etc/acpi/events/lid-close
# This is called when the lid is closed
event=button/lid LID close
action=/etc/acpi/lid-actions.sh 1
Run Code Online (Sandbox Code Playgroud)/etc/acpi/events/lid-open:
# /etc/acpi/events/lid-open
# This is called when the lid is open
event=button/lid LID open
action=/etc/acpi/lid-actions.sh 0
Run Code Online (Sandbox Code Playgroud)3.重新启动acpid以便它可以重新读取事件过滤器,包括我们刚刚添加的过滤器:
sudo systemctl restart acpid.service
Run Code Online (Sandbox Code Playgroud)
4.创建脚本/etc/acpi/lid-actions.sh(并使其可执行),当盖子合上时将挂起笔记本电脑1。我不知道当盖子要打开时什么动作会有用0,所以对这些行进行了注释。
#!/bin/sh
if [ "${1}" -eq 1 ]; then systemctl suspend # Lid is close
#elif [ "${1}" -eq 0 ]; then # Lid is open
fi
Run Code Online (Sandbox Code Playgroud)
参考:
| 归档时间: |
|
| 查看次数: |
1839 次 |
| 最近记录: |