Уже попробованный все решения от: Как я отключаю кнопку сна на своей клавиатуре?
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-инструментами:
В моем случае HP Hewlett Packard WZ972AA ABA Classic Keyboard:
Эта кнопка "Moon", все еще работающая.. Кто-либо другой идеи?
В дополнение к Параметрам питания 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
Попробуйте 'xev', чтобы узнать, читается ли событие (нажимают кнопку) Linux. Возможно, кнопка является прямым инициированием функции на системной плате?
С другой стороны, если у Вас есть код клавиши в xev
, необходимо смочь повторно отобразить кнопку сна с чем-то другим. См.: Как я повторно отображаю определенные ключи или устройства?
Не решение, а обходное решение, поскольку это отключает, приостанавливает.
Выполните эти два шага:
Добавить HandleSuspendKey=ignore
к [Login]
раздел /etc/systemd/logind.conf
.
Если Вы включили уровень отладки в logind
журналы Вы получаете записи в журнале как:
... systemd-logind[518]: Refusing operation, as it is turned off.
в журнале, но это все еще приостанавливает на некотором другом триггере.
Добавить /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
Как сказано: это - грязное обходное решение, пока кто-то не может найти лучшее решение.
Похоже, возможность настройки была удалена из последних версий 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