Dbus’un nasıl çalıştığını anlamak için dbus-monitor ile uğraşıyorum. Ubuntu ortamı. Bu konuda birkaç sorum var:
-
Lütfen aşağıdakileri düzgün okumamı söyler misiniz? Büyük fikri anlıyorum, ama detayları değil.
signal sender=:1.1948 -> dest=(null destination) serial=1829990 path=/org/ayatana/menu/DA00003; interface=org.ayatana.dbusmenu; member=ItemPropertyUpdated int32 23 string "enabled" variant boolean true method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1399 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=GetCapabilities
İlkinin bir sinyal olduğunu anladım, ikincisi ise bir yöntem. hedef , bir sinyal için belirli bir alıcı / yuva olabileceği anlamına mı geliyor? Üyelik nedir? Ve sinyalden geçen argümanları izleyen listenin öğeleri nelerdir? Gönderen ve diziler nedir?
-
Ses denetimi ve bildirimler arasındaki ilişki hakkında bir şey fark ettim. Dbus monitör çıkışından okuduğum kadarı
method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1400 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify string "gnome-settings-daemon" uint32 0 string "notification-audio-volume-medium" string " " string "" array [ ] array [ dict entry( string "value" variant int32 38 ) dict entry( string "x-canonical-private-synchronous" variant string "volume" ) ] int32 -1
Bildirim, yöntemiyle tetikleniyor gibi görünüyor. Sadece neden bu şekilde çalıştığını anlamıyorum. Benim görüşüme göre, bildirim bu sinyali dinlerken ve buna göre tepki verirken, "bildirim-ses-ses-ortamı" şeklinde bir sinyal çıkması daha anlamlı olur. Gönderme / alma özel olmaktan ziyade halksa, daha fazla esnekliğe ve verimliliğe izin vermez miydi? Örneğin, "bildirim-ses-ses-ortamı" için bir genel sinyal varsa, bu sinyalleri dinleyebilir (rakip uygulamaların varlığına izin verir) ve geliştiriciler sadece bir sinyal alırken ve ele alırken sinyal gönderme ile ilgili olmak zorundadır, bildiren uygulamanın işi (veya bu sinyallere ihtiyaç duyan herhangi bir program) olacaktır.
-
Ben sadece Dbus için yeni ve daha fazla bilgi edinmek için bazı uygulama geliştirmek için, Python üzerinde Dbus ile çalışırken öğrenmek istiyorum. dbus-python öğreticisini gördüm ve tüm sinyallerin nasıl dinleneceğini öğretiyor (ne arabirim ne de yol belirterek, vb.) Ancak, dbus-monitor gibi, çağrıldıklarında yöntemleri nasıl izleyebiliriz?
Bunun nasıl çalıştığını öğretecek sabrınız varsa, rica ederim.