How to synchronize your calendar on
korganizer) with your
Thanks to Google Calendar, you can have access to your calendar at any time, from any machine, and from any OS. Some mobile phones even support this function. Quite handy isn't it?
Now, under KDE, you might feel more comfortable using Kontact since you can centralize various email accounts, address books, and calendars. So, here is the big one: how do you synchronize your calendar on
kontact with your
Actually, it's possible! You have to install GCALDaemon.
GCALDaemon is a java application that can be used to synchronize the google calendar with plenty of other applications, and it does work with
Kontact. It can even do more, such as synchronize address books, RSS readers, and so on, but I'll focus on the calendar part.
To start with, create your account at Google Calendar and make sure it works.
Download the latest version of
GCALDaemon at SourceForge, open a terminal (Figure 1), and log-in as administrator (
root). Move into the
/usr/local/sbin folder and decompress the archive you downloaded
Here comes a small problem: you need to be able to run the application as a user. Usually, all users are members of the
users group. If not, replace
users by the name of your group in the lines below. They will allow you to run the program as a user:
We are done with configuration in administrator mode.
chgrp -R users /usr/local/sbin/GCALDaemon
chmod -R g+w /usr/local/sbin/GCALDaemon
chmod 755 /usr/local/sbin/GCALDaemon/bin/*.sh
Open up a new terminal and test your permissions
Figure 2). Then, copy the private URL of your calendar from the setting interface in google (Figure 3). We are now going to edit the configuration for
To do so, go into
GCALDaemon configuration folder and open the corresponding file:
In this file, change the following lines
kwrite gcal-daemon.cfg &
since we do not need this function. Moreover, it would have some form of a web server server running: this adds security threat. Also, change the lines corresponding to the calendar:
That's it! The file
# Enable iCalendar file listener/synchronizer
# Full path of the local iCalendar file
# Gmail user (your full email address)
# Gmail password (use password encoder!)
file.google.password=WHAT YOU COPIED ABOVE
# URL (without hostname) of the Google Calendar's private ical file
file.private.ical.url=/calendar/ical/XXXXXX/basic.ics (THE ADDRESS YOU COPIED ABOVE? WITHOUT THE HOSTNAME)
# Local iCalendar file polling interval (recommended is "10 sec")
# Google Calendar polling interval (recommended is "10 min")
# Turn it on when you use dial-up connection (default is "true")
/usr/local/sbin/GCALDaemon/google.icswill be synchronised with your calendar at Google.
To start the synchronisation, run the following command:
You now should add a new agenda in
kontact. Move your mouse to the list of agendas in koncat (Figure 4) and, using the right-click menu, select
Add. Choose the location of the file that is synchronized with google (
/usr/local/sbin/GCALDaemon/google.ics if you followed the instructions above), and give it a name.
All changes saved from kontact will be uploaded to your google account. Similarly, all changes on your google account will be transmitted to kontact, every 15 minutes or so. Do not forget to SAVE your agenda in kontact! Nothing will happen otherwise.
Finally, you probably want the sync to start every time you log into KDE. To do so, you should use the
Autostart function. As a user, do the following
kwriteand make the new file executable
That's it, your sync will be started every time you log into KDE.
chmod a+x googleCal.sh
All right, it was a bit long, but I believe it was worth it!