web-dev-qa-db-ja.com

ロック画面/ディスプレイをオンにすると、キーボードのバックライトがオンになります

Ubuntu(15.04から15.10)をアップグレードしたばかりで、画面がロックされるたびに(Ctrl + Alt + L、Win + Lのいずれかを使用するか、タスクバーの[ロック]をクリックするだけで)奇妙な動作に陥ります。メニュー)、キーボードのバックライトは常にオフのままですが、オンになります。

私はこれをどこから調査し始めるのか分かりません。 Ubuntu 15.04では発生しませんでしたし、他の人がこれに遭遇したとは思えません。

私のラップトップは、Dell Inspironです。

更新:この問題は、ディスプレイがオンになるたびに発生することが後でわかりました。これは、 バグ 。したがって、これらは関連するイベントですが、実際の原因は画面がオンになることです。

9
dsetton

だから、ウェブは本当に素晴らしいものです!多くの調査と多くのフォーラムリンクを調べた後、問題をよりよく理解し、どのプログラムが原因であるかを見つけ、最後にこの動作を無効にしました。他の人が同じ問題に遭遇した場合に備えて、自分の手順を書き留めると思いました。

手順1.システムを監視して、キーボードのバックライトがオンになっているかどうかを確認します

まず、ファイル/sys/devices/platform/Dell-laptop/leds/Dell\:\:kbd_backlight/brightnessを読み取ることで、キーボードのバックライトの現在のステータスを確認できることを知る必要があります。したがって、このファイルへの変更、および理想的にはどのプロセスが変更を呼び出したかについて通知を受け取りたいと思います。

これは fanotify を使用して実行できます。 サンプルプログラム を使用しました。これはマニュアルページで提供されており、輝度ファイルへの変更を監視できるように、いくつかの変更を加えました*変更の原因となったプロセスは/usr/lib/upower/upowerdでしたが、これは Power のデーモンプロセスです。

ステップ2. UPowerがバックライトをオンにする(失敗する)理由を調べる

これは調査の中で最も曖昧な部分でしたが、なぜこれが起こるのかわかりません。 very同様の問題 の人を見つけましたが、解決策がないため、UPowerを完全に無効にできるかどうかを確認し始めました(そして、結果は)私が見つけたとき このリンク 。 UPowerには設定ファイルがあります!それは良いです。

ステップ3. UPowerがキーボードのバックライトをオンにするのを停止します

最後に、/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(Ubuntu 16.04以降ではsystemctl restart dbus.serviceを使用)でdbusを再起動し、結果をテストするために画面をロックしました...まあ、ちょっと。ログイン画面が表示されないため、再度ログインできず、強制的に再起動する必要がありました。しかし、thenすべてがうまくいきました!

以上です!私はまだこれを行うためのright方法がどうなるか興味があります。知っているなら、コメントを残してください!

*たとえば、サンプルプログラムはFAN_OPEN_PERMおよびFAN_CLOSE_WRITEイベントのみを監視するように設定されていましたが、これはFAN_MODIFYイベントでした。

13
dsetton