だから、ウェブは本当に素晴らしいものです!多くの調査と多くのフォーラムリンクへの飛び込みの後で、私は問題をよりよく理解し、どのプログラムがそれの原因であるかを見つけ、最後に、この動作を完全に無効にすることができました。他の人が同じ問題に遭遇した場合に備えて、自分の手順を書き留めておきたいと思いました。
手順1.システムを監視して、キーボードのバックライトがオンになっているかどうかを確認します
最初に、ファイルを読み取ることにより、キーボードのバックライトの現在のステータスを確認できることを確認します/sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
。したがって、このファイルへの変更、および理想的には、どのプロセスが変更を呼び出したかを通知したいと考えています。
これはfanotifyを使用して行うことができます。マンページで提供されているサンプルプログラムを使用し、輝度ファイルへの変更を監視できるようにいくつかの変更*を追加しました。変更の原因となったプロセス/usr/lib/upower/upowerd
は、UPowerのデーモンプロセスであることがわかります。
ステップ2. UPowerがバックライトをオンにしている理由を確認する(失敗)
これは調査の最も曖昧な部分でしたが、なぜこれが起こるのかはまだわかりません。私は非常によく似た問題を抱えているが解決策のない人を見つけたので、このリンクを見つけたときに、UPowerを完全に無効にできるかどうか(そしてその結果はどうなるか)を確認し始めました。UPowerが構成ファイルを持っていることがわかりました!それは良いです。
ステップ3. UPowerがキーボードのバックライトをオンにしないようにする
最後に、前述のconfigファイルを編集し、次の行に/etc/dbus-1/system.d/org.freedesktop.UPower.conf
変更<allow>
し<deny>
ました。
<allow send_destination="org.freedesktop.UPower"
send_interface="org.freedesktop.UPower.KbdBacklight"/>
次に、sudo service dbus restart
(systemctl restart dbus.service
Ubuntu 16.04以降を使用して)dbusを再起動し、画面をロックして結果をテストしました...うまくいきました。まあ、そうです。ログイン画面が表示されないため、ログインできず、強制的に再起動する必要がありました。しかし、その後は すべてがうまくいきました!
以上です!私はまだこれを行う正しい方法が何であるか知りたいです。ご存知でしたらコメントを残してください!
*たとえば、サンプルプログラムは監視FAN_OPEN_PERM
とFAN_CLOSE_WRITE
イベントのみを行うように設定されていましたが、これはFAN_MODIFY
イベントでした。