Sync iPhone in Linux [Ubuntu]
Share
Saturday, February 13th, 2010 |  #Tags: , , , ,

iPhone ubuntuiTunes lets you sync everything for iPhone on Windows and Mac. But Apple never talks about Linux/Ubuntu. Here’s a quick tutorial to enable you to sync iPod Touch, iPhone 2g, iPhone 3G, iPhone 3GS having latest firmware 3.1.2, 3.1.3 with your Linux box.

Just a brief on how this works: (Optional, you can ignore this if you are no geek)

This guide is How to Sync (both jailbroken & non-jailbroken) iPhone, iPod Touch on Ubuntu, and similar packages when installed on other Linux Flavors, works flawlessly.

Let’s get started:

Step 1. Add Repository:

sudo add-apt-repository ppa:pmcenery/ppa

and Update the Apt source list

sudo apt-get update

Step 2. Next, we install all the required packages:

sudo apt-get install gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-dev libgpod-common libiphone-utils libiphone0 python-iphone libplist++1 libplist-utils python-plist libusb-1.0-0 libusb-1.0-0-dev libusbmuxd1 usbmuxd

Step 3. Let’s Configure Fuse, our interfacing component.  Edit fuse.conf file

gksudo gedit /etc/fuse.conf

Change

#user_allow_other

to

user_allow_other

Save and exit.

Step 4. Next, We modify your user for Fuse so that it can Auto-mount iPhone/iPod Touch on every boot.

Navigate to “System” -> “Administration” -> “Users and Groups”, click on the little key at bottom to unlock it for making changes. Then, select your username (<fx> for me) and click on “Manage Groups”.

Lookout for “fuse” group, double-click  it. Tick the checkbox next to your name in the new popup window. Click on OK and close all dialogs. You’re now in the “fuse” group.

Step 5. Alright, now log out and in again (Reboot is always better)

When you are back into the session, mount the phone as:

$ ifuse /mnt/ipod/

We can also unmount using the following command

$ fusermount -u /mnt/ipod/

Step 6. Let’s prepare ipod itunes directory:

$ mkdir /mnt/ipod/iTunes_Control/Device/

Fetch your UUID (The first number, 40 characters long)

$ lsusb -v | grep -i iSerial

Then, run:

$ ipod-read-sysinfo-extended

[mountpoint here is /mnt/ipod/]

This should generate a file named iTunes_Control/Device/SysInfoExtended.

Make sure it’s not empty and should be a big plist (XML file) with a bunch of info.

$ fusermount -u /mnt/ipod/

Reboot.

Step 7. Hold your breath and Plug the iPod/iPhone, you should see it appear on the desktop and it should now be

  • Mounted as-is in Rhythmbox and you can add music files. (it can be slow)
  • Mounted in gtkpod but you’ll have to launch the “ifuse /mnt/ipod”.

*Rhyhmbox is unable to remove music files, use the gtkpod to remove files or add videos to the iPhone.

We write Latest and greatest in TechAppleiPhone, UbuntuOpen SourceProgramming and more @taranfx on Twitter and you can subscribe to us below:

Subscribe to Taranfx Share this post
Subscribe to Taranfx RSS Feed
Share

Related Stories

  • Oskar149
  • Great post! I documented my experience following this, there were a few issues, mostly covered in the comments: http://bit.ly/b8ohQV
  • David Mader
    It says this method works "when installed on other Linux flavors". What about OpenSUSE? I'm dying to be able to "access" my iPhone and it's been a huge pain with no success! Can you provide the steps to use on an OpenSUSE terminal?
  • imadgnr8
    How do I edit the Fuse file?
  • sandro
    I haven't understood usage of "ipod-read-sysinfo-extended"

    the prompt says: usage: ipod-read-sysinfo-extended <device|uuid|bus device> <mountpoint>

    I tried: ipod-read-sysinfo-extended 9fc91e227eff9859c00739e7674bc52a2adbaa0d /mnt/ipod

    but: Couldn't resolve Device directory path on /mnt/ipod

    what I'm doing wrong? I'm a novice...
  • amonkeyman
    I followed the steps, had to change lib-imobile... and chmod my /mnt/ipod to access it so I can now see my iPhone in gtkpod and rhythmbox but writing doesn't seem to work. Can someone document the steps for writing music to the phone?
  • fauna5
    python-iphone is missing from karmic
  • grododo
    I searched during some months ... before read your post !!!! Thanks a lot, it works great : iphone 3GS / os 3.1 / Ubuntu 9.1 !! Good job :)
  • psychoticegg
    Doesn't work for me. Using iPhone 3gs and Ubuntu 9.1. can't find libiphone-utils so replaces it with libimobile-utils. and ifuse /mnt/ipod/ says "ERROR: the mount point specified does not exist" nothing works from that point on.
  • loosinghope
    i have had the same problem on ubuntu 9.1 with iphone 3.1.2 This Dose Not Work
  • Tatiana
    just mkdir /mnt/ipod and then give the right permissions to write on it.
  • GTDave
    same problem here, error: the mount point specified does not exist, havent got a clue about what to do now?? need to get this music off my iphone to back it up as if i sync my iphone on windows I will lose it all.
  • C_kainz
    You guys are supposed to put the name of your ipod in place of "ipod"
  • Keith
    Awesome! Works a treat. If you add ipeth-utils, you can also use tethering via USB if your carrier allows.
  • didnt work for me. something about unmet dependencies, and it wouldnt install everything i wanted due to conflicts between libiphone and libimobiledevice. had to do a partial upgrade after i tried to install likeyou said in your how-to.
  • newbiie
    Hi, does this work with ubuntu 8.04 ? Hardy that is?
  • I've tested it on Karmic, Hardy should also work as is.
blog comments powered by Disqus
Taranfx Home
Hardware
Guides, How Tos
Programming
iPhone
Gadgets
High Definition
Networking
Taranfx Home
Hardware
Guides, How Tos
Programming
iPhone
Gadgets
High Definition
Networking