Eu tive um problema muito parecido; Vou mostrar um exemplo, mas você precisará adaptá-lo ao seu computador. A saída aqui é da minha área de trabalho (e aparada), então aplique cum grano salis .
Verifique os eventos de ativação do seu PC:
2& [romano:~/etc] % cat /proc/acpi/wakeup
Device S-state Status Sysfs node
PCI0 S4 *disabled no-bus:pci0000:00
COM1 S4 *disabled pnp:00:06
PEGH S4 *disabled
PEGL S4 *disabled
IGBE S4 *enabled pci:0000:00:19.0
PCX1 S4 *disabled pci:0000:00:1c.0
PCX5 S4 *disabled pci:0000:00:1c.4
PCX7 S4 *disabled pci:0000:00:1c.6
HUB S4 *disabled pci:0000:00:1e.0
EUS1 S3 *enabled pci:0000:00:1d.0
EUS2 S3 *enabled pci:0000:00:1a.0
PBTN S4 *enabled
Os eventos enabled
são os únicos que podem ativar seu computador. Um deles está disparando no seu caso; você tem que descobrir qual deles.
Você pode ativar ou desativar o status de ativação, por exemplo, EUS1
(o que isso significa --- sem ideia) com o comando:
echo EUS1 | sudo tee /proc/acpi/wakeup
e, em seguida, você pode verificar se a ativação está desativada, repetindo o primeiro comando. Agora você pode tentar suspender e ver se o PC permanece suspenso ou não. Repetir.
Não desative o evento em PBTN
--- é o botão de energia. Você pode ser incapaz de retomar nesse caso!
Minha estratégia é normalmente desabilitar tudo menos PBTN
--- agora o currículo deve ser acionado somente com o botão liga / desliga. Você pode então tentar reativar outras fontes (ou não).
Depois de encontrar o (s) evento (s) culpado (s), você poderá adicioná-lo ao seu /etc/rc.local
para tornar a alteração permanente. Observe, entretanto, que a interface é realmente mal pensada, e você só pode alternar o status de ativado / desativado, não configurá-lo; por exemplo, para desativar o EUS1 independentemente do seu status, você deve usar
grep 'EUS1.*enabled' < /proc/acpi/wakeup >/dev/null && echo "EUS1" > /proc/acpi/wakeup
no seu /etc/rc.local
.
No meu caso, o culpado de dispositivos EHC e XHC, provavelmente porque eu tenho um teclado USB (não tenho certeza), isso é um trecho do meu rc.local
:
for device in XHC EHC1 EHC2; do
grep $device /proc/acpi/wakeup | grep enabled > /dev/null && {
echo Disabling wakeup on $device
echo $device > /proc/acpi/wakeup
}
done