X11スクリーンセーバー拡張クライアントライブラリを使用して、最後のユーザー入力からの時間を検出しようとしています。XScreenSaverQueryInfo
アイドル時間を取得するために定期的に電話をかけます。私が直面している問題は、この呼び出しで報告されているように、20〜30秒ごとにアイドル時間が0にリセットされることです。これは、その時間に実際のユーザー入力がなかった場合でも発生します。私はこれに完全に戸惑っています。私が持っている唯一のリードは、アンインストールすると問題がなくなるということgnome-screensaver
です。私の質問は、gnome-screensaver
何らかの理由でユーザー入力をシミュレートするのですか?私はそれがありそうもないように聞こえることを知っています、そしてもしそうなら、それは間違いなくのバグになるでしょうgnome-screensaver
、しかし私は今他に何も考えられません。gnome-screensaver
どのように機能し、それがどのように影響するかについての詳細情報をどこで見つけることができるか誰かが知っていますか?XScreenSaverQueryInfo
実際にコードを確認せずに呼び出します。gnome-screensaver
自宅で情報を確認しましたが、問題に関連するものが見つかりませんでした。
更新:dbus-monitorから次の出力を取得しました。これをどのように解釈しますか:
method call sender=:1.97538 -> dest=org.gnome.ScreenSaver serial=3 path=/org/gnome/ScreenSaver; interface=org.gnome.ScreenSaver; member=SimulateUserActivity
いくつかのプロセスがgnome-screensaverにSimulateUserActivityを要求していると思います。または、gnome-screensaverはSimulateUserActivityシグナルをdbusに送信していますか?それが最初の場合、どのプロセスがgnome-screensaverにそれを要求しているのかをどのように見つけることができますか?