Sync iPhone in Linux [Ubuntu]

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:

VN:F [1.9.22_1171]
Rating: 7.0/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Sync iPhone in Linux [Ubuntu], 7.0 out of 10 based on 3 ratings

Filed in: iPhone, Ubuntu Tags: , , , ,

Related Posts

Bookmark and Promote!

  • newbiie

    Hi, does this work with ubuntu 8.04 ? Hardy that is?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • http://www.taranfx.com Taranfx

      I've tested it on Karmic, Hardy should also work as is.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  • Keith

    Awesome! Works a treat. If you add ipeth-utils, you can also use tethering via USB if your carrier allows.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Pingback: Ubuntu 10.04 Lucid Lynx Beta [UI, Video]

  • 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.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • 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.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
      • C_kainz

        You guys are supposed to put the name of your ipod in place of “ipod”

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.22_1171]
        Rating: 0 (from 0 votes)
    • loosinghope

      i have had the same problem on ubuntu 9.1 with iphone 3.1.2 This Dose Not Work

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
      • Tatiana

        just mkdir /mnt/ipod and then give the right permissions to write on it.

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.22_1171]
        Rating: 0 (from 0 votes)
  • 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 :)

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • fauna5

    python-iphone is missing from karmic

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Pingback: Ubuntu 10.04 Lucid Lynx is here [Features]

  • 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?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • 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…

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • imadgnr8

    How do I edit the Fuse file?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • 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?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • http://twitter.com/jhemminger jhemminger

    Great post! I documented my experience following this, there were a few issues, mostly covered in the comments: http://bit.ly/b8ohQV

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Oskar149

    https://sourceforge.net/projects/becia/
    this is best way.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Anonymous

    Does not work in Ubuntu 9.10…

    me@Desktop:~$ sudo apt-get install ifuse
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    You might want to run `apt-get -f install’ to correct these:
    The following packages have unmet dependencies:
    ifuse: Depends: libusbmuxd1 but it is not going to be installed
    libimobiledevice0: Depends: libusbmuxd1 but it is not going to be installed
    E: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution).
    me@Desktop:~$ sudo apt-get -f install
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Correcting dependencies… Done
    The following packages were automatically installed and are no longer required:
    libplist0 libksane0 vorbis-tools libdiscid0 gtkpod id3v2
    xmms2-plugin-musepack xmms2-plugin-avcodec xmms2-plugin-pulse
    xmms2-plugin-mpg123 xmms2-plugin-karaoke xmms2-plugin-vocoder
    xmms2-plugin-cdda xmms2-plugin-alsa xmms2-plugin-daap xmms2-plugin-apefile
    xmms2-plugin-id3v2 xmms2-plugin-ao libusbmux0 python-mutagen
    xmms2-plugin-airplay xmms2-plugin-faad xmms2-plugin-m3u xmms2-plugin-asf
    xmms2-plugin-asx xmms2-plugin-cue xmms2-plugin-flv media-player-info
    xmms2-plugin-gme xmms2-plugin-wavpack xmms2-plugin-curl xmms2-plugin-mad
    sshfs xmms2-plugin-mp4 xmms2-plugin-flac xmms2-plugin-ofa xmms2-plugin-mms
    xmms2-core xmms2-plugin-normalize xmms2-plugin-pls xmms2-plugin-oss
    xmms2-plugin-sid xmms2-plugin-speex xmms2-plugin-smb libmpg123-0
    xmms2-plugin-rss xmms2-plugin-ices xmms2-plugin-modplug xmms2-plugin-tta
    xmms2-plugin-jack xmms2-plugin-vorbis gtkpod-data xmms2-plugin-xml
    xmms2-plugin-xspf libid3-3.8.3c2a xmms2-plugin-html xmms2-plugin-icymetaint
    Use ‘apt-get autoremove’ to remove them.
    The following extra packages will be installed:
    libusbmuxd1
    The following NEW packages will be installed:
    libusbmuxd1
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    4 not fully installed or removed.
    Need to get 0B/10.8kB of archives.
    After this operation, 69.6kB of additional disk space will be used.
    Do you want to continue [Y/n]? y
    (Reading database … 369680 files and directories currently installed.)
    Unpacking libusbmuxd1 (from …/libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb) …
    dpkg: error processing /var/cache/apt/archives/libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb (–unpack):
    trying to overwrite ‘/usr/lib/libusbmuxd.so.1.0.0′, which is also in package libusbmux0 0:1.0.0-rc1-1ubuntu3~j
    Errors were encountered while processing:
    /var/cache/apt/archives/libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • electroyeti

    worked great ! iphone 2g and linux 10.10 needed ipeth-utils instead of libiphone-utils

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Bre1586

    I just ran this on Ubuntu 10.10 and it worked perfectly…. No Errors… if you follow exactly what it tells you to do.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Hnb

    now that you’ve done all that, make a script that does it all with a push of a button

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Wikale

    After having created the directory /mnt/iphone.
    I tried the following:

    $ ifuse /mnt/iphone

    And in my terminal I rceived the following message:

    GNUTLS ERROR: A TLS fatal alert has been received.

    What is the problem? I do not understand this message.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • MikeS.

    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

    did not work??
    This was the result:
    “eading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package libiphone0 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    libimobiledevice1

    Package python-iphone is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    python-imobiledevice

    E: Unable to locate package libiphone-utils
    E: Package ‘libiphone0′ has no installation candidate
    E: Package ‘python-iphone’ has no installation candidate”

    MikeS>

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Enginejhammer

    Using my iphone on linux has never been a problem…. works like a charm with rhythmbox…… But i sold my iphone cus i did not like.. I got LG optmus x2 instead…. Apple is just lifestyle statement product…. compared to Performance you get for its price is just pathetic…

    iphone 4
    1ghz apple processor
    450 euro

    LG optimus x2
    1ghz dual core Nvidia tegra processor..
    350 euro

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Cockneynutjob1987

    right im about to pull my hair out over this. my iphone 4 (4.2.1) is jailbroken, i have been able to get ubuntu and rhythmbox to identify the iphone and i can look though the songs on there BUT!!!!! when i drag and drop or click sync entire library the bar at the bottom says syncing but when i go on my iphone it isnt there, how ever if i click on the icon on my destop and go into the iphone that way the music is on there??????? i must be doing something wrong PLEASE HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Guest

    Genius thanks. I’m on Ubuntu 11.04 and my phone just wouldn’t mount – it should work out of the box!! Followed most of your instructions and now it works. Thanks very much – been trying to fix this for hours and hours.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • http://twitter.com/herr_lucho Danijel Lučić

    Greetings. Is it okay if

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • http://twitter.com/herr_lucho Danijel Lučić

    Greetings, is it okay if I translate this text in croatian and publish it on our company page? I will mention this page as a source, and put link at the end of my text

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Michelle Araujo

    Thanks! ;)

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Nickb47

    I when doing the $ifuse /mnt/ipod, i tried two ways, either way i get an error

    (me):~$ ifuse /mnt/ipod
    ERROR: the mount point specified does not exist
    (me):~$ $ifuse /mnt/ipod
    bash: /mnt/ipod: No such file or directory

    any help? I’m using Ubuntu 11.10 and I have the Xubuntu desktop thing im really new to Ubuntu so any help would be great

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Padeye

    Grrrrrrrrr….I’ve had it. I’m resigned to the fact that there are some things that can be done in Linux; and, there are some things, that despite two hours of trying to beat the square peg into the round hole, that just can’t. I was so hopeful, it seemed like it was going somewhere. Gonna use my wife’s Dell, and go back to using this thing for surfing. I want my two hours back.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • gazzza

    what a total pile of crap. Ive tried for hours and hour following the instructions you supplied but it simply does not work. $: command not found. is all I get.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • Install gentoo

      $ means you type this code as normal user and # means you type as root (superuser) so copy this without $ sign

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
© 6418 Geeknizer. All rights reserved. XHTML / CSS Valid.
Designed by taranfx.