2

I want to know, at what moment and by what means the gnome2 and gnome3 configuration daemons, gconfd-2 and dconf-service are started?

Examples of the possible means:

  • init scripts
  • Xsession.d scripts
  • .desktop files
  • dbus activation via .service file (in this case, who triggers their startup and how)

Documentation of dconf says, that dconf-service is started by dbus. Which process triggers its activation and when?

1

dconf-service is automatically started by the session daemon1 when needed, as per the same documentation page:

Users or administrators should never need to start the service, as it will 
be automatically started by dbus-daemon(1) whenever an application tries to
write settings.
Reading values from the dconf database does not involve the service;
it is only needed for writes.

The service file is /usr/share/dbus-1/services/ca.desrt.dconf.service. You can easily see that it's only started when an app tries to write settings if, after a fresh boot into gnome desktop, you open a terminal and run:

journalctl -f

now if you launch an app that tries to write settings, like gedit, the session daemon will report:

/usr/lib/gdm/gdm-x-session[504]: Activating service name='org.gnome.gedit'
/usr/lib/gdm/gdm-x-session[504]: Successfully activated service 'org.gnome.gedit'
/usr/lib/gdm/gdm-x-session[502]: Activating service name='ca.desrt.dconf'
/usr/lib/gdm/gdm-x-session[502]: Successfully activated service 'ca.desrt.dconf'

You could also monitor the service with:

gdbus monitor --session --dest=ca.desrt.dconf
Monitoring signals from all objects owned by ca.desrt.dconf
The name ca.desrt.dconf is owned by :1.45

and do something, e.g. gnome-shell - add some apps to Favorites, to see the details: object path, destination, signal (e.g. signal was Notify on ca.desrt.dconf.Writer interface) etc:

/ca/desrt/dconf/Writer/user: ca.desrt.dconf.Writer.Notify ('/org/gnome/shell/favorite-apps', [''], ':1.45:user:42')
/ca/desrt/dconf/Writer/user: ca.desrt.dconf.Writer.Notify ('/org/gnome/shell/favorite-apps', [''], ':1.45:user:43')
/ca/desrt/dconf/Writer/user: ca.desrt.dconf.Writer.Notify ('/org/gnome/shell/favorite-apps', [''], ':1.45:user:44')
/ca/desrt/dconf/Writer/user: ca.desrt.dconf.Writer.Notify ('/org/gnome/shell/favorite-apps', [''], ':1.45:user:45')

1. The per-session daemon is used for various interprocess communication among desktop applications.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.