Things you will need before we get started:
Thunderbird from Software Manager.
xul-ext-lightning from Software Manager.
A Google Account
Provider for Google Calendar - Thunderbird Extension
Once we have those things load up Thunderbird from your main menu. You'll be prompted to enter some basic information about the email address you want to set up. We'll enter a display name, our google account email@example.com, and the password we provided.
With Gmail, Thunderbird will find the settings automatically and start downloading your email as soon as you hit create an account. This will leave you with something that looks like this:
Now, I also need to add my school email address which is a little more difficult because it is an Outlook Exchange 2007 Server and Thunderbird can't quite figure out the settings by default. So first we need to add another account by going to Edit -> Account Settings. Go down to Account Actions toward the bottom left corner of this screen and click on "Add Mail Account."
You will now go through the same process of setting up the Gmail account, if it fails you will be asked to enter the correct ports and incoming POP3/IMAP and outgoing SMTP URLs and should see the screen below:
Now that both of my accounts have been set up, I need to get everything a little more organized. To sync the folders for my IMAP address, if they're not doing it already, right click on the name in the left window and select "Subscribe" and you should see your folders from your exchange server like so:
This will now filter your emails into the appropriate categories and restore your folders. You'll also have two separate listings for your email accounts so that your emails do not get mixed up.
Now, we need to set up Google Calendar. First we need to install the extension Provider for Google Calendar. To do this, download it and then go to Tools -> -> Add-Ons -> Install and then navigate to the file (or search for it in Get Add-Ons). Restart Thunderbird and go to Events and Tasks -> Calendar (or use the Thunderbird hotkey Shift+CTRL+C).
So this is the basic calendar, but now we need to add our Google Calendars from their website. Log in using your favorite browser and on the left side of the page you should see ~4 calendars listed by default. We'll use US Holidays as the sample, but you can set up as many calendars as you want. You just repeat this process for each calendar you want to add to Thunderbird.
Select the arrow to the right of US Holidays and then select Calendar Settings.
From here we want to click on the button "XML" and copy the address that pops up for the next part where we set up this Calendar.
Return to Thunderbird and right clicking on the bottom left window anywhere below "Calendar" and select New Calendar -> On the Network. Select Google Calendar and paste the link we copied from above into the location. Enter your Google account information and then pick a name and color for this calendar.
If you want to do this for your private calendar (firstname.lastname@example.org), just use the private XML file and Thunderbird will be able to post changes to it. They will appear on your Google calendar account and any device capable of receiving it such as a mobile phone.
Now all you have to do is test it. I tested it from my Droid X -> Thunderbird and Thunderbird -> Droid X just to make sure I could get calendar notices going both ways. It took probably 5-10 minutes for them to appear for me.