Perl programmer for hire: download my resume (PDF).
John Bokma's Hacking & Hiking

Migrating Thunderbird from Linux to OS X

August 26, 2016

Because Parallels Desktop has become practically ransomware; pay or you can't access your virtual machines anymore after a grace period of 6 days, I have some migration to do. To be honest, I have been thinking about this for quite some time, leaving Parallels behind. I bought a Mac mini and working most of the time in Ubuntu running in a virtual machine seems dishonest, and a waste of money.

I had already installed Mac Ports earlier this week, and did the first install using the Mac Ports port command: git. Can't code without it.

And next on my list to migrate is Thunderbird, an email client which I have been using for many years. Still not switched to Emacs for this, if ever.

Installing Thunderbird for OS X

I downloaded the latest version of Thunderbird and installed the program using drag & drop, which reminded me, again, of the good old RISC OS days. Until one sees it's 187 MB that's being dropped into the Applications folder, not 187 KB, that is.

In order to have Thunderbird create a default profile I opened the email application. I was asked if I am sure to open it. I activated the "Open" button and another dialogue popped up; "Thunderbird.app" would like to access your contacts. I decided to not allow this, for now.

Thunderbird showed a dialog; "Use Thunbderbird as the default client for:". This dialogue window had a blank button to the right of "Skip Integration". However, activating the window and hovering over the blank button showed its label, "Set as Default", which I activated hence accepting the defaults.

Next, the "Would you like a new email address?" dialog showed up. I activated the "I think I'll configure my account later." button and exited Thunderbird. A profile directory should now be available.

Migrating profile using rsync

As expected, Thunderbird creates a directory under Library for its settings and profiles:

john$ ls ~/Library/Thunderbird/
Crash Reports	Profiles	profiles.ini
john$ ls ~/Library/Thunderbird/Profiles/
jt1wxigb.default

I decided to use rsync to transfer my profile on the virtual machine running Ubuntu 15.10 to OS X. Note that the directory structure on Ubuntu is slightly different:

john@ecce:~$ ls  ~/.thunderbird/
Crash Reports  l4mqu5iv.default  profiles.ini

I used the following rsync command:

rsync -avh john@ecce.lan:.thunderbird/l4mqu5iv.default/ \
      ~/Library/Thunderbird/Profiles/jt1wxigb.default/

After rsync was done I restarted Thunderbird. And lo and behold, it just works. Except for the Enigmail extension complaining it can't locate the GnuPG executable. So, let's install this using Mac Ports.

Installing GnuPG using Mac Ports

First I ran sudo port upgrade outdated which reported that there was nothing to update. Next I searched for gnupg2 which reported two results:

john$ port search gnupg2
gnupg2 @2.0.30 (mail, security)
    GNU Privacy Guard version 2.0

gnupg21 @2.1.15 (mail, security)
    GNU Privacy Guard version 2.1

Found 2 ports.

I decided to install the 2.1 version of GNU Privacy Guard:

sudo port -v install gnupg21

And copied over my files from Ubuntu as follows:

rsync -avh john@ecce.lan:.gnupg/ ~/.gnupg/

Running gpg2 --list-keys showed all keys; succes!

Next, I ran the Enigmail Setup Wizard; the dialog was still open in Thunderbird. I browsed to the location of gpg2 which is /opt/local/bin and activated the "Continue" button. The default key in the next step was correct, so I activated "Continue" once more. I was greeted with "Enigmail is now ready to use" and activated the "Done" button.

I tried to read an encrypted email. And after I entered my pass phrase I could read the actual email. And sending a test email worked as well; flawlessy.

My only nitpick is that the dock icon default shows the number of unread messages. Selecting the "App Icon Options..." in the dock icon menu opens settings which allows one to change the badge to "Count of new messages". To me a more sensible option.

The whole migration went much easier than expected, and of course made me wonder why I hadn't done this months ago.