Как отключить сон / приостанавливают / в спящем режиме кнопки клавиатуры HP для Ubuntu 18.04?

Уже попробованный все решения от: Как я отключаю кнопку сна на своей клавиатуре?

gsettings set org.gnome.settings-daemon.plugins.power button-suspend "nothing"
gsettings set org.gnome.settings-daemon.plugins.power button-sleep "nothing"
gsettings set org.gnome.settings-daemon.plugins.power button-hibernate "nothing"

и я имею теперь с dconf-инструментами:

enter image description here

В моем случае HP Hewlett Packard WZ972AA ABA Classic Keyboard:

enter image description here

Эта кнопка "Moon", все еще работающая.. Кто-либо другой идеи?

5
задан 22 December 2018 в 12:07

4 ответа

В дополнение к Параметрам питания Gnome можно установить systemd настройки, найденные в /etc/systemd/logind.conf:

Мой ноутбук похож на это:

$ cat /etc/systemd/logind.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
HandleLidSwitch=ignore
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#UserTasksMax=12288

Заметьте в моей системе единственную опцию, которую я изменил, HandleLidswitch. Для Вашей системы я переопределил бы эти значения по умолчанию:

#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate

к этому:

HandleSuspendKey=ignore
HandleHibernateKey=ignore

systemd немного уникально в этом строка, начинающаяся с хэш-тега (#) не только комментарий, но также и представляет принятые меры по умолчанию.

К сожалению, у меня нет Вашей клавиатуры для тестирования этой конфигурации.

Примечание: После сохранения изменений или перезагрузка, чтобы активироваться или использовать:

sudo systemctl restart systemd-logind.service
3
ответ дан 23 November 2019 в 08:58

Попробуйте 'xev', чтобы узнать, читается ли событие (нажимают кнопку) Linux. Возможно, кнопка является прямым инициированием функции на системной плате?

С другой стороны, если у Вас есть код клавиши в xev, необходимо смочь повторно отобразить кнопку сна с чем-то другим. См.: Как я повторно отображаю определенные ключи или устройства?

2
ответ дан 23 November 2019 в 08:58

Не решение, а обходное решение, поскольку это отключает, приостанавливает.
Выполните эти два шага:

  1. Добавить HandleSuspendKey=ignore к [Login] раздел /etc/systemd/logind.conf.
    Если Вы включили уровень отладки в logind журналы Вы получаете записи в журнале как:

    ... systemd-logind[518]: Refusing operation, as it is turned off. 
    

    в журнале, но это все еще приостанавливает на некотором другом триггере.

  2. Добавить /etc/systemd/sleep.conf с:

    [Sleep]
    SuspendMode=false
    

    Теперь это все еще воздействует, приостанавливают нажатия клавиш, но сбои с:

    ...systemd-logind[518]: Failed to process message type=method_call  
    sender=:1.54 destination=:1.1 path=/org/freedesktop/login1  
    interface=org.freedesktop.login1.Manager member=Suspend cookie=26  
    reply_cookie=0 signature=b error-name=n/a error-message=n/a:  
    Sleep verb not supported in journal
    

Как сказано: это - грязное обходное решение, пока кто-то не может найти лучшее решение.

3
ответ дан 23 November 2019 в 08:58

Похоже, возможность настройки была удалена из последних версий gnome-settings-daemon в Ubuntu 18 и Ubuntu 20.

Быстрое и грязное решение — killall gsd-media-keys, который не позволит gnome обрабатывать все мультимедийные клавиши, включая переключатель крышки. Вам, вероятно, придется отредактировать /etc/systemd/logind.conf, чтобы убедиться, что logind обрабатывает ключи так, как вам нравится, и перезапустить службу logind или вашу систему.

Чтобы снова включить возможность настройки, необходимо внести небольшие изменения в plugins/gsd-media-keys-manager.c внутри исходного кода gnome-settings-daemon. . Эти изменения находятся в запросе на слияние по адресу https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/537. Вот как пересобрать gnome-settings-daemon с включенной конфигурацией. Вам нужно будет включить исходные репозитории в вашей системе управления пакетами.

$ mkdir ~/local-debs
$ cd ~/local-debs

# install build dependencies
$ sudo apt-get build-dep gnome-settings-daemon

# extract distribution package source
$ sudo apt-get source gnome-settings-daemon

# download the changes
$ wget https://siasky.net/CABb_suQRoRKqFo9zJ9YvGIqlLcpila1OFjUtI-f7uS5xQ/suspend-button-settings

# apply the changes.  `true` as an editor skips editing by making it always successful.
$ cd gnome-settings-daemon-*/
$ patch -p1 < ../suspend-button-settings
$ EDITOR=true dpkg-source --commit . suspend-button-settings ../suspend-button-settings

# build the package, skipping tests and signing
$ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -us -uc

# install the package
$ sudo dpkg -i ../*.deb

# reboot the system, relogin, or terminate and relaunch the `gsd-media-keys` process ...
# ... [do preferred choice] ...

# finally, disable the suspend button
$ gsettings set org.gnome.settings-daemon.plugins.power suspend-button-action "nothing"

# you can also set it to "interactive" instead of "nothing" to display a power popup
2
ответ дан 29 April 2020 в 08:45

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

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