Змінити поведінку кнопки живлення Linux


29

У мене машина без монетного двору Linux, яку я використовую для файлового сервера та інших речей. Він працює для мене чудово протягом декількох років, але є одне питання - моя кішка любить тусуватися поверх неї, а коли вона піднімається і на ній час від часу наступає на кнопку живлення та вимикає машину.

Чи є простий спосіб змінити поведінку кнопки живлення, тому для цього потрібне надзвичайно тривале натискання (10 секунд або близько того) або кілька натискань, щоб зробити що-небудь?


Це робочий стіл чи ноутбук? Я думаю, ноутбук, якщо у цієї кішки доступ до кнопки живлення.
тердон

3
Це робочий стіл - це насправді стосується програмного рішення?
schpisodectyl

Хе. У мене не тільки однакова проблема, це точно з тієї ж причини. На питання @ terdon, це робочий стіл, але кнопка живлення знаходиться у верхній частині передньої панелі зверху вгору. Це просто в потрібному місці, щоб кіт надягнув лапу, коли стрибає з верху корпусу.
Сем Ханес

2
Якщо у вас є кнопка скидання, її часто натискати менше і важче. Якщо це так, ви можете підключити його як кнопку живлення та відключити фактичну кнопку живлення. Ось так я маю справу з проблемами з кнопкою живлення, пов’язаними з котами :)
Роджер Даль

Відповіді:


17

Ну, одне, що ви можете зробити, це просто відключити кнопку живлення взагалі. Особисто я використовую його лише для включення машини, і ніколи не використовую її, коли машина увімкнена. Якщо це нормальне рішення для вас, відредагуйте /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 повинен вийти з ладу або щось по цих лініях, єдиним моїм рішенням було б відключити живлення машини. Я набагато краще все ж залишити себе здатністю граціозно вимкнутись, якщо це можливо.
schhajactyl

1
@schizodactyl на моєму ноутбуці, рішення вище вимикає лише одне натискання кнопки живлення. Тривалий натискання все ще вимкне машину (хоча і не дуже витончено). На даний момент у мене немає доступу до робочого столу, тому я не можу перевірити, як це буде працювати, але, мабуть, він зробить те саме. Ви також можете скопіювати ярлик до команди вимкнення, якщо у вас додана клавіатура.
тердон

2
Велике спасибі! Мій кошеня використовував для вимкнення мого комп’ютера! :)
Geradlus_RU

34

Відповідь тердона в більшості випадків правильна, але для розповсюджених дистрибутивів systemd-logindвін обробляє події влади замість цього acpid. У цих дистрибутивах додайте або відредагуйте це налаштування, /etc/systemd/logind.confщоб вимкнути кнопку живлення:

HandlePowerKey=ignore

Щоб вибрати нове налаштування, перезапустіть вхід із системою

sudo systemctl restart systemd-logind

У деяких старих дистрибутивах вхід не може бути перезапущений під час активного сеансу на робочому столі, і в цьому випадку вам знадобиться перезавантажити, щоб отримати нове налаштування.


3
Схоже, це робоче рішення для ubuntu 14.04, коли ви не використовуєте gnome (в моєму випадку i3wm).
Гжегож

Я також повинен був встановити PowerKeyIgnoreInhibited=yesабо вимкнути електроживлення мого DE (gnome-settings). Обидва рішення допомогли Gnome також ігнорувати кнопку живлення.
беркес

Це спрацювало частування для мого MacBook Air під керуванням Debian Stretch. Кнопка живлення є занадто близькою до зворотної області.
Чад Шуггінс

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

11

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


3
Дивіться: Molly-guard
jwygralak67

3
Оскільки це законно те, що я розглядав, якщо немає хорошого програмного рішення, я не можу винуватити вас за те, що ви запропонували це ...
schpisodectyl

1
web.archive.org/web/20160429084659/http://www.retrologic.com/… - це нове посилання на Molly-Guard, оскільки вихідне посилання не вдалося.
K7AAY

1

Спочатку ви можете відредагувати файл вашої клавіатури, щоб змінити поведінку кнопки живлення та призначити її іншій клавіші

Редагування файлу: /usr/share/X11/xkb/symbols/inet(редагувати клавішу POWR)

Тоді вам потрібно буде відключити кнопку живлення ефективно, хороший метод - з xinput

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

xinput disable devnumber щось на зразок xinput disable 8

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.