35

Coming from a Microsoft Windows Environment, what is the best way to sync one's calendar on Ubuntu / Thunderbird / Lightning?

Brett
  • 1,063

3 Answers3

56

The ExchangeCalendar/exchangecalendar plugin for Thunderbird seems to solve this problem gracefully. Here are some steps to get you going:

  1. Install the Lightning Plugin for Thunderbird.
  2. Download the ms-exchange calendar plugin from ExchangeCalendar/exchangecalendar. The *.xpi plugin may be inside a zip file. Save the file to your Downloads folder (or elsewhere).
  3. In Thunderbird, click menu-->Add-ons
  4. Click the icon to install an add-on from a local file (fig 1 below).
  5. Once the plugins are all installed and Thunderbird has re-started, open the calendar tab in Thunderbird. Right click in the calendars section and choose "new calendar".
  6. Choose "On the network"
  7. Choose Microsoft Exchange.
  8. Choose a name for the calendar.
  9. Now the tricky part. I could not get the autodiscovery feature to work, but if you enter the correct server url and username, you're good to go. For office 365, the url is: https://outlook.office365.com/ews/exchange.asmx. See figure 2 below.
  10. Click "Check Server and Mailbox". If you got the server and username right, the folder base input should appear With a Next button (figure 3). Click Next. Everything seems to work from this point. Good luck!

Figure 1 -- Install a the downloaded exchange plugin

Install the locally saved exchange add-on

Figure 2 -- Configure the Exchange Settings

Configure the exchange settings

Figure 3 -- After clicking "Check Server and Mailbox", the folder base input appears with a "Next" button

Correctly configured exchange server -- yay

Brett
  • 1,063
3

ExchangeCalendar did work - until TB60. :-(

Now I rely on TbSync, it does a decent job.

https://github.com/jobisoft/TbSync

See the manual: https://github.com/jobisoft/TbSync/wiki/How-to-get-started

0

I got this to work on Linux, and here's how I did it. On Windows the files are located in a different spot (Google will tell you where), but the overall method should still work with DropBox, SeaFile, or equivalent data-syncing services.

I use Thunderbird/Lightning as my email/calendar client on my main computer (Thinkpad W541, Ubuntu Unity, 16.04) and my travel Chromebook (Acer C720, Ubuntu XFCE, 16.04), and I wanted to regularly sync the calendar data between both machines. Suggestions online often mention Google Calendar, but I'd rather use open-source tools (that I control) to do the job. I use SeaFile (a FOSS DropBox equivalent) to sync folders & files between my machines.

Step 1: On my new Chromebook, I copy over my entire Thunderbird directory: rsync -zarv user@thinkpad:~/.thunderbird/ ~/.thunderbird/ Then, I install Thunderbird and open it: presto, all my accounts, old emails, and (most importantly) calendar events are accessible. Great!

Step 2: It looks like all relevant Thunderbird data are stored in ~/.thunderbird/blah.default/, with calendar data in ~/.thunderbird/blah.default/calendar-data/. On the Chromebook, I create a new calendar event, save it, and see that ~/.thunderbird/blah.default/calendar-data/local.sqlite has increased in size and has a newer "last-modified" timestamp. I conclude that local.sqlite contains all relevant calendar data.

Step 3: I close Thunderbird on both machines, then use SeaFile to sync the entire calander-data/ folder on both. I see that the newer filesize and timestamp have successfully synced on the Thinkpad. I open Thunderbird on the new machine, and there in the calendar is my new event. Success!

Drawbacks: The main drawback seems to be that if Thunderbird is open on both machines and either calendar is edited, syncing the calendar-data files sometimes causes the other machine's Thunderbird to crash. They just weren't built to handle that sort of I/O. But otherwise: it works great!