![如何让笔记本电脑盖子挂起和恢复,以及 Wi-Fi 与 Ubuntu 16.04 重新连接](https://linux22.com/image/881915/%E5%A6%82%E4%BD%95%E8%AE%A9%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E7%9B%96%E5%AD%90%E6%8C%82%E8%B5%B7%E5%92%8C%E6%81%A2%E5%A4%8D%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Wi-Fi%20%E4%B8%8E%20Ubuntu%2016.04%20%E9%87%8D%E6%96%B0%E8%BF%9E%E6%8E%A5.png)
在我的 Compaq Presario CQ62 笔记本电脑上,Ubuntu 14.04 会在盖子关闭时暂停。但全新安装的 16.04 会忽略盖子操作。根据使用 ubuntu-16-04 笔记本电脑在盖子关闭时不会暂停(我无法发布)4.4.8 版修复了一个内核错误,而 16.04 刚刚发布了 4.4.0。其他一切都正常,所以我决定尝试用现有内核修复它。按照笔记本电脑盖子关闭时不会暂停很有用,但已过时,导致 wifi 在恢复时无法重新连接。使盖子关闭事件进入挂起模式的最佳方法是什么?
答案1
要让 ACPI 执行暂停,请创建 /etc/acpi/events/lidbtn 和 /etc/acpi/lidbtn.sh,如下所示。
sudo sh
cat <<. >/etc/acpi/lidbtn.sh
#!/bin/sh
# Initiate suspend mode when the lid has been closed.
# Only act on a lid close event
if grep -q open /proc/acpi/button/lid/LID0/state
then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true
fi
.
cat <<. >/etc/acpi/events/lidbtn
# Laptop lid event triggered. Call /etc/acpi/lidbtn.sh
event=button[ /]lid
action=/etc/acpi/lidbtn.sh
.
exit
我还尝试了/usr/sbin/pm-suspend
和sudo /lib/systemd/systemd-sleep suspend
作为该dbus-send
线路的替代方案,但这些导致 wifi 在恢复后无法可靠地进行身份验证。我发现/etc/default/acpi-support
有用的背景阅读,指出acpi-support
已弃用,dbus-pm、dbus-hal 或 pm-utils 是当前的方法。
其他参考链接:电动盖,使用 dbus 时暂停之前运行脚本,优力