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.

gnome-shell-google-cal-github

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:

gnome-shell-google-cal-login

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

gnome-shell-google-cal-display

Note:

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:

gnome-shell-google-cal-startup

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.

24 comments

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

    • Alternatively, copy the gnome-shell-google-calendar.py and keyring.py file to your home folder.

      Run the file gnome-shell-google-calendar.py directly from the terminal.

  2. 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.  :)

  3. 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: http://code.google.com/p/pyiso8601/wiki/Overview

  4. 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.

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

  5. 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

  6. 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.

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

    type my linux username

    and then 

    “Traceback (most recent call last):  File “./gnome-shell-google-calendar.py”, line 451, in     account = oauth.oauth_prompt()  File “/home/hayward/oauth.py”, 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

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

    bash: ./gnome-shell-googl-calendar.py: No such file or directory

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

  9. I get this error:

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

  10. 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.

Sponsored Stories