在我的搭载 Ubuntu 20.10 - Regolith-desktop 的联想 T440p 上,我遇到一个问题,即无法禁用打开笔记本电脑盖时的唤醒功能。
我已经尝试了大多数说明中提供的解决方案,即更改 中的文件/etc/systemd/logind.conf
。这不起作用。我在 BIOS/UEFI 中也找不到任何设置。
由于我找到了解决方案但在任何地方都找不到它,所以我在这里提出它,以防其他人遇到同样的问题。
答案1
调用cat /proc/acpi/wakeup
。这将看起来像这样:
Device S-state Status Sysfs node
LID S4 *enabled platform:PNP0C0D:00
SLPB S3 *enabled platform:PNP0C0E:00
IGBE S4 *disabled pci:0000:00:19.0
EXP2 S4 *enabled pci:0000:00:1c.1
EXP3 S4 *disabled
XHCI S3 *enabled pci:0000:00:14.0
EHC1 S3 *enabled pci:0000:00:1d.0
EHC2 S3 *enabled pci:0000:00:1a.0
通过将 ie 写入LID
此文件您可以更改状态:
root@machine # echo 'LID' >> /proc/acpi/wakeup
如果您cat
像以前一样再次调用,您会看到,现在LID
就是*disabled
这样。LID
再次写入,再次启用它。更改是立即的。
不幸的是,这种改变并不是永久性的。为此,您可以创建一个 shell 脚本,每次启动计算机时都会执行该脚本:
创建一个新文件,即
root@machine # nano disableWakeup.sh
将此内容粘贴到其中
result=$(cat /proc/acpi/wakeup | grep 'enabled' | grep -o $1)
if [ "$result" != "" ]
then
echo "$result is enabled"
echo $1 >> /proc/acpi/wakeup
echo "Disabled $1"
fi
现在,你必须使这个文件可执行
root@machine # chmod 755 disableWakeup.sh
此后,您可以通过 调用脚本./disableWakeup.sh LID
。这将禁用 LID-Switch 唤醒。但您可以LID
用任何其他触发器替换,即./disableWakeup.sh EHC1
。
要自动执行它,有不同的方法,描述这里,这里和这里以及其他。我更喜欢在文件 /etc/bash.bashrc 末尾添加一行
/location/of/the/scrip/i.e./opt/loginScript/disableWakeup.sh
每次打开 shell 时都会调用此方法。虽然调用的次数比需要的要多,但确实有效。