Portál AbcLinuxu, 14. května 2024 02:19


Dotaz: Laik & komplikovanější dbus-send signály. Python-API? Něco jiného? Syntaxe.

28.8.2012 19:46 JanM | skóre: 28
Laik & komplikovanější dbus-send signály. Python-API? Něco jiného? Syntaxe.
Přečteno: 236×
Odpovědět | Admin
Dobrý podvečer,

plán: skript, který donutí gnome-fallback-mount-helper, aby zobrazil seznam akcí "co dělat s připojeným DVD/USB/atd.". Ten helper zareaguje pouze při vložení zařízení, rád bych však jeho dialogové okno viděl znovu, aniž by bylo nutné zařízení odpojit a znovu připojit.

Doufám, že helper (autorun) se o novém zařízení dozví přes D-Bus - ať už přímo či nepřímo přes jinou službu Gnome - a tedy při troše štěstí by mohlo stačit poslat do éteru ten správný signál o nově připojeném zařízení.

Používám Xfce4, Arch linux.

Z dbus-monitor jsem krom jiného odchytil:
signal sender=:1.14 -> dest=(null destination) serial=63 path=/org/gtk/Private/RemoteVolumeMonitor; interface=org.gtk.Private.RemoteVolumeMonitor; member=MountAdded
   string "org.gtk.Private.UDisks2VolumeMonitor"
   string "0x21cf1c0"
   struct {
      string "0x21cf1c0"
      string "ZIGBY_HONBA_ZA_POKLADEM"
      string ". GThemedIcon media-optical-dvd-rom media-optical-dvd media-optical media"
      string ""
      string "file:///run/media/mu/ZIGBY_HONBA_ZA_POKLADEM"
      boolean true
      string "0x2184a50"
      array [
         string "x-content/video-dvd"
      ]
      string "gvfs.time_detected_usec.1346133729330766"
      array [
      ]
   }
Protože "umím" jen tak trochu bash, hledal jsem nějaký CLI prográmek, který by ten signál poslal. Bohužel dbus-send neumí "struct" ani vnořené (nested) věci a nic lepšího jsem nenašel.

Takže to vypadá na Python-API k D-Bus. Jenže syntaxe uvedená např. zde je pro mne trochu nejasná a hlavně netuším, jak přepsat výše tučně uvedené do formy parametrů funkce org.gtk.Private.RemoteVolumeMonitor.MountAdded(zpráva)...

Poradíte někdo? (AKA: napíšete syntaxi té zprávy?)

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.8.2012 20:15 chrono
Rozbalit Rozbalit vše Re: Laik & komplikovanější dbus-send signály. Python-API? Něco jiného? Syntaxe.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten plugin na zisťovanie tých informácií využíva Glib (a Glib takmer určite nepoužíva D-Bus). Ak by to ale D-Bus používalo, aj tak by sa tá správa nedala poslať, pretože to rozhranie je už obsadené UDisks démonom.

Mimochodom, nevytvorí sa pri pripojení ikona s tým zariadením a nemá potom v menu všetky tie položky?
28.8.2012 20:33 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Laik & komplikovanější dbus-send signály. Python-API? Něco jiného? Syntaxe.
Hm, takže jsem objevitelem slepých uliček...

xfdesktop to právě neumí - ikona tam je, ale mohu ji "otevřít" tak akorát v Thunaru. Tam už by se teoreticky daly nadefinovat akce pro "directory", ale to je z pohledu uživatele jak drbání levou rukou na pravém uchu.

Zkoušel jsem hledat jiné "lehké" správce plochy, ale nezdá se, že to je cesta kupředu. Gnome2 to tuším umělo, tak v nejhorším bych skončil u jeho forku Mate nebo "ekvivalentu" Cinnamon. Jenže to je dost práce a vizuální změna prostředí, to uživatelé nemají moc rádi...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.