Я купил ноутбук ROG G551JM Asus, который оказался совместимым с Ubuntu. Клавиатура компьютера плохо спроектирована, клавиша «Poweroff» представляет собой обычную клавишу, расположенную в том месте, где обычно находится клавиша «End». С компьютером все в порядке, поэтому я купил его с предположением, что смогу как-то «исправить» проблему, то есть переназначить кнопку PowerOff в клавишу «Завершить».
Кнопка PowerOff выполнена неправильно (ASUS G551JM):
Обычно есть клавиша «End» (ASUS N56VZ):
События кнопки «PowerOff» генерируются устройством /dev/input/event2: Power Button
(согласно сообщениям evtest
) с кодом 116 (пример строки из evtest
: Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
)
Ключ также виден X-серверу, и в конечном итоге Ubuntu может идентифицировать нажатия клавиш как клавишу PowerOff
и запускает полупрозрачное диалоговое окно «До свидания, пользователь Адам ...», которое подтверждает мое желание действительно повернуть компьютер выключен.
Проблема в том, что привязка, связывающая нажатие клавиши PowerOff с подпрограммой, которая отображает это диалоговое окно подтверждения, не видна в dconf-editor, и у меня нет подсказки, где ее найти.
Может кто-нибудь сказать мне, где изменить (или удалить) привязку по умолчанию для ключа PowerOff ???
Это должно быть что-то легкое.
edit 21.IX.2016:
Существует способ навсегда отключить диалоговое окно, см. Как изменить параметры кнопки питания? . Я надеюсь, что после отключения кнопки питания, можно было бы переназначить ее на что-то еще.
Я смог получить его работающий над моей ASUS N751JK в Ubuntu 18.04 LTS и Ubuntu 16.04 LTS (протестированный с настольной средой Единицы в обоих случаях и KDE Plasma в 18,04):
В первую очередь, действие набора кнопки "Power Off" к nothing
.
Единица
Как упомянутый в ответе Johano Fierra:
gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"
или альтернативно sudo apt install dconf-tools
и используйте dconf-editor
измениться org.gnome.settings-daemon.plugins.power
свойство (как описанный здесь). Перезагрузка или выход из системы требуются, чтобы делать это работой.
KDE
Перейдите к "Параметрам настройки системы", выберите вкладку "Power Management" в разделе "Hardware" и затем выберите вкладку "Energy Saving", прокрутите вниз, найдите выпадающий список "When power button pressed" и измените его значение, чтобы ничего "Не сделать". Нажмите кнопку "Apply" для изменений для взятия эффекта.
Установка xdotool:
sudo apt install xdotool
Этот позволит нам инициировать ключевые события.
Следующий шаг должен инициировать нажатие клавиши "Конца" на, "Выключают" нажатие кнопки.
Ubuntu 18.04
Создать /etc/acpi/events/power
файл со следующим содержанием:
event=button/power
action=/etc/acpi/power.sh "%e"
и создайте /etc/acpi/power.sh
сценарий со следующим содержанием:
#!/bin/sh
xdotool key End
и добавьте полномочия выполнения к нему:
sudo chmod +x /etc/acpi/power.sh
Ubuntu 16.04
Скопируйте сценарий ACPI, используемый для обработки события кнопки "Power Off":
sudo cp /etc/acpi/powerbtn.sh /etc/acpi/powerbtn.sh.backup
Затем отредактируйте его, найдите следующее:
# If logind is running, it already handles power button presses; desktop
# environments put inhibitors to logind if they want to handle the key
# themselves.
и измените код ниже, таким образом, он похож:
if pidof systemd-logind >/dev/null; then
xdotool key End
exit 0
fi
Для применения этих изменений, нужно работать:
sudo acpid restart
Благодаря Adam возможно перезапустить acpid
автоматически, когда пользователь входит в систему (на начальной загрузке системы). Таким образом вместо руководства sudo acpid restart
в терминале каждый раз после перезагрузки добавляют следующую строку:
session optional pam_exec.so /usr/sbin/acpid restart
в конец /etc/pam.d/common-session
файл.
Это должно добиться цели.
Входят в терминал:
gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"