Требуется, чтобы ноутбук переходил в спящий режим (suspend to RAM) при закрытии крышки.
Это сделано отловом события через ACPI и pm-suspend:
# cat /etc/acpi/acpi_handler.sh
#!/bin/sh
# Default acpi script that takes an entry for all actions
IFS=${IFS}/
set $@
case "$1" in
button)
case "$2" in
power) /sbin/init 0
;;
lid) /usr/sbin/pm-suspend --auto-quirks
;;
*) logger "ACPI action $2 is not defined"
;;
esac
;;
*)
logger "ACPI group $1 / action $2 is not defined"
;;
esac
Однако при таком засыпании нажатие на кнопку включения ноутбука приводит не только к его просыпаниюю, но и немедленному засыпанию снова; после повторного нажатия кнопки ноутбук просыпается полностью :-)
Не важно, что используется: эффект от echo mem > /sys/power/state такой же. Я удалаял все другие события (кнопку power) - ничего не изменилось. При усыплении из командной строки - всё нормально, просыпается на раз. Я делаю вывод, что acpid виновен в неправильной обработке «кнопки» lid.
что делать?