Mobile device syncing in Linux made easy

One common use for OpenSync, for instance, is to use a Google Calendar plugin on one side and an Evolution plugin on the other. This ensures that events added to your online Google Calendar are also added to your Evolution calender, and vice-versa.

But before we delve into the installation details, one word of warning. You must back up the data on your mobile device. There's a very high likelihood that something will go wrong at some point, and you don't want to be left with a mobile phone and no friends to call.

During the course of writing, our first synchronisation copied the empty contents from our Evolution calendar and contacts database to our Windows Mobile device, and in the process completely wiped all our personal data. You also need to ensure your Windows Mobile device is set to use RNDIS mode. Our device had this configured by default, but you can check it's turned on by enabling the 'Enhanced Network Functionality' check-box in the Start > Settings > Connections > USB settings page.

Step 2: Package installation

With the backup and mobile configuration out of the way, the next step is software installation. Despite Mandriva being a distinctly KDE-centric distribution, their are solutions for both Gnome and KDE.

There's currently no KDE 4 version of the main synchronisation GUI, and the data synchronisation will only work with KDE 3-era PIM applications. Mandriva even recommends the KDE 3 GUI, called KitchenSync, to both Gnome and KDE users, as it's more functional that its Gnome counterpart (Multisync).

In Mandriva, click on Install & Remove Software in Mandriva's launch menu. When the Software Management window opens, search for the task-wm5sync-gnome package and install it. The 'task' prefixes that Mandriva adds to some packages means that they're really meta packages, and will install a lot of other packages too.

KDE users should install task-wm5sync-kde, and users of both desktops should follow this by installing KitchenSync. This is the application that handles the translation of the data to your device. If you'd rather not install the glut of KDE 3 libraries that accompany KitchenSync, try Multisync instead.

Ubuntu users should open Synaptic and install syncesync-engine, synce-trayicon, synce-hal and either synce-kdm for KDE or synce-gdm and synce-gnomevfs for Gnome. The addition of the vfs package will mean you can browse the contents of your mobile device from the Nautilus file manager. There are no KitchenSync packages for the latest Ubuntu release, so you'll need to install the multisync package instead.

You also need to install each of the OpenSync components you're going to use. As we mentioned earlier, OpenSync is the porter for the synchronisation procedure, and the modules you install depends on which applications and devices you want to install. For example, only install opensync-pluginevolution if you use Evolution as your email client. Mandriva installs a basic selection by default, but we'd recommend the following (Mandriva packages are preceded by lib):
opensync-plugin-synce
opensync-plugin-file
opensync-plugin-evolution
opensync-plugin-sunbird
opensync-pluginkdepim
opensync-plugingooglecalendar

Additionally, you may want to install barry-opensync for Blackberry devices, opensync-plugin-palm for Palm or opensync-plugin-opie for Open Palm-based devices.

Step 3: Making contact

Now that everything is installed, it's just a matter of starting things in the right order. Mandriva users get things a little easier in this step. They just need to launch the toolbar applet for the desktop, and this should be lurking in the tools menu desktop.

Gnome's applet will appear as a small PDE icon in your toolbar, while KDE's looks like the green ActiveSync logo from Windows Mobile devices.

Ubuntu users will need to manually start the synce-sync-engine process before launching the graphical manager of choice – either synce-kdm or synce-gdm. Just type the corresponding command on the CLI. This step is handled automatically by Mandriva, and Ubuntu users should add the synce-sync-engine task to their session properties so that it's started with each boot.