Feb 122009


I recently switched to using Gnome’s Evolution groupware client for email and calendar management.  Although I really like Mozilla’s Thunderbird interface better for email, Evolution offers connectivity to Microsoft’s Exchange server, while Thunderbird does not.   Plus, Evolution provides built-in calendar support, which is still in the works as a plug-in (SunBird) for Thunderbird, and again, no Exchange connectivity support.  😥

Well, I am learning to like Evolution.  It has some nice features, like various spam filters plug-ins (Bogofilter, SpamAssassin).  And, it generally works.  But, now the question arises, how do I migrate my Evolution settings and email data from one machine to another?  Unfortunately, it’s not a simple matter of copying a single directory with its contents.  But, the solution is not too bad…


Evolution’s data and settings live in 4 places:

  • $HOME/.evolution – email data (Inbox, Sent, etc.)
  • $HOME/.gconf/apps/evolution – your account settings
  • $HOME/.gnome2_private/Evolution – your passwords
  • $HOME/.camel_certs – SSL Certificates, if any

However, you should not just close Evolution and copy these directories.  Evolution uses a calendar server and a Gnome settings server, which may keep some of these files open.  Therefore, you must shut-down Evolution and the appropriate servers, and then archive the data, like so:

$ gconftool-2 --shutdown
$ evolution --force-shutdown
$ cd
$ tar -zcvf evolution-backup.tar.gz .evolution .gconf/apps/evolution .gnome2_private/Evolution .camel_certs

This creates a compressed archive file, which can be copied to another Linux box and unarchived, like so:

$ tar -zxvf evolution-backup.tar.gz -C ~/

Others have recommended shutting down the Evolution and Gnome settings servers on the new machine, before installing the new files.  Afterward, the servers can be restarted, like so:

$ gconftool-2 --shutdown
$ evolution --force-shutdown
$ tar -zxvf evolution-backup.tar.gz -C ~/
$ gconftool-2 --unload evolution_setting.xml
$ gconftool-2 --load evolution_setting.xml

I did not have to do this, but it may be useful.

After doing this, simply fire up Evolution, and you should be good to go!