Існує багато способів її впровадження, оскільки існує багато різних схем управління потужністю, що реалізуються залежно від того, що ви встановили.
Цей простий працює для мене в мінімалістичному 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
і нічого не відбувається ...