无法禁用打开盖子时的唤醒功能

无法禁用打开盖子时的唤醒功能

在我的搭载 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 时都会调用此方法。虽然调用的次数比需要的要多,但确实有效。

相关内容