Перейти к содержимому

Изменить поведение кнопки питания Linux

20

У меня есть безголовая мятная машина Linux, которую я использую для файлового сервера и других вещей. Несколько лет он отлично работал для меня, но есть одна проблема - моя кошка любит тусоваться на ней, а когда она вылезает и снова включается, она иногда наступает на кнопку питания и выключает машину.

Есть ли простой способ изменить поведение кнопки питания, поэтому для ее выполнения требуется чрезвычайно длительное нажатие (10 секунд или около того) или несколько нажатий?

23 993 просмотра
schizodactyl спросил 12 лет назад
S 203

4 ответа

21

Ответ тердона верен в большинстве случаев, но для дистрибутивов, которые systemd-logindего приняли, он обрабатывает события power вместо acpid. В этих дистрибутивах добавьте или измените этот параметр, /etc/systemd/logind.confчтобы отключить кнопку питания:

HandlePowerKey=ignore 

Вам нужно будет перезагрузиться, чтобы выбрать новый параметр, который logindнельзя перезапустить, пока активен сеанс рабочего стола.

Похоже, что это рабочее решение для Ubuntu 14.04, когда вы не используете gnome (i3wm в моем случае).

meta · 8 лет назад · 2
Sam Hanes ответил 10 лет назад
S 311
12
Принятый ответ

Ну, одну вещь, которую вы могли бы сделать, это просто полностью отключить кнопку питания. Лично я использую его только для включения машины и никогда не использую его, когда машина включена. Если это правильное решение для вас, отредактируйте /etc/acpi/events/powerbtn-acpi-support:

sudo nano /etc/acpi/events/powerbtn-acpi-support 

Этот файл должен выглядеть примерно так:

event=button[ /]power action=/etc/acpi/powerbtn-acpi-support.sh 

Чтобы кнопка питания ничего не делала, измените ее на:

event=button[ /]power action= 

Затем перезапустите acpiдемон

sudo service acpid restart 

Ваша кнопка питания не должна игнорироваться.

Мне не совсем удобно отключать кнопку полностью, поскольку, поскольку это безголовая машина, если sshd зависнет или что-то в этом роде, единственным выходом для меня будет отключить питание машины. Я бы предпочел все же оставить себя с возможностью изящного отключения, если это возможно.

schizodactyl · 12 лет назад · 0

@schizodactyl на моем ноутбуке, решение выше отключает только одно нажатие кнопки питания. Длительное нажатие все равно выключит машину (хотя и не очень изящно). В настоящий момент у меня нет доступа к рабочему столу, поэтому я не могу проверить, как он будет работать, но, предположительно, он сделает то же самое. Вы также можете сопоставить ярлык с командой выключения, если у вас подключена клавиатура.

terdon · 12 лет назад · 0

Большое спасибо! Мой котенок раньше выключал мой компьютер! :)

Geradlus_RU · 11 лет назад · 1
terdon ответил 12 лет назад
T 40 923
8

Скотч картонный щиток над кнопкой. Возьмите три куска гофрокартона и прорежьте в каждом отверстие, достаточно большое, чтобы ваш палец мог дотянуться до кнопки. Склейте их вместе, выровняв отверстие, затем заклейте скотчем узел вокруг кнопки. Все приветствуют наших кошачьих повелителей!

jwygralak67 · 12 лет назад · 2

Так как это вполне закономерно, что я собирался сделать, если нет хорошего программного решения, я не могу винить вас за то, что вы предложили это ...

schizodactyl · 12 лет назад · 0
K7AAY ответил 12 лет назад
K 3 212
0

Сначала вы можете отредактировать файл раскладки клавиатуры, чтобы изменить поведение кнопки питания, чтобы назначить ее другой клавише.

Отредактируйте файл: /usr/share/X11/xkb/symbols/inet(отредактируйте кнопку POWR)

Тогда вам нужно будет эффективно отключить кнопку питания, хороший метод с xinput

xinput --listкнопки включения запуска имеют свой собственный вход ... выбрать номер устройства, затем запустить

xinput disable devnumber что-то вроде xinput disable 8

intika ответил 8 лет назад
I 746