Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does anyone know of any calendar software/approach, so that I can use my calendar from both Mac OS X and from Linux?

I use both Mac OS X and Linux regularly, and I'd like to be able to both view and edit my calendar from both platforms. Does anyone know of any solutions?

I don't want to have to use a web browser to access my calendar. Also, I'm trying to avoid Google/Gmail. (Maybe there's a way to host a calendar in iCloud or MobileMe and use it from both Mac OS X and Linux? Or maybe some open-source program that I can compile on both Mac OS X and Linux, and that hosts the data on a server I administer? Or something? Any ideas, anyone?)

share|improve this question

The following solution is clumsy in that it uses discontinued software (Mozilla Sunbird), but works for dual boots, or any situation where both OSes have access to a common partition. The idea is to install Sunbird 0.9 (the last stable version) on both Mac OS X and Linux and have a common profile folder as is customary for Firefox and Thunderbird. The obvious thing to do would instead be to set up Thunderbird on both sides with a common profile folder and install Lightning. However, the Lightning plugin has a Mac and a Linux version, and is installed in the profile folder, so you would end up using the Mac version in Linux or vice versa, which doesn't work. There seem to be workarounds, but I haven't found any understandable one.

I think this solution is relatively safe: Sunbird is closely related to Lightning, so it should be easy to move to Lightning when it solves this issue or when you no longer need a shared profile folder.

In Mac OS X:

  • Install Sunbird 0.9, for example from this place.

  • Open and close Sunbird so that your computer realizes it's there and removes the application-downloaded-from-the-internet safety measure.

  • Open a terminal (Applications > Utilities > Terminal)

  • Type /Applications/ -p. This opens the Sunbird profile manager.

  • Click "Create Profile...", then "Next" to get past the info screen.

  • Give the profile a name of your choice.

  • Click "Choose Folder..." and pick a folder that is accessible for both OSes, say SharedPartition/SunbirdProfileFolder

  • Click "Finish". Select the new profile, and click "Start Sunbird" to make sure the new profile is set to default. You can quit Sunbird right away.

In Linux (Sunbird is probably no longer available from any software centers, so we will have to do it manually. I will follow this guide with a few tweaks based on my own experience):

  • Install the package libstdc++5, e.g. through a software center.

  • Change the name of the profile folder you created in OS X, say to SharedPartition/SunbirdProfileFolder_MovedAside. Create a new folder called SharedPartition/SunbirdProfileFolder

  • Download a tarball for Sunbird 0.9. Best search the web for "Download sunbird-0.9.en-US.linux-i686.tar.gz"

    • If you have a 64-bit processor, either look for a 64-bit tarball or install the package ia32-libs, e.g. through a software center.
  • Open a terminal. Every time, type the given command. When in doubt, use man theUsedCommand for more info on what you're doing.

    • sudo bash This gives you root permission (including the permission to mess up your system entirely).

    • cp -t /usr/lib ~/Downloads/sunbird-0.9.en-US.linux-i686.tar.gz (Replace ~/Downloads with the path to your download folder.) This copies the tarball to /usr/lib.

    • cd /usr/lib to go there yourself.

    • tar -xvf sunbird-0.9.en-US.linux-i686.tar.gz to unpack the tarball. A folder /usr/lib/sunbird is created.

    • chown -R root:root /usr/lib/sunbird/ to set the owner of this folder to root.

    • gedit /usr/bin/sunbird This opens a text editor showing an empty file. Paste

      cd /usr/lib/sunbird/

      Save and close.

    • chmod +x /usr/bin/sunbird Make the file executable.

    • gedit /usr/share/applications/sunbird.desktop This opens another empty file in a text editor. Paste

      [Desktop Entry]
      Comment=Calendar Application

      Save and close.

    • exit Ends root permissions. Close and reopen the terminal.

    • which sunbird This tells you where Sunbird is located. It should answer /usr/bin/sunbird

    • /usr/lib/sunbird/sunbird -P This launches the Sunbird profile manager.

      • Click "Create Profile...", then "Next" to get past the info screen.

      • Give the profile a name of your choice.

      • Click "Choose Folder..." and pick the original SharedPartition/SunbirdProfileFolder, not the renamed one.

      • Click "Finish". Select the new profile, and click "Start Sunbird" to make sure the new profile is set to default. You can quit Sunbird right away.

  • Erase the folder SharedPartition/SunbirdProfileFolder which now contains a new profile; rename SharedPartition/SunbirdProfileFolder_MovedAside to SharedPartition/SunbirdProfileFolder. You now have Sunbird on Mac OS X and Linux, sharing the same profile, including calendars, settings etc.

If you're on Ubuntu, you can go to /usr/share/applicatons in the file browser and drag the Sunbird icon into the launcher.

share|improve this answer

I assume that you don't refer to a dual boot Mac OS and Linux machine, where only one OS is running at a time. Sharing a calendar between different platforms means that you have to put the information on the network/internet.

For that you should have a look at the CalDAV standard, which is an extension of the WebDAV file sharing protocol. The Wikipedia article lists CalDAV server software (e.g. an Apache httpd module) as well as a couple of existing CalDAV services.

share|improve this answer
Right, two separate machines, not a dual-boot Mac OS/Linux machine. Thank you for the information, bhell! – D.W. Dec 6 '12 at 19:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.