ConsoleKit and esound retirement

Bastien Nocera bnocera at redhat.com
Fri Feb 15 07:13:32 UTC 2013


On Thu, 2013-02-14 at 20:39 +0100, Michael Schwendt wrote:
> On Thu, 14 Feb 2013 13:28:57 +0100, Bastien Nocera wrote:
> 
> > On Thu, 2013-02-14 at 10:53 +0100, Michael Schwendt wrote:
> > > On Thu, 14 Feb 2013 03:49:23 +0100, Kevin Kofler wrote:
> > > 
> > > > DJ Delorie wrote:
> > > > > Disadvantage, if you ask me.  First thing audacious did was spew
> > > > > random errors to the screen and change my Firefox and emacs cursors.
> > > > 
> > > > So I suspect that Audacious started gnome-settings-daemon.
> > > 
> > > It doesn't do that when I use OpenBox instead of GNOME, so OpenBox
> > > does not auto-spawn g-s-d.
> > > 
> > > However, one of its plug-ins talks to DBus (org.gnome.SettingsDaemon)
> > > for GNOME media player keyboard shortcuts. That plug-in is enabled by
> > > default and by request, and anyone not running a compatible environment
> > > can easily switch it off in the preferences.
> > 
> > Or you could fix the plugin to not auto-start the daemon so we don't get
> > blamed for Audacious bugs...
> 
> Could you tell me a test environment where auto-starting the daemon is
> reproducible? Then I might take a look at trying to avoid it.

It should be auto-started when your app pokes at the not-yet-spawned
well-known D-Bus name.

> As pointed out above, with Openbox the daemon is not started automatically
> when starting Audacious. I'm stuck there. The puzzle is incomplete.

Is there a session D-Bus running in your session? I don't know how it
could not start.

> The implementation of the plugin looks dubious in the bottom half of
> gnome_remote_init() -- I dunno why it does the 2nd dbus_g_proxy_call --
>  https://github.com/audacious-media-player/audacious-plugins/blob/master/src/gnomeshortcuts/gnomeshortcuts.c
> but other than that the only thing I could think of is dbus system
> activation as there's nothing else that would start the daemon automatically.

You make a call to GrabMediaPlayerKeys() on a well-known D-Bus name that
isn't spawned. D-Bus will gladly allow you to make the call and spawn
the service for you.

You should use dbus_g_proxy_new_for_name_owner() instead, which will
round-trip and check whether the service exists. Hopefully it should
stop it from auto-spawning.

GDBus has the separate and more practical
G_DBUS_CALL_FLAGS_NO_AUTO_START flag to be used.

Cheers



More information about the devel mailing list