Coming from a Microsoft Windows Environment, what is the best way to sync one's calendar on Ubuntu / Thunderbird / Lightning?
The ExchangeCalendar/exchangecalendar plugin for Thunderbird seems to solve this problem gracefully. Here are some steps to get you going:
- Install the Lightning Plugin for Thunderbird.
- 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).
- In Thunderbird, click menu-->Add-ons
- Click the icon to install an add-on from a local file (fig 1 below).
- 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".
- Choose "On the network"
- Choose Microsoft Exchange.
- Choose a name for the calendar.
- 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.
- 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
Figure 2 -- Configure the Exchange Settings
Figure 3 -- After clicking "Check Server and Mailbox", the folder base input appears with a "Next" button
ExchangeCalendar did work - until TB60. :-(
Now I rely on TbSync, it does a decent job.
See the manual: https://github.com/jobisoft/TbSync/wiki/How-to-get-started
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!