web-dev-qa-db-ja.com

udevはどのように入力デバイス変更通知をXorgに送信しますか?

Xorgの起動時に接続されている場合にのみグラフィックテーブルがアクティブになる理由をトラブルシューティングしたいと思います(再接続するとXorg.0.logのスパムで動作を停止します)。

私の知る限り、udevベースのホットプラグはXorgによって機能し、起動後もudevとの接続を維持します。

  • これの詳細はどこにありますか? Xorgがudevと連絡を取り合うメカニズムは何ですか?直接ソケット接続? D-Bus?
  • UdevとXorg間の接続が欠落している場合にudevまたはXorgログで確認するメッセージは何ですか?
  • Xorgによる入力デバイスの再列挙を手動でトリガーするにはどうすればよいですか?
2
Vi.

Libudevによって公開されたメカニズムを使用しています。

Xorgソースコードを掘り下げると、 dev.cudev_monitor_new_from_netlinkを呼び出していることがわかります。

次に、udevソースコードを調べると、 libudev-monitor.c で、この関数 最終的にはネットリンクソケットが作成されます であることがわかります。

ネットリンクソケットを「スニッフィング」する簡単な方法がわかりません。ただし、udevには、コンパイルして実行して同じイベントソースをサブスクライブし、詳細情報を表示できるサンプルコードがおそらくいくつかあります。

あなたの状況では、私はこれを試してみます:

  • 他の入力デバイスを切断/再接続できますか? (例:USBマウスまたはキーボード)
  • タブレットを切断/再接続すると、udevログに何が表示されますか?

ちなみに、Xログにはどのようなメッセージがスパムされているのでしょうか。

2
jpetazzo