すでにすべてのソリューションを試しました: キーボードのスリープボタンを無効にするにはどうすればよいですか?
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-toolsで今持っています:
私の場合HP Hewlett Packard WZ972AA ABA Classic Keyboard:
この「月」ボタンはまだ機能しています。
Gnomeの電源設定に加えて、/etc/systemd/logind.conf
にあるsystemd
設定を設定できます。
私のラップトップは次のようになります。
$ 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
Linuxでイベント(ボタンを押す)が読み取られるかどうかを確認するには、「xev」を試してください。ボタンがメインボードの機能を直接トリガーしているのでしょうか?
一方、xev
にキーコードがある場合は、スリープボタンを他のもので再マッピングできるはずです。参照: 特定のキーまたはデバイスを再マップするにはどうすればよいですか?
解決策ではありませんが、一時停止を無効にするための回避策です。
次の2つの手順に従います。
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
前述のように、誰かがより良い解決策を見つけることができるまで、それは汚い回避策です。