在我的联想T440p与Ubuntu20.10-Regolith桌面,我有一个问题,我不能禁用唤醒打开笔记本电脑盖子。
这不管用。
由于我想出了解决方案,但在任何地方都找不到,所以我在这里提出,以防其他人也有同样的问题。
发布于 2021-10-25 19:52:07
打给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通过将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 )代替./disableWakeup.sh EHC1。
要自动执行它,有不同的方法,描述了这里、这里和这里,还有其他方法。我更喜欢在文件/etc/bash.bashrc的末尾添加一行
/location/of/the/scrip/i.e./opt/loginScript/disableWakeup.sh然后每次打开一个shell就会调用它。比需要的要多,但它起作用了。
https://askubuntu.com/questions/1371578
复制相似问题