Connecting iPhone to Linux

For anyone with an iPod Touch or iPhone, support on Linux has been somewhat limited until a few months ago. While it was possible to jailbreak your phone, this remains a sensitive and time consuming process. Fortunately, with the work on usbmuxd it is now possible to mount either one of these popular Apple devices on your favorite Linux distribution. There is still some configuration work necessary to piece everything together, but once it is running the support is relatively seamless.

As an Ubuntu user, I followed these directions with the exception of the step to read my iPhone device identifier. Since my iPhone directory had a sufficiently difficult name, it was easier to browse to that from a command prompt (~/.gvfs/[iPhone Name]) and issue the following:

sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68'
ipod-read-sysinfo-extended [id] ~/.gvfs/[iPhone Name]

Following a reboot, after plugging in the iPhone to the USB port the icons for both the camera and music device appeared on my desktop. Launching Rhythmbox displayed my music library with a device representing my iPhone. It was then possible to drag and drop music to the device, as well as remove existing songs and offload some audio clips.

Syncing iPhone on Ubuntu

Unlike iTunes, when working with media on my iPhone everything appears as a filesystem. While it’s not always possible to directly modify files, you can read anything off the device and Nautilus includes convenience buttons to launch native applications for writing music and photos.

Browsing the iPhone filesystem from Ubuntu.

When F-Spot opens for the photos you can view any of the pictures that have been taken on your device. There is native support for managing the iPod photo library as well, but you will need to run gtkpod and performance can be a little sluggish if you have a lot of pictures.

Keep in mind this project is still in development, so you may find this can supplement your iTunes synchronization process but is not quite ready yet as a full replacement. Sync operations can be slow, even after 2 hours with a Sync in Progress on my iPhone, it still needed another 15 minutes before the music library became available for playback on the device. There was very little feedback during this period, the standard sync screen disappears and the iPod application on the iPhone shows only that it is Syncing without any media visible in the library.

iPhone iPod

When everything completes, the selected music along with album art are available on the iPhone using the iPod program. There are some unsual nuances to the application; for example, ringtones appear in Rhythmbox alongside regular music. Be careful not to delete all of your music on the iPhone as this will also delete the other media on your device (videos, movies and ringtones).

Since we share a common music directory on my network, it is nice to have the library up-to-date automatically in Rhythmbox. On a Windows computer with iTunes, it is necessary to run a lengthy batch process to sync the music files with the filesystem. Even with the extra time for synchronization on Ubuntu, it still takes about the same amount of time to complete a transfer of around 100 songs.

The progress on native iPod Touch and iPhone synchronization now makes this a viable alternative for getting music onto your Apple device. It still would be nice if Apple could provide a native iTunes for Linux, there are a number of core hardware functions (eg: operating system upgrades) that still require iTunes on Windows or Mac. Overall, the current state of iPod support for the Touch and the iPhone is exemplary and can already provide Linux users with most of the function needed to synchronize their device with a music library, photos, videos and ringtones.