Існує багато способів її впровадження, оскільки існує багато різних схем управління потужністю, що реалізуються залежно від того, що ви встановили.
Цей простий працює для мене в мінімалістичному Debian Jessie без будь-якого середовища на робочому столі, лише з невеликим і швидким менеджером вікон Icewm. (Він оброблений тому, що в іншому випадку просто занадто повільний, і таким чином він перевершує GNOME на набагато кращому апаратному забезпеченні)
Зокрема, я встановив наступні пакети:
acpi acpi-fakekey acpi-підтримка acpi-підтримка-acpi-підтримка acpid pm-утиліти,
але НІКОЛИ наступного (очистивши їх):
gnome * kde * systemd * uswsusp upower laptop-mode-tools спляча політика-1
Тому я просто вклав це /etc/cron.d/battery_low_check(все в один рядок, розділений на читабельність):
*/5 * * * * root acpi --battery |
awk -F, '/Discharging/ { if (int($2) < 10) print }' |
xargs -ri acpi_fakekey 205
Це швидке, малоресурсове використання і не залежить від інших демонів (якщо насправді, воно буде ігноровано, якщо вони активні - див. /usr/share/acpi-support/policy-funcsДеталі).
Що це робить: кожні 5 хвилин ( */5- ви можете переходити на кожну хвилину, просто використовуючи, *якщо вам потрібно частіше перевіряти акумулятор), він запитає стан батареї (" acpi - батарея ") та виконуватиме команду після, xargs -riякщо акумулятор " Розряд "(тобто ви не підключені до змінного струму) і стан акумулятора менше 10%(" int ($ 2) <10 "- сміливо налаштовуйте його на свої потреби)
acpi_fakekey 205за замовчуванням надішле KEY_SUSPENDподія ACPI (як би ви натиснули клавішу на ноутбуці з проханням призупинити), яка потім зробить все, що зазвичай робить для вас (налаштовано в /etc/default/acpi-support) - для мене він перезимує на диск.
Ви можете використовувати іншу команду замість acpi_fakekey 205звичайно: like hibernate(з hibernate пакета), s2diskабо s2mem(з uswsusp пакета), pm-suspend-hybrid(від pm-utils package) тощо.
BTW, номери магічних клавіш на зразок KEY_SUSPEND = 205 вище визначені в /usr/share/acpi-support/key-constants(інше цікаве, мабуть, KEY_SLEEP = 142 )
sleepd -b 40і нічого не сталося після позначки 40%. Я також спробував,sudo sleepd -b 40 -s pm-suspendі нічого не відбувається ...