How To Integrate Google Calendar Into Gnome Shell

The most distinct feature in Gnome Shell is the Time/Date applet at the top center of the screen. When clicked, it will popup a window and show you the calendar and all your events. However, if you mostly use Google Calendar to manage your events and tasks, you won’t have much use for this time/date applet. What you can do is to integrate your Google Calendar into Gnome Shell so all your events/appointments/tasks show up in the time/date applet.

Here’s how you do so:

We will be using the gnome-shell-google-calendar script to fetch events from your Google Calendar.

1. Go to Gnome Shell Google Calendar github page and download the tar file.


2. Extract the file to your home folder. Rename the folder to gnome-shell-google-calendar.

3. Install the dependencies. Open a terminal and type:

4. Lastly, run the gnome-shell-google-calendar script.

It will prompt you to enter your Gmail address and password:


Once authenticated, it will import in your events/appointments/tasks from Google Calendar and display in the Gnome Shell time/date applet.



1. The script does not save your Google Calendar events locally. It merely grab the events and display it on your system. You will have to run the script everytime (you log in to your computer) to view the events. To set it to run everytime, go to Startup Application and add a new entry:


2. The script only allows you to view your Google Calendar events. It does not allows you to sync locally created events back to Google Calendar.


  1. I get the comment: cannot find the packet python-iso8601. So there I get stuck. Any clues?

    1. Me too! 

      1. I think I forgot to mention, python-iso8601 is only available for Ubuntu Oneiric

    2. python-iso8601 its just available for Ubuntu oneiric 10.11

  2. I get this error: root@maverick_HP:/home/jfc/gnome-shell-google-calendar# ./ 
    Traceback (most recent call last):
      File “./”, line 372, in
        email, password = keyring.get_credentials()
      File “/home/jfc/gnome-shell-google-calendar/”, line 34, in get_credentials
        item_id = get_item_id()
      File “/home/jfc/gnome-shell-google-calendar/”, line 24, in get_item_id
        results = gk.find_items_sync(gk.ITEM_GENERIC_SECRET, _attrs)

    1. Alternatively, copy the and file to your home folder.

      Run the file directly from the terminal.

  3. I’ve been noticing more articles on various web sites which do not state what ubuntu version(s) the subject of the article requires.  Or should I say what version contains the subject is its standard repositories.  Most articles also seem to assume the latest ubuntu without saying so.

    I suppose the good side to this us that it seems more new work is being done for Linux in general and for ubuntu distros.  So we are seeing more new software to write about.  :)

  4. if your system can’t fine python-iso-8601, you can use python’s easy install to get it:
    sudo easy_install iso8601

    more about this module:

  5. Couldn’t install python-iso8601 on Natty. Doesn’t it work under Natty?

  6. Okay….  Or you could just add your gmail calendar to evolution…  Just click the time/date at the top of gnome shell, and click open calendar…  Now just add your gmail calendar to evolution, and once you restart your appointments will all be on the gnome shell calendar…  much easier than what your suggesting to do.

    1. True enough, but that require the installation of Evolution. Perrsonally, I prefer Thunderbird than Evolution, but this is a great alternative too.

  7. i get crazy to install this and here are very importend informations:
    1. i need to set the permissions of the folder gnome-shell-google-calendar to chmod a+w
    2. my system missed the gtk2-engines-pixbuf, very importend for the error: gtk2 missing themeblablubbpeng3. don’t be logged in as root!btw….nice work Damien^^that is my troubleshoting and hope it helps someonecheers

  8. I just want to check how long this script is supposed to run for?

    1. It should run pretty quickly, not taking more than a few minutes.

  9. Worked like a charm. If I want to add calendar events, I just do it through the Provider extension in Thunderbird. When I have TBird closed, the new appointments still show up in my GNOME calendar. I would like to see better integration in the future, but this is a sweet workaround.

  10. thanks, dog.

  11. I keep getting: Logging in as ‘None’…
    Please choose the Account: 

    type my linux username

    and then 

    “Traceback (most recent call last):  File “./”, line 451, in     account = oauth.oauth_prompt()  File “/home/hayward/”, line 25, in oauth_prompt    email = accounts[int(raw_input(‘Please choose the Account: ‘))]ValueError: invalid literal for int() with base 10:” and my linux username

  12. this worked like a charm for me. Thank you kindly sir, your sharing is much appreciated.

  13. Hi. I keep getting an error when i try and run the gnome-shell-google-calendar script: 

    bash: ./ No such file or directory

    I’ve for sure named the folder correctly, I’m not sure why this is happening…

    1. Did you save it to your home folder?

  14. I get this error:

    gdata.client.RedirectError: Too many redirects from server: 302, Moved TemporarilyMoved TemporarilyThe document has moved here.

    1. I have this same exact problem

  15. i think you must setup your online accounts in gnome before using this script

  16. I can’t get it to run without launching it from the terminal.
    I made the auto start entry as explained yet still nothing until I manually launch it from the terminal.

Comments are closed.