我的笔记本电脑坏了,盖子无法锁定。所以我希望它在盖子打开时不会唤醒。我使用 ubuntu,但 gnome-power-preferences 没有这样的选项(只能关闭盖子)。
有什么办法吗?我担心下次打开时它会被烧毁。
答案1
我找到了方法经过更聪明的谷歌搜索后(很难找到正确的搜索键)。
简而言之,文件/proc/acpi/wakeup
有一行LID
已启用。
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
PCIB S4 disabled pci:0000:00:1e.0
USB1 S3 disabled pci:0000:00:1d.0
USB2 S3 disabled pci:0000:00:1d.1
USB3 S3 disabled pci:0000:00:1d.2
USB4 S3 disabled pci:0000:00:1d.3
USB7 S3 disabled pci:0000:00:1d.7
MODM S3 disabled
HDEF S3 disabled pci:0000:00:1b.0
PXS1 S4 disabled pci:0000:02:00.0
LID S4 *enabled
如果这样,echo " LID" > /proc/acpi/wakeup
它将变为禁用,并且计算机将不会在盖子打开时唤醒。
按照上述链接中的说明将其永久设置为您的计算机。
答案2
我查看了计算机的 BIOS 参数,没有找到要配置的“盖子打开时事件”。使用 Debian 上的 KDE,我在主配置窗口中也没有找到这样的参数。而且,我的/proc/acpi/wakeup
文件不包含任何LID
行。因此,前面的答案并不适用于所有系统。
尽管如此,根据这个建议(尤其是其更正的内容) 可能可以解决任何 Linux 系统的问题。
我只是建议输入以下行root
,然后在进入挂起模式后尝试关闭/打开盖子,只是为了在实际设置文件之前检查该解决方案是否适用于您的系统:
echo disabled | sudo tee /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/power/wakeup
答案3
通常情况下,一旦打开盖子,唤醒功能就不会触发。如果打开盖子后系统就开始运行,则您的系统可能没有处于 S3 睡眠状态(它本应处于该状态)。可能是有什么东西阻止了完全睡眠。
此外,您还可以在 BIOS 中查找唤醒事件并关闭那些您不想要的事件(也许其中包括盖子唤醒)。
答案4
以 root身份运行echo " LID" > /proc/acpi/wakeup
将禁用它,但是为了使其永久生效,您必须创建一个服务,因此首先 cd 到/etc/systemd/system/
然后创建文件,your-service-name.service
然后您的文件应该是这样的:
[Unit]
Description=no wakeup when lid is open
[Service]
ExecStart=/bin/bash -c '[ "$(cat /proc/acpi/wakeup |grep -P -o "LID.*\*\K\w+")" == "enabled" ] && echo "LID" > /proc/acpi/wakeup'
[Install]
WantedBy=multi-user.target
然后重新加载服务文件以包含新服务:
sudo systemctl daemon-reload
开始您的服务:
sudo systemctl start your-service-name.service
每次重启时启用您的服务:
sudo systemctl enable example.service