281 字
1 分钟
Linux休眠后立即被唤醒的解决方案
参考了这个帖子的解决方法。
我的笔记本症状和其中一样,在休眠过后立即被唤醒,导致休眠无法使用。
能够将笔记本从休眠状态唤醒的事件定义在 /proc/acpi/wakeup 这个文件里,只要将无关的事件禁用,就可以查出是哪个事件唤醒系统了。
禁用或启用某个事件可以用开关控制:
echo IGBE | sudo tee /proc/acpi/wakeup所以可以撰写一个脚本 suspend_event.sh(脚本来自原作者):
#!/bin/sh# @Author: lance# @Date: 2015-10-07 22:38:51# @Last Modified by: lance# @Last Modified time: 2015-10-07 22:42:21## Some events will wakeup right after suspend, disable themstat=$(cat /proc/acpi/wakeup)wakers=(IGBE EXP2 XHCI EHC1)for waker in ${wakers[@]}; do is_en=$(echo "${stat}" | grep $waker | grep disabled); if [ -z "$is_en" ]; then echo disable wakeup of $waker... echo $waker | tee /proc/acpi/wakeup; fidone保存在一个地方,比如我放在了家目录下,给予执行权限,这里我直接 chmod 777 ./suspend_event.sh 了。
再编写一个 systemd 项目,让其开机启动:
sudo vim /etc/systemd/system/suspend_event.service
[Unit]Description=disable some events to wake up deviceAfter=systemd-udev-settle.service
[Service]Type=idleExecStart=/home/yuzi/suspend_event.shRemainAfterExit=no
[Install]WantedBy=multi-user.target最后执行 sudo systemctl enable --now suspend_event.service 即可,这下休眠就正常了。
Linux休眠后立即被唤醒的解决方案
https://yuzi.dev/posts/tinkering/linux-suspend-wakes-up-immediately
