Как изменить отображение для клавиши «PowerOff» на клавиатуре?

Я купил ноутбук ROG G551JM Asus, который оказался совместимым с Ubuntu. Клавиатура компьютера плохо спроектирована, клавиша «Poweroff» представляет собой обычную клавишу, расположенную в том месте, где обычно находится клавиша «End». С компьютером все в порядке, поэтому я купил его с предположением, что смогу как-то «исправить» проблему, то есть переназначить кнопку PowerOff в клавишу «Завершить».

Кнопка PowerOff выполнена неправильно (ASUS G551JM): ASUS G551JM

Обычно есть клавиша «End» (ASUS N56VZ): 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:

Существует способ навсегда отключить диалоговое окно, см. Как изменить параметры кнопки питания? . Я надеюсь, что после отключения кнопки питания, можно было бы переназначить ее на что-то еще.

15
задан 13 April 2017 в 15:24

2 ответа

Я смог получить его работающий над моей ASUS N751JK в Ubuntu 18.04 LTS и Ubuntu 16.04 LTS (протестированный с настольной средой Единицы в обоих случаях и KDE Plasma в 18,04):

  1. В первую очередь, действие набора кнопки "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" для изменений для взятия эффекта.

    Energy saving

  2. Установка xdotool:

    sudo apt install xdotool
    

    Этот позволит нам инициировать ключевые события.

  3. Следующий шаг должен инициировать нажатие клавиши "Конца" на, "Выключают" нажатие кнопки.

    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
    
  4. Для применения этих изменений, нужно работать:

    sudo acpid restart
    

    Благодаря Adam возможно перезапустить acpid автоматически, когда пользователь входит в систему (на начальной загрузке системы). Таким образом вместо руководства sudo acpid restart в терминале каждый раз после перезагрузки добавляют следующую строку:

    session optional    pam_exec.so /usr/sbin/acpid restart
    

    в конец /etc/pam.d/common-session файл.

10
ответ дан 13 April 2017 в 15:24

Это должно добиться цели.

Входят в терминал:

gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: