![桌面随机从挂起状态唤醒(14.04)](https://linux22.com/image/1121898/%E6%A1%8C%E9%9D%A2%E9%9A%8F%E6%9C%BA%E4%BB%8E%E6%8C%82%E8%B5%B7%E7%8A%B6%E6%80%81%E5%94%A4%E9%86%92%EF%BC%8814.04%EF%BC%89.png)
我的桌面会自动从挂起状态唤醒。有时只需一两分钟,有时则需要几个小时。
我不知道从哪里开始解决这个问题。任何帮助都将不胜感激。
答案1
Jos 和 Rinzwind 的建议让我有所警醒,但并没有解决问题。我没有连接以太网电缆,也没有启用 WOL(BIOS 中实际上没有此选项)或键盘唤醒。
我尝试拔掉鼠标(带有 USB 接收器的 Logitech 无线鼠标),然后让计算机在夜间处于挂起状态 - 没有唤醒!
我之前怎么没想到呢?我总是在挂起电脑时关闭鼠标。我没想到这会引起更多问题。
那么,如何防止鼠标/接收器引起唤醒?首先,运行命令cat /proc/acpi/wakeup
。这将列出可能导致唤醒的设备。
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
P0P1 S4 *disabled pci:0000:00:1e.0
USB1 S3 *disabled
USB2 S3 *disabled
USB3 S3 *disabled
USB4 S3 *disabled
USB5 S3 *disabled
USB6 S3 *disabled
USB7 S3 *disabled
RP01 S4 *disabled pci:0000:00:1c.0
PXSX S4 *disabled pci:0000:01:00.0
RP02 S4 *disabled
PXSX S4 *disabled
RP03 S4 *disabled
PXSX S4 *disabled
RP04 S4 *disabled
PXSX S4 *disabled
RP05 S4 *disabled pci:0000:00:1c.4
PXSX S4 *enabled pci:0000:02:00.0
RP06 S4 *disabled
PXSX S4 *disabled
RP07 S4 *disabled
PXSX S4 *disabled
RP08 S4 *disabled
PXSX S4 *disabled
PEG0 S4 *disabled
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled
PEG3 S4 *disabled
GLAN S4 *disabled
EHC1 S4 *enabled pci:0000:00:1d.0
EHC2 S4 *enabled pci:0000:00:1a.0
XHC S4 *enabled pci:0000:00:14.0
HDEF S4 *disabled pci:0000:00:1b.0
PWRB S3 *enabled
在该字段中,Status
您可以看到他们是否可以唤醒计算机(enabled
)或不能(disabled
)。
EHC1
,EHC2
并XHC
代表 USB 控制器。显然USB1 - USB7
也是如此,但在我的例子中它们都被禁用了。我无法详细说明,因为我对此了解不多。
我认为PWRB
(最后一行)代表电源按钮。最好将其保持启用状态,因为您可能希望能够使用电源按钮唤醒计算机。
通过发出命令,sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
您可以切换的设置EHC1
。如果您再次运行命令列出设备,您将看到的设置EHC1
已更改。
我尝试使用控制器进行此操作EHC1
,EHC2
因为XHC
我不知道哪个控制器控制哪个 USB 设备。
对我来说,保留EHC1
并XHC
启用和禁用EHC2
可以得到我想要的结果。现在键盘或鼠标(即使打开)都无法唤醒。我必须按下电脑上的物理电源按钮。
不幸的是,当您重新启动时,设置将被重置。为了解决这个问题,您可以将下面的代码放入您的/etc/rc.local
。必须使用提升的权限来编辑它:sudo gedit /etc/rc.local
例如。
for device in EHC2
do
if grep -q "$device.*enabled" /proc/acpi/wakeup
then
echo $device > /proc/acpi/wakeup
fi
done
您可以通过更改代码中的第一行来添加更多设备:for device in EHC1 EHC2 XHC USB1
等等。我找到了脚本,由用户 toojays 撰写。
这解决了我的问题。