Можно ли выполнить пользовательскую команду оболочки при нажатии кнопки питания или закрытии крышки?

Можно ли выполнить пользовательскую команду оболочки при нажатии кнопки питания или закрытии крышки?

Я пытаюсь заставить работать режим гибернации на моем Ubuntu 18.04.

Я следовал всем руководствам (в основном по ответам здесь):Как перейти в спящий режим в Ubuntu 16.04?)

До сих пор выполнение pm-hibernateв оболочке работало хорошо и systemctl hibernateне очень.

Я могу восстановиться правильно из pm-hibernate, с единственной проблемой, что экран не заблокирован, и я вхожу в систему сразу после этого. Я смог исправить это, добавив псевдоним, который вручную блокирует, и выполняет pm-hibernate после этого (Как заблокировать экран после выхода из режима гибернации?)

Однако systemctl hibernateэто не работает, и если вернуться после выполнения в командной строке, то это то же самое, что сделать принудительное выключение питания.

В меню настроек электропитания я выбрал «спящий режим», но, похоже, это выполняет то же самое, что и systemctl hibernate, потому что после нажатия кнопки выключения происходит то же самое, что и при выключении питания.

Я попробовал добавить resumeпараметр в конфигурацию grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/nvme0n1p2"

где /dev/nvme0n1p2находится мой раздел подкачки, но без какой-либо помощи.

Итак, теперь моя идея заключается в том, чтобы кнопка выключения питания запускала мой псевдоним спящего режима, который блокирует и выполняет pm-hibernate? Также, возможно, при закрытии крышки?

На данный момент мне приходится писать hibernate в терминале, чтобы перейти в спящий режим.

решение1

Вы можете редактировать этот файл /etc/acpi/events/powerbtn. Действие может быть назначено <your hibernate script>. Дайте мне знать, если это сработает?

Связанный контент