Як я можу встановити кнопку живлення (на корпусі комп'ютера, а не на клавіатурі), щоб вимкнути систему за допомогою systemd
(без acpid
)?
Як я можу встановити кнопку живлення (на корпусі комп'ютера, а не на клавіатурі), щоб вимкнути систему за допомогою systemd
(без acpid
)?
Відповіді:
systemd
може впоратися з цим. Я думаю, що це те, що вам потрібно:
Відкрийте /etc/systemd/logind.conf
( посібник ):
HandlePowerKey
: дія клавіші живлення натиснута;HandleSuspendKey
: натиснуто дію на клавішу призупинення.HandleHibernateKey
: натискання дії на сплячу клавішу.HandleLidSwitch
: дія, коли кришка закрита.Дія може бути один з ignore
, poweroff
, reboot
, halt
, suspend
, hibernate
або kexec
.
Якщо немає конфігурації, використовуються значення за замовчуванням:
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=hibernate
HandleLidSwitch=suspend
Handle*Key
на ігнорування, тому що кнопки "Power", "Sleep" та "Wake" розміщені біля стрілок і Enter на моїй клавіатурі. Я можу натиснути це випадково. Мені потрібно обробляти кнопку живлення на корпусі комп'ютера .
Я не бачу, що це пов'язано з systemd, але в моїй системі, яка acpid
встановила, вона реагує на натискання кнопки живлення автоматично.
Можна визначити через /etc/acpi/handler.sh
(On Arch Linux)
Я вважаю, що вам потрібно налаштувати це у вашому BIOS (якщо він підтримує його). Я не бачу, як кнопка живлення на корпусі має щось спільне з вашою ОС, де кнопка живлення на вашій клавіатурі взаємодіє з ОС, оскільки ОС завантажує драйвери для клавіатури.