Как настроить кнопку питания (на корпусе компьютера) на выключение системы с помощью `systemd`?

12

Как я могу установить кнопку питания (на корпусе моего компьютера, а не на клавиатуре), чтобы отключить питание системы systemd(без acpid)?


источник

Ответы:

11

systemdможет справиться с этим. Я думаю, что это то, что вам нужно:

Откройте /etc/systemd/logind.conf( руководство ):

  • HandlePowerKey: нажата кнопка включения питания;
  • HandleSuspendKey: действие на кнопку приостановки нажата.
  • HandleHibernateKey: действие на кнопку гибернации нажато.
  • HandleLidSwitch: действие, когда крышка закрыта.

Действие может быть один из ignore, poweroff, reboot, halt, suspend, hibernateили kexec.

Если нет конфигурации, используются значения по умолчанию:

  • HandlePowerKey=poweroff
  • HandleSuspendKey=suspend
  • HandleHibernateKey=hibernate
  • HandleLidSwitch=suspend
m0nhawk
источник
Я думаю, что эти параметры связаны с кнопками на клавиатуре («Питание», «Спящий режим» и т. Д.), Не так ли? (К сожалению, я не могу проверить это сейчас.)
Я разочарован. =) Какая разница? Кнопка питания - это кнопка, с помощью которой вы включаете компьютер. В любом случае, долгое нажатие этой клавиши остановит компьютер независимо от настроек ОС.
m0nhawk
Я установил все Handle*Keyна игнорирование, потому что кнопки «Power», «Sleep» и «Wake» расположены рядом со стрелками и «Enter» на моей клавиатуре. Я могу нажать на нее случайно. Мне нужно нажать кнопку питания на корпусе моего компьютера .
Можете ли вы предоставить больше информации о ключах? Например модель клавиатуры или ПК, потому что я перестаю понимать, о каких клавишах ты говоришь.
m0nhawk
Посмотрите на эти фотографии: ссылка , ссылка
2

Я не вижу, что это связано с systemd, но в моей acpidустановленной системе он автоматически реагирует на нажатие кнопки питания.

Может быть определено через /etc/acpi/handler.sh(На Arch Linux)

маргаритка
источник
Это связано с systemdтак как systemdзаменить acpidфункциональность «s. Я могу использовать и то systemdи другое acpid, но я хочу использовать только первое. Я отредактировал свой вопрос.
-1

Я считаю, что вам нужно настроить это в вашем BIOS (если он это поддерживает). Я не вижу, как кнопка питания на корпусе имеет какое-либо отношение к вашей ОС, где кнопка питания на клавиатуре действительно взаимодействует с ОС, поскольку ОС загружает драйверы для клавиатуры.

slafat01
источник
Я видел, как нажатие кнопки питания на корпусе вызывает правильное выключение MS Windows. Так что, вообще говоря, ОС может обрабатывать кнопку питания на корпусе.