Liane:
>> If this process makes you want to stick a fork in your eye, then
>> perhaps you understand why many people run gnome-cleanup and
>> forget about it. Though perhaps other people might have better
>> approaches or suggestions about how to debug such problems?
>
> Being able to understand what gconf keys are looked up when an
> application is launched might help. (I suspect that with a little
> effort, DTrace would help.) However, I'm not exactly sure whether
> that'd help when the problems are fairly global (e.g. *all*
> window title bars are effected), like mine usually are.
You can set the GCONF_DEBUG_TRACE_CLIENT environment variable to 1
and then if you run a command from a terminal, it will display
information about what keys the program accesses. This could help
track down the offending key. You might try killing the
gnome-settings-daemon and re-running it in a shell with this
environment variable set.
> Being able to get a list of where the user/app-specified changes
> vary from the system defaults would also help. Do you have a directory
> of gconf defaults I can just diff things against as a start?
> (Not that this doesn't have parallels in other parts of the system. ;) )
No, the GNOME community doesn't really keep a registry. The GConf
rules just say this to people, to try and encourage some stability:
* Config keys must be backward AND FORWARD compatible
* What this means is that if I log in from two places, using two
versions of an application, with the same gconf database, then
nothing should break.
* To allow applications to add new features, we do allow that if you
are logged in using two versions, you may need to configure "the
same" thing twice, once per version. Of course it's best to avoid
this.
But, bugs can slip through the cracks, as you can imagine.
Note the GNOME community is moving towards using D-Conf, so things
may change in the future. Though I don't think the D-Conf project has
any plans for ensuring key stability. I think their main plan is just
to make the configuration system use D-Bus as the IPC
(Inter-Process-Communication) mechanism, have better change notification
(so programs are notified when a configuration key used by multiple
programs is changed for example), and better performance.
http://live.gnome.org/dconf
> Combining the two in a single command would be powerful.
There are further debugging tips, including how to turn on debug
messages in GConf here:
http://www.gnome.org/projects/gconf/
This may also help.
Brian