Ubuntu 22.04.1挂起后立即唤醒问题求助
Hey Tim, 这种刚挂起就立刻唤醒的情况真的挺闹心的,我给你整理几个社区里常用的排查和解决思路,你可以一步步试试看:
排查唤醒源:这是最常见的诱因。先运行命令
cat /proc/acpi/wakeup,输出里标记为enabled的设备就是有权限唤醒系统的,比如USB控制器、鼠标、网卡这些。你可以用echo 设备名称 > /proc/acpi/wakeup临时禁用某个设备的唤醒功能(比如echo XHC > /proc/acpi/wakeup,XHC通常对应USB控制器),之后再测试挂起。如果临时禁用后问题解决,想要永久生效的话,把这条命令添加到/etc/rc.local文件里,别忘了给该文件加执行权限:chmod +x /etc/rc.local。检查Plasma电源设置:打开Plasma的电源管理面板,找找有没有类似「允许USB设备唤醒系统」的选项,先把它关掉试试。另外也排查下有没有设置定时唤醒任务,运行
timedatectl list-timers就能看到所有定时触发的任务。关闭网卡唤醒功能:不少用户遇到过网卡的「Wake-on-LAN(WOL)」导致自动唤醒的情况。先通过
ip a确认你的网卡名称(比如eth0、wlan0),然后运行ethtool 网卡名称,找到Wake-on那一行,如果显示是g就说明WOL开启了。可以用ethtool -s 网卡名称 wol d临时关闭,要永久生效的话,在/etc/network/interfaces里添加一行post-up ethtool -s 网卡名称 wol d;如果用NetworkManager管理网络,也可以在网卡的设置界面里直接找到WOL选项关闭。调整内核参数:有些情况下,添加特定内核参数能解决ACPI相关的睡眠问题。编辑
/etc/default/grub文件,找到GRUB_CMDLINE_LINUX_DEFAULT这一行,修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_sleep=nonvs"或者试试
mem_sleep_default=deep参数。修改完后运行update-grub,重启系统再测试挂起。查看系统日志定位原因:运行
journalctl -b -1 | grep -i wake,查看上一次系统唤醒的日志记录,里面通常会明确标注唤醒源(比如「Wakeup caused by device X」),能帮你精准找到问题所在。
如果某个步骤解决了问题,或者你拿到了新的日志信息,随时可以补充细节,我们再进一步分析~
备注:内容来源于stack exchange,提问作者Tim Woohoo

