Evolution + GConf = Almost tragedy
I got a new laptop the other day, and I was like “Well, wouldn’t it be cool if I could sync up with my desktop?” After some research, I found the awesome Unison application which is perfect for what I wanted to do. So I included some symlinks to various app configuration directories like Gaim logs and Tomboy, and everything was wonderful.
And then I tried to do that to Evolution.
At first, everything was fine; I set up .evolution to symlink, and set .gconf/apps/evolution as well. And that’s when everything went to shit, because turns out GConf buffers its settings in memory (I knew this, but forgot about it at the time). That caused it to basically trash the GConf settings I had just written, then I proceded in an attempt to figure out what’s wrong to sync over my good GConf settings with the old ones. Oops. At this point, I’m freaking out, because I definitely don’t have time to rebuild all of this by grepping through XML text (and I use that term ‘text’ loosely, because it’s definitely not human readable).
Luckily, after reading through the configuration, I got a basic handle on how the XML is set up in Evo’s settings and was able to rebuild it and resync it to both machines. Moral of story: Don’t try to sync GConf; things get ugly really fast. I found a partial solution online you could try, you can force GConf to shut down, but I have no idea what happens if you do this in GNOME. Probably death (or gconfd gets restarted).