On GNOME Shell, I want to use the Calendar and have it synced with my Google Calendar account, but I have Thunderbird on my computer. I have seen a couple of posts making Thunderbird default through the means of the terminal, but those changes did not effect the calendar on the desktop panel. I have used Evolution in the past, and i never really liked it, but will conform to it if necessary for the ease of having Google Calendar sync.

  • 1
    I, like you would rather use T-bird than Evolution, but for me I installed evolution and set up the Google calendar. Space is not a problem for me and installing evolution didn't mean much to me. I installed it but don't have to use it.
    – lqlarry
    Jan 12, 2012 at 5:30
  • Are you saying you just need to have Evolution installed on your system? I'm fine with doing just that, I just didn't want to have it have to be my default email client...
    – Jordan
    Jan 12, 2012 at 7:04
  • 1
    That's what I'm doing on Unity. I just restarted my computer and checked no mail and the calendar in the date and time shows all my appointments and holidays. The negative is if you click on an appointment it opens in Evolution.
    – lqlarry
    Jan 12, 2012 at 20:10
  • 3
    with gnome shell 3.8 no plugin/extension is required. Just go to setings > online accounts, add your google account and enable the calendar option, it's easy :)
    – agustibr
    Feb 26, 2014 at 15:02

6 Answers 6


You could try: https://github.com/vintitres/gnome-shell-google-calendar

Few steps are enough:

  1. Setup dependencies:

    sudo apt-get install python-gtk2 python-dbus python-gdata python-iso8601 python-gnomekeyring

  2. Download it from: https://github.com/vintitres/gnome-shell-google-calendar/zipball/master

  3. Extract it in any folder you like.

  4. Run gnome-shell-google-calendar.py:


  5. You should beforehand have a online account set up with Google (see: What are online accounts and how do they work?). You should get prompted with this text:

    A list of existing accounts is below. If you do not see a list of accounts, then you first need to add one. For more information, see http://library.gnome.org/users/gnome-help/stable/accounts.html

    0. yourname@gmail.com Please choose the Account:

  6. Enter the number of your account and the program will start to syncronize.

  7. If you don't want to run it manually everytime, you should add gnome-shell-google-calendar.py to startup applications (see this answer: How do I manage applications on startup in GNOME 3? , insert in the field "command" the path of gnome-shell-google-calendar.py ).


  • 1
    I noticed that it already seems to be integrated in Gnome (Ubuntu 16.04), all I had to do was step 5, so no download at all.
    – Jan M.
    Aug 30, 2017 at 8:54

No special software is necessary anymore. Just go to Settings->Online Accounts and add your Google account. Your Google Calendar will sync and events will appear in the GNOME Shell calendar widget.

According to a comment above, this has been available since 3.8. I did not initially see that comment, and started following the instructions in the top answer, then saw that the Calendar switch in the settings and realized that it was already working.


This Evolution Mirror extension for Thunderbird just worked perfectly for me and was very simple.

1) sudo apt-get install python-evolution python-gnome2

2) Run Evolution and go through the set-up dialog once. You can use fake credentials, doesn't matter. (I'm not sure why this is necessary but a comment on the add-on site recommends it.) Close Evolution.

3) Download the extension file from the website (I couldn't find it in Thunderbird's built-in add-on searcher for some reason).

4) Go to Tools -> Add-ons. Click the drop down next to search box and choose "Install Add-on From File". Select the .xpi extension file you just downloaded.

5) Restart Thunderbird. Your Thunderbird events should now be appearing in the gnome (shell) clock applet. If you already have Google calendar syncing with Thunderbird then at this point your Google calendar will be showing up in the gnome clock applet.

optional steps

6) Uninstall Evolution (but not python-evolution). Do not purge evolution.

7) If you run gsettings set org.gnome.desktop.default-applications.office.calendar exec thunderbird then Thunderbird will open when you click "Open Calendar" in the clock applet.

  • Doesn't work in 13.04. Let's hope support for Gnome 3.6 will be added.
    – krlmlr
    May 16, 2013 at 14:05

Ok, as I understand, what you need is to show your Thunderbird events in the top panel calendar in Gnome-Shell. So, I presume, the second part, i.e. syncing your Thunderbird calendar to Google is solved for you somehow.

For this you may want to do the following (it is really easy and takes about 5 minutes to do the whole thing):

1) Install evolution and python-evolution (we are going to remove the Evolution later on):

sudo apt-get install evolution python-evolution

2) Open Thunderbird, go to File>New>Calendar, in the open dialog:

  • Select On the Network
  • Leave iCalendar option selected and enter a location for the calendar your are creating somewhere in your home dir (it is prefferable NOT to use any .something folders, so that you will not accidentally delete it when you, for example, reinstall your system, so keep it in a safe place)
    • The path should look something like this: file:///home/Jordan/MyCalendar/jordan.ics
  • Then name it something like Jordan's Calendar, and choose the other options as you like

3) Now open Evolution, go to File>New>Calendar (we are NOT going to create another calendar here, but rather just link the Thunderbird calendar we just created to Evolution so that it will be shown up in the Gnome-Shell panel):

  • Choose Type = On This Computer
  • Name it (it does not have to have the same name as in Thunderbird, but for your convinience you may want to give it the same name as in Thunderbird, i.e. Jordan's Calendar)
  • Choose color
  • Check Mark as default calendar
  • Check Customize options:
    • Open the File name dialog and select the same calendar file you created in Thunderbird (i.e. in our example go to /home/Jordan/MyCalendar/jordan.ics)
    • (!) Choose Refresh = On file change
  • Now you can Apply, and your Jordan's Calendar in Evolution will be synced to Thunderbird's one.
  • You may also want to uncheck all OTHER calendars in Evolution, but leave the one you just created checked.

4) Now we are going to check how it works (it should already work for you!). Keep your Evolution open and open Thunderbird as well. Create a today's event in the newly created calendar in Thunderbird... within couple seconds it should immediately appear in Evolution and in the top panel under Today. Now in Thunderbird move (drag'n'drop) it to tomorrow... In you Evolution the event should be immediately moved to tomorrow, and the top panel calendar in Gnome-Shell now shows it under Tomorrow. So, it should work by now.

5) (Optional) You may want to remove Evolution from your system, but there are two things you should leave: Evolution settings and python-evolution. To remove Evolution and keep your settings intact you use

sudo apt-get remove evolution && sudo apt-get autoremove

but NOT apt-get purge evolution! As for python-evolution, it is used by gnome-shell anyway, so just do not remove it.

Now, you may use Thunderbird with the newly created calendar which is automatically and immediately being sync to the top panel calendar.

Just make sure that you have moved all your old calendar events to the new one (export/import), or have it synced to Google Calendar.


Since Evolution Mirror is broken you can use EDS Calendar Integration. It's a Thunderbird addon. It syncs calendar with Thunderbird.


here are a few solution



  • 3
    Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. Jan 12, 2012 at 3:14
  • 1
    I have read through the posts and comments and they appear to require evolution.
    – Jordan
    Jan 12, 2012 at 4:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .