GConf 2.24, DBus session e una punta di “headache”…

Sicuramente lo avrete notato tutti che GConf da Intrepid in poi ha iniziato a fare le bizze. Dico da Intrepid per fissare un arco temporale, ma in realtà è la versione 2.24 ad essere capricciosa, infatti sulla mia Debian Sid stesso problema:

Contatto col server di configurazione fallito; tra le possibili cause la necessità di abilitare il supporto a TCP/IP per ORBit o la presenza di un vecchio lock NFS a causa di un crash di sistema. Consultare http://www.gnome.org/projects/gconf/ per ulteriori informazioni (Dettagli – 1: Recupero delle connessione alla sessione fallito: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)

Il bug è alquanto fastidioso e si verifica quando si usa su per accedere a root e lanciare programmi quali gedit o update manager piuttosto che nautilus. Una soluzione è quella di fare il downgrade a GConf 2.22, a me non piace mai tornare indietro, un’ altra di usare sudo, ma ce lo vedete il “povero utente” a lanciare sudo update-manager perchè non si può fare uso della comoda applet sul pannello, oppure aspettare che gli sviluppatori risolvano il problema con un bugfix, campa cavallo, l’ ultima, la più complicata, cercare di individuare da soli il difetto di programmazione, buona fortuna!
Ebbene la mia buona stella si è fermata a metà dell’ opera, infatti,  dopo aver sbattuto la testa per non so quanto, sono riuscito ad individuare il problema e a proporre una soluzione, diciamo così, manuale. In attesa di quella “di sistema” è meglio che niente, e sicuramente ha comunque una ottima valenza didattica.  La svolta quando mi sono accorto che la sessione di cui parla il messaggio di errore si riferisce ad una DBus session, non a una Gnome session come avevo originariamente pensato, da qui a comprendere che la variabile d’ ambiente (environment variable) di DBus non era settata su GConf il passo non è stato granchè lungo. Così ho provato da root:
dbus-launch
export DBUS_SESSION_BUS_ADDRESS=...
gconftool-2 --spawn
tutto è andato provvisoriamente a posto. [singlepic id=813 w=320 h=240 float=center]
Dalla schermata potete vedere l’ output dei vari comandi: il primo fornisce l’ indirizzo della sessione DBUS, il PID e il WINDOWID, il secondo imposta manualmente la variabile d’ ambiente ottenuta, l’ ultimo provvede ad abilitare la possibilità di settare la variabile per GConf senza comunicare direttamente con il server.
Il problema adesso è trovare la giusta via per impostare il tutto in modo da eseguirlo automaticamente all’ avvio del pc. Chi mi aiuta?

Update 25/02/09

Il problema del lancio di applicazioni da root come gedit o nautilus con l’ uso di su l’ ho risolto semplicemente inserendo nel file /root/.bashrc la seguente istruzione: # eval `dbus-launch --auto-syntax` resta in sospeso il funzionamento di update manager da semplice utente.

3 pensieri su “GConf 2.24, DBus session e una punta di “headache”…”

  1. Mozilla Firefox 3.0.6 Ubuntu Linux

    Ciao, non sono proprio espertissimo in materia, e sicuramente sto per dirti una cavolata, ma provare non costa niente: hai provato a mettere l’elenco dei comandi che vorresti eseguire all’avvio (escluso il su) nel file /etc/rc.local??

  2. Mozilla Firefox 3.0.11 SuSE Linux

    Problema riscontrato anche su openSUSE (installata oggi)…grazie mille della guida, anche se devo evidentemente trovare l’equivalmente del file “/root/.bashrc”

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Connect with Facebook

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>