ユーザーがLinuxプラットフォームでCDを挿入または削除したときに、イベントを検出または受信するためのクリーンな方法はありますか?
4468 次
3 に答える
3
Udevはハードウェアを監視し、イベントをdbusに転送します。必要なのはdbusリスナーだけです。dbus-monitorツールを使用した簡単なチェックは、私のシステムでこれを示しています。
dbus-monitor --system
signal sender=:1.15 -> dest=(null destination) serial=144 path=/org/freedesktop/UDisks; interface=org.freedesktop.UDisks; member=DeviceChanged
object path "/org/freedesktop/UDisks/devices/sr0"
これはUdisksからのDeviceChangedイベントであり、デバイスパスが含まれています。
したがって、dbusバインディングをサポートするプログラミング言語では、これらの(システムバス)イベントをリッスンできます。
于 2011-02-25T04:00:10.890 に答える
0
私が見つけることができた最良の方法はHalevtでした。Halevtは、HALを直接使用するよりも明らかに高レベルの抽象化です。XMLベースの構成ファイルを使用しますが、これはお好みである場合とそうでない場合があります。構成ファイルのプロパティのドキュメントがやや不足しています。サポートされているすべてのプロパティのリストは次のとおりです。
http://www.marcuscom.com/hal-spec/hal-spec.html
また、Halevtへのリンク:http ://www.nongnu.org/halevt/
于 2011-03-18T21:43:44.873 に答える