Como o gconfd-2 e o dconf-service são iniciados no Gnome3 ou em outros ambientes de desktop baseados no gnome?

2

Eu quero saber, em que momento e por que meios os daemons de configuração gnome2 e gnome3, gconfd-2 e dconf-service são iniciados?

Exemplos dos possíveis meios:

  • scripts de inicialização
  • Xsession.d scripts
  • arquivos .desktop
  • Ativação do
  • dbus via arquivo .service (nesse caso, quem aciona a inicialização e como)

Documentação do dconf diz , que o dconf-service é iniciado pelo dbus. Qual processo aciona sua ativação e quando?

    
por Boris Burkov 03.08.2013 / 12:59

1 resposta

1

dconf-service é iniciado automaticamente pelo daemon de sessão 1 quando necessário, conforme a mesma página de documentação:

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.

O arquivo de serviço é /usr/share/dbus-1/services/ca.desrt.dconf.service . Você pode ver facilmente que isso só é iniciado quando um aplicativo tenta gravar configurações se, após uma nova inicialização na área de trabalho gnome, você abrir um terminal e executar:

journalctl -f

agora, se você iniciar um aplicativo que tenta gravar configurações, como gedit , o daemon de sessão relatará:

/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'

Você também pode monitorar o serviço com:

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

e fazer alguma coisa, por ex. gnome-shell - adicione alguns aplicativos para Favoritos , para ver os detalhes: caminho do objeto, destino, sinal (por exemplo, sinal 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. O daemon por sessão é usado para várias comunicações entre processos entre aplicativos de desktop.

    
por 02.05.2015 / 14:52