У меня есть старый ноутбук, и я установил версию Ubuntu 20.04 LTS Server (без графического интерфейса, только CLI). Он управляется через SSH, поэтому его отображение не требуется. Я хотел бы выключить дисплей, когда я закрою крышку, и снова включить, если я ее открою.
Я успешно настроил acpid для управления дисплеем.
В /etc/acpi/события Я создал файл:
событие=кнопка/крышка.*
action=/etc/acpi/lid.sh
Сценарий:
#!/бин/ш
grep -q закрыто /proc/acpi/button/lid/LID/state
если [$? = 0]
тогда
# закрыть действие
setterm --пустая сила
еще
# открытое действие
setterm --blank тыкать
фи
Если я запускаю этот скрипт вручную, он работает отлично, однако кажется, что acpi не может запустить скрипт:
$ sudo journalctl -u acpid -f
...
04 июля 20:03:01 сервер acpid [1179]: получено событие входного слоя «кнопка / крышка крышки закрыта»
04 июля 20:03:01 сервер acpid[1179]: правило из /etc/acpi/events/lid совпало
04 июля 20:03:01 сервер acpid[1353]: выполнение действия "/etc/acpi/lid.sh"
04 июля 20:03:01 сервер acpid[1179]: действие завершено со статусом 1
04 июля, 20:03:01 сервер acpid[1179]: всего совпало 1 правило
04 июля 20:03:01 сервер acpid [1179]: завершено событие входного слоя «кнопка / крышка крышки закрыта»
...
Ошибка: действие завершено со статусом 1 (не 0)
Если я правильно понимаю, код выхода 1 — это проблема с разрешением (операция не разрешена). Я не знаю, почему это «не разрешено», потому что мне не нужно использовать судо
для запуска этого скрипта.