How can I mount my iPhone 6s on Ubuntu 16.04?











up vote
29
down vote

favorite
21












I'm new to Ubuntu, and I don't know how to mount my iPhone.



I would like to download iTunes, but I saw that USB doesn't work, but I just need to access to all my files and APP because would like to transfer APP from pc to iPhone.










share|improve this question
























  • Is the phone jailbroken?
    – fakedad
    Aug 14 '16 at 1:19










  • No it is not, fresh as new
    – Rizio A.
    Aug 14 '16 at 15:24










  • As far as I know, there is no way to mount the iPhone's filesystem normally via USB on any OS. Moreover, I don't know of any applications for Ubuntu (or any Linux distro for that matter) that allow the syncing of apps to an iOS device.
    – fakedad
    Aug 14 '16 at 20:09












  • You can try to run Windows in a virtual machine using VirtualBox, and manage apps via iTunes in the VM.
    – fakedad
    Aug 14 '16 at 20:11










  • I read somewhere that it could work installing GKSU NAUTILUS...(honestly, dunno wtf it is), but it gave some error...and cannot download VirtualBox...do you have any link?
    – Rizio A.
    Aug 15 '16 at 1:10















up vote
29
down vote

favorite
21












I'm new to Ubuntu, and I don't know how to mount my iPhone.



I would like to download iTunes, but I saw that USB doesn't work, but I just need to access to all my files and APP because would like to transfer APP from pc to iPhone.










share|improve this question
























  • Is the phone jailbroken?
    – fakedad
    Aug 14 '16 at 1:19










  • No it is not, fresh as new
    – Rizio A.
    Aug 14 '16 at 15:24










  • As far as I know, there is no way to mount the iPhone's filesystem normally via USB on any OS. Moreover, I don't know of any applications for Ubuntu (or any Linux distro for that matter) that allow the syncing of apps to an iOS device.
    – fakedad
    Aug 14 '16 at 20:09












  • You can try to run Windows in a virtual machine using VirtualBox, and manage apps via iTunes in the VM.
    – fakedad
    Aug 14 '16 at 20:11










  • I read somewhere that it could work installing GKSU NAUTILUS...(honestly, dunno wtf it is), but it gave some error...and cannot download VirtualBox...do you have any link?
    – Rizio A.
    Aug 15 '16 at 1:10













up vote
29
down vote

favorite
21









up vote
29
down vote

favorite
21






21





I'm new to Ubuntu, and I don't know how to mount my iPhone.



I would like to download iTunes, but I saw that USB doesn't work, but I just need to access to all my files and APP because would like to transfer APP from pc to iPhone.










share|improve this question















I'm new to Ubuntu, and I don't know how to mount my iPhone.



I would like to download iTunes, but I saw that USB doesn't work, but I just need to access to all my files and APP because would like to transfer APP from pc to iPhone.







16.04 usb mount iphone






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 27 '17 at 18:26









Zanna

49.4k13127236




49.4k13127236










asked Aug 14 '16 at 1:14









Rizio A.

176235




176235












  • Is the phone jailbroken?
    – fakedad
    Aug 14 '16 at 1:19










  • No it is not, fresh as new
    – Rizio A.
    Aug 14 '16 at 15:24










  • As far as I know, there is no way to mount the iPhone's filesystem normally via USB on any OS. Moreover, I don't know of any applications for Ubuntu (or any Linux distro for that matter) that allow the syncing of apps to an iOS device.
    – fakedad
    Aug 14 '16 at 20:09












  • You can try to run Windows in a virtual machine using VirtualBox, and manage apps via iTunes in the VM.
    – fakedad
    Aug 14 '16 at 20:11










  • I read somewhere that it could work installing GKSU NAUTILUS...(honestly, dunno wtf it is), but it gave some error...and cannot download VirtualBox...do you have any link?
    – Rizio A.
    Aug 15 '16 at 1:10


















  • Is the phone jailbroken?
    – fakedad
    Aug 14 '16 at 1:19










  • No it is not, fresh as new
    – Rizio A.
    Aug 14 '16 at 15:24










  • As far as I know, there is no way to mount the iPhone's filesystem normally via USB on any OS. Moreover, I don't know of any applications for Ubuntu (or any Linux distro for that matter) that allow the syncing of apps to an iOS device.
    – fakedad
    Aug 14 '16 at 20:09












  • You can try to run Windows in a virtual machine using VirtualBox, and manage apps via iTunes in the VM.
    – fakedad
    Aug 14 '16 at 20:11










  • I read somewhere that it could work installing GKSU NAUTILUS...(honestly, dunno wtf it is), but it gave some error...and cannot download VirtualBox...do you have any link?
    – Rizio A.
    Aug 15 '16 at 1:10
















Is the phone jailbroken?
– fakedad
Aug 14 '16 at 1:19




Is the phone jailbroken?
– fakedad
Aug 14 '16 at 1:19












No it is not, fresh as new
– Rizio A.
Aug 14 '16 at 15:24




No it is not, fresh as new
– Rizio A.
Aug 14 '16 at 15:24












As far as I know, there is no way to mount the iPhone's filesystem normally via USB on any OS. Moreover, I don't know of any applications for Ubuntu (or any Linux distro for that matter) that allow the syncing of apps to an iOS device.
– fakedad
Aug 14 '16 at 20:09






As far as I know, there is no way to mount the iPhone's filesystem normally via USB on any OS. Moreover, I don't know of any applications for Ubuntu (or any Linux distro for that matter) that allow the syncing of apps to an iOS device.
– fakedad
Aug 14 '16 at 20:09














You can try to run Windows in a virtual machine using VirtualBox, and manage apps via iTunes in the VM.
– fakedad
Aug 14 '16 at 20:11




You can try to run Windows in a virtual machine using VirtualBox, and manage apps via iTunes in the VM.
– fakedad
Aug 14 '16 at 20:11












I read somewhere that it could work installing GKSU NAUTILUS...(honestly, dunno wtf it is), but it gave some error...and cannot download VirtualBox...do you have any link?
– Rizio A.
Aug 15 '16 at 1:10




I read somewhere that it could work installing GKSU NAUTILUS...(honestly, dunno wtf it is), but it gave some error...and cannot download VirtualBox...do you have any link?
– Rizio A.
Aug 15 '16 at 1:10










4 Answers
4






active

oldest

votes

















up vote
34
down vote













Evidently I was wrong about being able to mount an iPhone on Ubuntu. You can perform this using the following steps on yakkety. Note, you would need the device to be jailbroken in order to load apps onto the device this way, but this method will suffice for getting media from the device.



Option 1: Using a script



If you want to save yourself some time, you can download a script here to do most of the work of the process for you.



Once downloaded, you will need to change the permisions so you can execute the script. Assuming you downloaded it with the default name, iphone_setup.sh, cd to the directory in which you downloaded the file and do



chmod u+x iphone_setup.sh


Convert the Windows line endings by doing



ex -bsc '%!awk "{sub(/r/,"")}1"' -cx iphone_setup.sh


Then run the script with root privileges using



sudo ./iphone_setup.sh


This will complete all of Step 1 of the manual setup for you, as well as Step 3 and Step 4. You will then need to do Step 2 and Step 5 of the manual setup after the script finishes running.



Option 2: Doing it manually



Step 1: Installing the tools



Before plugging in the iPhone, you will need to install the several programs to make it possible to mount the iPhone.



Step 1.1: Installing several important tools with apt-get



Do the following in the terminal to install a few packages that will be needed for any version of iOS.



sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd


If you are connecting an iPhone with an iOS version before iOS 9, you can skip the remaining substeps of step 1 and instead just do the following:



sudo apt-get install libimobiledevice6 libplist3 ifuse


Step 1.2: Installing tools for building



Use apt-get to install a few programs needed to build the programs in the following steps



sudo apt-get install libtool autoconf automake


Step 1.3: Installing libplist



First, install the required dependencies for building libplist. In order to do this, do the following:



sudo apt-get install libxml2-dev python-dev


Then download the latest version of libplist from GitHub, and extract the contents of the zip file to some directory. For instance, if you are in the directory where you downloaded the libplist zip file, do unzip libplist-master.zip.



You should now have a directory called "libplist-master" in the directory to which you extracted the libplist zip file. cd into this directory from the terminal, and the run



./autogen.sh


When the ./autogen.sh script is done running, run



make


And, finally, run



sudo make install


Step 1.4: Installing libusbmuxd



This step is similar to the previous step, except we are installing libusbmuxd instead of libplist.



First, download the latest version of libusbmuxd from GitHub. Again, extract the contents to a directory, and cd to the directory libusbmuxd-master. Then run the following:



./autogen.sh


When this is finished, run



make


followed by



sudo make install


Step 1.5: Installing libimobiledevice



First, install the build dependencies by doing the following:



sudo apt-get install libssl-dev


Then download the latest version of libimobiledevice from GitHub. Extract as in the previous two steps; you should get a directory inside the directory to which you extracted called libimobiledevice-master. cd into this directory, and, again, run



./autogen.sh


When this is finished, run



make


followed by



sudo make install


Step 1.6: Installing a better version of usbmuxd



First, uninstall the old version of usbmuxd by doing



sudo apt-get remove usbmuxd


Then, install the build dependencies by doing



sudo apt-get install libimobiledevice-dev libplist-dev libusb-dev libusb-1.0.0-dev libtool-bin libtool


Then, download the latest version of usbmuxd from GitHub. Extract and cd to the usbmuxd-master directory. Again, run



./autogen.sh


When this is finished, run



make


followed by



sudo make install


Step 1.7: Installing ifuse



This is the last thing you will need to install!



First install, the build dependencies by doing



sudo apt-get install libfuse-dev


Download the latest version of ifuse from GitHub. Extract it to some directory, and cd into the directory ifuse-master, and cd into that directory.



This time there is an extra step in building the program. Do



./autogen.sh


as usual, but then do



./configure


as well. Then, continue on to the normal



make


and



sudo make install


Step 2: Running usbmuxd and attaching iPhone



This step is simple. Run usbmuxd in the terminal, and then plug in the iPhone.



Now check to see if the device was recognized correctly by doing



dmesg | grep ipheth


If nothing shows up, try disconnecting the iPhone, running usbmuxd again, and then plugging back in. Then check again.



Step 3: Creating a mount point for the iPhone



You can manually create a mount point for the iPhone by doing



sudo mkdir /media/iPhone


You will then likely want to change the permissions for the mount point. Do



sudo chmod 777 /media/iPhone


Step 4: Editing the ifuse configuration file



The ifuse configuration file /etc/fuse.conf requires editing if you want to access the iPhone without being root.



Edit the configuration file using your favorite editor, for example gedit



sudo gedit /etc/fuse.conf


In the file ensure that the following two lines are under the line that says # Allow non-root users to specify the allow_other or allow_root mount options:



op$
user_allow_other


Save the file and quit the editor.



Step 5: Pairing the iPhone



Run the following line in order to pair your iPhone using idevicepair:



idevicepair pair


Step 6: Mounting with ifuse



Run the following line to mount the device at the mount point specified earlier:



ifuse /media/iPhone


NOTE: At this point you may mount the root filesystem if you have your phone jailbroken by doing the following line instead



ifuse /media/iPhone/ --root


The iPhone should now be accessible at /media/iPhone through your file browser.



When you want to unmount, do the following two lines



fusermount -u /media/iPhone/
idevicepair unpair


These steps were adapted for xenial from this tutorial at dedoimedo, then further modified to suit devices with iOS 9+.






share|improve this answer



















  • 1




    [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
    – Rizio A.
    Aug 15 '16 at 3:55






  • 1




    @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
    – fakedad
    Aug 15 '16 at 3:57






  • 1




    @RizioA.Same with sudo chmod 777 /media/iPhone
    – fakedad
    Aug 15 '16 at 3:58






  • 5




    This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
    – zgoda
    Oct 12 '16 at 9:08






  • 2




    Step#6 is not working for me, but file explorer worked, thanks a lot
    – Anand Rockzz
    Nov 25 '16 at 1:56


















up vote
3
down vote













It seems that with iOS 10.2 Apple has broken it again.
To fix:




  1. Download from GitHub latest versions of: libplist, libusbmuxd, libimobiledevice, ifuse and usbmuxd


  2. Extract ZIP files in a folder that you like, enter in each directory and launch compilation of the corresponding library (if you don't know how to do, just follow instructions inside the readme file inside each lib and remember that the development version of openssl is called libssl-dev when required). Please note that last command 'sudo make install' should put compiled libraries in /usr/local/lib.



  3. Make sure that environment vars point to this new versions rather than the old ones included in official packages:



    sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd    
    export LD_LIBRARY_PATH=/usr/local/lib



  4. Connected your iOS 10.2 device to your computer:



    idevicepair pair



  5. Select "Trust" to the warning "Trust This Computer?" on your device:



    idevicepair pair



  6. Mount the iOS filesystem



    ifuse Mountpoint_Directory/



Tested on Ubuntu 16.04 and iPhone 7 with iOS 10.2






share|improve this answer























  • On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
    – Greg Bell
    Jul 25 '17 at 0:06










  • Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
    – bytepan
    Jul 26 '17 at 8:17










  • Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
    – Louis Gagnon
    Feb 17 at 9:48










  • I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
    – Zangar
    Mar 27 at 16:37




















up vote
2
down vote














After having built new versions of libplist, libusbmuxd,
libimobiledevice, ifuse and usbmuxd under /usr/local/lib, those
versions have to be taken into use when calling the commands to
connect the iPhone (instead of using the old library versions, which
is done by default). So I did the following in a bash-shell (make sure
to unlock (enter your code or use your fingerprint) your iPhone before
each action):



sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd
export LD_LIBRARY_PATH=/usr/local/lib
idevicepair pair
ifuse /media/iPhone


(comment originated from user639768 and was posted as a question, but has since been deleted.)







share|improve this answer






























    up vote
    2
    down vote













    Tested on iPhone 4S on 16.04 and 18.04; no reason to believe it will be different on 6 or later versions



    [EDIT: see below it works all the way to iPhone 7].



    Fairly simple route:



    ➊ INSTALL:



    sudo apt install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd libimobiledevice6 libplist3 ifuse


    you may need to do this too:



    sudo mkdir /var/lib/lockdown
    sudo chmod 777 /var/lib/lockdown


    ➋ in Terminal to see your iphone address:



     lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2


    You will see something thus:



    iManufacturer 1 Apple Inc.

    iProduct 2 iPhone

    iSerial 3 ca00d62380d42746b8ff8280....d1fd7b7119ca



    ➌ Open Nautilus



    enter the iSerial from above:



    afc://ca00d62380d4274....f8280a91ed1fd7b7119ca/


    NOW you see your files.



    ➍ As an embellishment you could install VLC Mobile
    from App Store FREE of course which will let you play formats itunes cannot handle Flac Wavpack etc



    you will see/place the music files in Documents on iPhone next to iPhone on left of page [This is on LXDE; must look similar in other Desktop Environments]






    share|improve this answer























    • This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
      – Abe Voelker
      Nov 5 at 16:12










    • Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
      – shantiq
      Dec 4 at 12:56










    protected by Community Dec 12 '16 at 4:08



    Thank you for your interest in this question.
    Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



    Would you like to answer one of these unanswered questions instead?














    4 Answers
    4






    active

    oldest

    votes








    4 Answers
    4






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    34
    down vote













    Evidently I was wrong about being able to mount an iPhone on Ubuntu. You can perform this using the following steps on yakkety. Note, you would need the device to be jailbroken in order to load apps onto the device this way, but this method will suffice for getting media from the device.



    Option 1: Using a script



    If you want to save yourself some time, you can download a script here to do most of the work of the process for you.



    Once downloaded, you will need to change the permisions so you can execute the script. Assuming you downloaded it with the default name, iphone_setup.sh, cd to the directory in which you downloaded the file and do



    chmod u+x iphone_setup.sh


    Convert the Windows line endings by doing



    ex -bsc '%!awk "{sub(/r/,"")}1"' -cx iphone_setup.sh


    Then run the script with root privileges using



    sudo ./iphone_setup.sh


    This will complete all of Step 1 of the manual setup for you, as well as Step 3 and Step 4. You will then need to do Step 2 and Step 5 of the manual setup after the script finishes running.



    Option 2: Doing it manually



    Step 1: Installing the tools



    Before plugging in the iPhone, you will need to install the several programs to make it possible to mount the iPhone.



    Step 1.1: Installing several important tools with apt-get



    Do the following in the terminal to install a few packages that will be needed for any version of iOS.



    sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd


    If you are connecting an iPhone with an iOS version before iOS 9, you can skip the remaining substeps of step 1 and instead just do the following:



    sudo apt-get install libimobiledevice6 libplist3 ifuse


    Step 1.2: Installing tools for building



    Use apt-get to install a few programs needed to build the programs in the following steps



    sudo apt-get install libtool autoconf automake


    Step 1.3: Installing libplist



    First, install the required dependencies for building libplist. In order to do this, do the following:



    sudo apt-get install libxml2-dev python-dev


    Then download the latest version of libplist from GitHub, and extract the contents of the zip file to some directory. For instance, if you are in the directory where you downloaded the libplist zip file, do unzip libplist-master.zip.



    You should now have a directory called "libplist-master" in the directory to which you extracted the libplist zip file. cd into this directory from the terminal, and the run



    ./autogen.sh


    When the ./autogen.sh script is done running, run



    make


    And, finally, run



    sudo make install


    Step 1.4: Installing libusbmuxd



    This step is similar to the previous step, except we are installing libusbmuxd instead of libplist.



    First, download the latest version of libusbmuxd from GitHub. Again, extract the contents to a directory, and cd to the directory libusbmuxd-master. Then run the following:



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.5: Installing libimobiledevice



    First, install the build dependencies by doing the following:



    sudo apt-get install libssl-dev


    Then download the latest version of libimobiledevice from GitHub. Extract as in the previous two steps; you should get a directory inside the directory to which you extracted called libimobiledevice-master. cd into this directory, and, again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.6: Installing a better version of usbmuxd



    First, uninstall the old version of usbmuxd by doing



    sudo apt-get remove usbmuxd


    Then, install the build dependencies by doing



    sudo apt-get install libimobiledevice-dev libplist-dev libusb-dev libusb-1.0.0-dev libtool-bin libtool


    Then, download the latest version of usbmuxd from GitHub. Extract and cd to the usbmuxd-master directory. Again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.7: Installing ifuse



    This is the last thing you will need to install!



    First install, the build dependencies by doing



    sudo apt-get install libfuse-dev


    Download the latest version of ifuse from GitHub. Extract it to some directory, and cd into the directory ifuse-master, and cd into that directory.



    This time there is an extra step in building the program. Do



    ./autogen.sh


    as usual, but then do



    ./configure


    as well. Then, continue on to the normal



    make


    and



    sudo make install


    Step 2: Running usbmuxd and attaching iPhone



    This step is simple. Run usbmuxd in the terminal, and then plug in the iPhone.



    Now check to see if the device was recognized correctly by doing



    dmesg | grep ipheth


    If nothing shows up, try disconnecting the iPhone, running usbmuxd again, and then plugging back in. Then check again.



    Step 3: Creating a mount point for the iPhone



    You can manually create a mount point for the iPhone by doing



    sudo mkdir /media/iPhone


    You will then likely want to change the permissions for the mount point. Do



    sudo chmod 777 /media/iPhone


    Step 4: Editing the ifuse configuration file



    The ifuse configuration file /etc/fuse.conf requires editing if you want to access the iPhone without being root.



    Edit the configuration file using your favorite editor, for example gedit



    sudo gedit /etc/fuse.conf


    In the file ensure that the following two lines are under the line that says # Allow non-root users to specify the allow_other or allow_root mount options:



    op$
    user_allow_other


    Save the file and quit the editor.



    Step 5: Pairing the iPhone



    Run the following line in order to pair your iPhone using idevicepair:



    idevicepair pair


    Step 6: Mounting with ifuse



    Run the following line to mount the device at the mount point specified earlier:



    ifuse /media/iPhone


    NOTE: At this point you may mount the root filesystem if you have your phone jailbroken by doing the following line instead



    ifuse /media/iPhone/ --root


    The iPhone should now be accessible at /media/iPhone through your file browser.



    When you want to unmount, do the following two lines



    fusermount -u /media/iPhone/
    idevicepair unpair


    These steps were adapted for xenial from this tutorial at dedoimedo, then further modified to suit devices with iOS 9+.






    share|improve this answer



















    • 1




      [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
      – Rizio A.
      Aug 15 '16 at 3:55






    • 1




      @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
      – fakedad
      Aug 15 '16 at 3:57






    • 1




      @RizioA.Same with sudo chmod 777 /media/iPhone
      – fakedad
      Aug 15 '16 at 3:58






    • 5




      This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
      – zgoda
      Oct 12 '16 at 9:08






    • 2




      Step#6 is not working for me, but file explorer worked, thanks a lot
      – Anand Rockzz
      Nov 25 '16 at 1:56















    up vote
    34
    down vote













    Evidently I was wrong about being able to mount an iPhone on Ubuntu. You can perform this using the following steps on yakkety. Note, you would need the device to be jailbroken in order to load apps onto the device this way, but this method will suffice for getting media from the device.



    Option 1: Using a script



    If you want to save yourself some time, you can download a script here to do most of the work of the process for you.



    Once downloaded, you will need to change the permisions so you can execute the script. Assuming you downloaded it with the default name, iphone_setup.sh, cd to the directory in which you downloaded the file and do



    chmod u+x iphone_setup.sh


    Convert the Windows line endings by doing



    ex -bsc '%!awk "{sub(/r/,"")}1"' -cx iphone_setup.sh


    Then run the script with root privileges using



    sudo ./iphone_setup.sh


    This will complete all of Step 1 of the manual setup for you, as well as Step 3 and Step 4. You will then need to do Step 2 and Step 5 of the manual setup after the script finishes running.



    Option 2: Doing it manually



    Step 1: Installing the tools



    Before plugging in the iPhone, you will need to install the several programs to make it possible to mount the iPhone.



    Step 1.1: Installing several important tools with apt-get



    Do the following in the terminal to install a few packages that will be needed for any version of iOS.



    sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd


    If you are connecting an iPhone with an iOS version before iOS 9, you can skip the remaining substeps of step 1 and instead just do the following:



    sudo apt-get install libimobiledevice6 libplist3 ifuse


    Step 1.2: Installing tools for building



    Use apt-get to install a few programs needed to build the programs in the following steps



    sudo apt-get install libtool autoconf automake


    Step 1.3: Installing libplist



    First, install the required dependencies for building libplist. In order to do this, do the following:



    sudo apt-get install libxml2-dev python-dev


    Then download the latest version of libplist from GitHub, and extract the contents of the zip file to some directory. For instance, if you are in the directory where you downloaded the libplist zip file, do unzip libplist-master.zip.



    You should now have a directory called "libplist-master" in the directory to which you extracted the libplist zip file. cd into this directory from the terminal, and the run



    ./autogen.sh


    When the ./autogen.sh script is done running, run



    make


    And, finally, run



    sudo make install


    Step 1.4: Installing libusbmuxd



    This step is similar to the previous step, except we are installing libusbmuxd instead of libplist.



    First, download the latest version of libusbmuxd from GitHub. Again, extract the contents to a directory, and cd to the directory libusbmuxd-master. Then run the following:



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.5: Installing libimobiledevice



    First, install the build dependencies by doing the following:



    sudo apt-get install libssl-dev


    Then download the latest version of libimobiledevice from GitHub. Extract as in the previous two steps; you should get a directory inside the directory to which you extracted called libimobiledevice-master. cd into this directory, and, again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.6: Installing a better version of usbmuxd



    First, uninstall the old version of usbmuxd by doing



    sudo apt-get remove usbmuxd


    Then, install the build dependencies by doing



    sudo apt-get install libimobiledevice-dev libplist-dev libusb-dev libusb-1.0.0-dev libtool-bin libtool


    Then, download the latest version of usbmuxd from GitHub. Extract and cd to the usbmuxd-master directory. Again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.7: Installing ifuse



    This is the last thing you will need to install!



    First install, the build dependencies by doing



    sudo apt-get install libfuse-dev


    Download the latest version of ifuse from GitHub. Extract it to some directory, and cd into the directory ifuse-master, and cd into that directory.



    This time there is an extra step in building the program. Do



    ./autogen.sh


    as usual, but then do



    ./configure


    as well. Then, continue on to the normal



    make


    and



    sudo make install


    Step 2: Running usbmuxd and attaching iPhone



    This step is simple. Run usbmuxd in the terminal, and then plug in the iPhone.



    Now check to see if the device was recognized correctly by doing



    dmesg | grep ipheth


    If nothing shows up, try disconnecting the iPhone, running usbmuxd again, and then plugging back in. Then check again.



    Step 3: Creating a mount point for the iPhone



    You can manually create a mount point for the iPhone by doing



    sudo mkdir /media/iPhone


    You will then likely want to change the permissions for the mount point. Do



    sudo chmod 777 /media/iPhone


    Step 4: Editing the ifuse configuration file



    The ifuse configuration file /etc/fuse.conf requires editing if you want to access the iPhone without being root.



    Edit the configuration file using your favorite editor, for example gedit



    sudo gedit /etc/fuse.conf


    In the file ensure that the following two lines are under the line that says # Allow non-root users to specify the allow_other or allow_root mount options:



    op$
    user_allow_other


    Save the file and quit the editor.



    Step 5: Pairing the iPhone



    Run the following line in order to pair your iPhone using idevicepair:



    idevicepair pair


    Step 6: Mounting with ifuse



    Run the following line to mount the device at the mount point specified earlier:



    ifuse /media/iPhone


    NOTE: At this point you may mount the root filesystem if you have your phone jailbroken by doing the following line instead



    ifuse /media/iPhone/ --root


    The iPhone should now be accessible at /media/iPhone through your file browser.



    When you want to unmount, do the following two lines



    fusermount -u /media/iPhone/
    idevicepair unpair


    These steps were adapted for xenial from this tutorial at dedoimedo, then further modified to suit devices with iOS 9+.






    share|improve this answer



















    • 1




      [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
      – Rizio A.
      Aug 15 '16 at 3:55






    • 1




      @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
      – fakedad
      Aug 15 '16 at 3:57






    • 1




      @RizioA.Same with sudo chmod 777 /media/iPhone
      – fakedad
      Aug 15 '16 at 3:58






    • 5




      This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
      – zgoda
      Oct 12 '16 at 9:08






    • 2




      Step#6 is not working for me, but file explorer worked, thanks a lot
      – Anand Rockzz
      Nov 25 '16 at 1:56













    up vote
    34
    down vote










    up vote
    34
    down vote









    Evidently I was wrong about being able to mount an iPhone on Ubuntu. You can perform this using the following steps on yakkety. Note, you would need the device to be jailbroken in order to load apps onto the device this way, but this method will suffice for getting media from the device.



    Option 1: Using a script



    If you want to save yourself some time, you can download a script here to do most of the work of the process for you.



    Once downloaded, you will need to change the permisions so you can execute the script. Assuming you downloaded it with the default name, iphone_setup.sh, cd to the directory in which you downloaded the file and do



    chmod u+x iphone_setup.sh


    Convert the Windows line endings by doing



    ex -bsc '%!awk "{sub(/r/,"")}1"' -cx iphone_setup.sh


    Then run the script with root privileges using



    sudo ./iphone_setup.sh


    This will complete all of Step 1 of the manual setup for you, as well as Step 3 and Step 4. You will then need to do Step 2 and Step 5 of the manual setup after the script finishes running.



    Option 2: Doing it manually



    Step 1: Installing the tools



    Before plugging in the iPhone, you will need to install the several programs to make it possible to mount the iPhone.



    Step 1.1: Installing several important tools with apt-get



    Do the following in the terminal to install a few packages that will be needed for any version of iOS.



    sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd


    If you are connecting an iPhone with an iOS version before iOS 9, you can skip the remaining substeps of step 1 and instead just do the following:



    sudo apt-get install libimobiledevice6 libplist3 ifuse


    Step 1.2: Installing tools for building



    Use apt-get to install a few programs needed to build the programs in the following steps



    sudo apt-get install libtool autoconf automake


    Step 1.3: Installing libplist



    First, install the required dependencies for building libplist. In order to do this, do the following:



    sudo apt-get install libxml2-dev python-dev


    Then download the latest version of libplist from GitHub, and extract the contents of the zip file to some directory. For instance, if you are in the directory where you downloaded the libplist zip file, do unzip libplist-master.zip.



    You should now have a directory called "libplist-master" in the directory to which you extracted the libplist zip file. cd into this directory from the terminal, and the run



    ./autogen.sh


    When the ./autogen.sh script is done running, run



    make


    And, finally, run



    sudo make install


    Step 1.4: Installing libusbmuxd



    This step is similar to the previous step, except we are installing libusbmuxd instead of libplist.



    First, download the latest version of libusbmuxd from GitHub. Again, extract the contents to a directory, and cd to the directory libusbmuxd-master. Then run the following:



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.5: Installing libimobiledevice



    First, install the build dependencies by doing the following:



    sudo apt-get install libssl-dev


    Then download the latest version of libimobiledevice from GitHub. Extract as in the previous two steps; you should get a directory inside the directory to which you extracted called libimobiledevice-master. cd into this directory, and, again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.6: Installing a better version of usbmuxd



    First, uninstall the old version of usbmuxd by doing



    sudo apt-get remove usbmuxd


    Then, install the build dependencies by doing



    sudo apt-get install libimobiledevice-dev libplist-dev libusb-dev libusb-1.0.0-dev libtool-bin libtool


    Then, download the latest version of usbmuxd from GitHub. Extract and cd to the usbmuxd-master directory. Again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.7: Installing ifuse



    This is the last thing you will need to install!



    First install, the build dependencies by doing



    sudo apt-get install libfuse-dev


    Download the latest version of ifuse from GitHub. Extract it to some directory, and cd into the directory ifuse-master, and cd into that directory.



    This time there is an extra step in building the program. Do



    ./autogen.sh


    as usual, but then do



    ./configure


    as well. Then, continue on to the normal



    make


    and



    sudo make install


    Step 2: Running usbmuxd and attaching iPhone



    This step is simple. Run usbmuxd in the terminal, and then plug in the iPhone.



    Now check to see if the device was recognized correctly by doing



    dmesg | grep ipheth


    If nothing shows up, try disconnecting the iPhone, running usbmuxd again, and then plugging back in. Then check again.



    Step 3: Creating a mount point for the iPhone



    You can manually create a mount point for the iPhone by doing



    sudo mkdir /media/iPhone


    You will then likely want to change the permissions for the mount point. Do



    sudo chmod 777 /media/iPhone


    Step 4: Editing the ifuse configuration file



    The ifuse configuration file /etc/fuse.conf requires editing if you want to access the iPhone without being root.



    Edit the configuration file using your favorite editor, for example gedit



    sudo gedit /etc/fuse.conf


    In the file ensure that the following two lines are under the line that says # Allow non-root users to specify the allow_other or allow_root mount options:



    op$
    user_allow_other


    Save the file and quit the editor.



    Step 5: Pairing the iPhone



    Run the following line in order to pair your iPhone using idevicepair:



    idevicepair pair


    Step 6: Mounting with ifuse



    Run the following line to mount the device at the mount point specified earlier:



    ifuse /media/iPhone


    NOTE: At this point you may mount the root filesystem if you have your phone jailbroken by doing the following line instead



    ifuse /media/iPhone/ --root


    The iPhone should now be accessible at /media/iPhone through your file browser.



    When you want to unmount, do the following two lines



    fusermount -u /media/iPhone/
    idevicepair unpair


    These steps were adapted for xenial from this tutorial at dedoimedo, then further modified to suit devices with iOS 9+.






    share|improve this answer














    Evidently I was wrong about being able to mount an iPhone on Ubuntu. You can perform this using the following steps on yakkety. Note, you would need the device to be jailbroken in order to load apps onto the device this way, but this method will suffice for getting media from the device.



    Option 1: Using a script



    If you want to save yourself some time, you can download a script here to do most of the work of the process for you.



    Once downloaded, you will need to change the permisions so you can execute the script. Assuming you downloaded it with the default name, iphone_setup.sh, cd to the directory in which you downloaded the file and do



    chmod u+x iphone_setup.sh


    Convert the Windows line endings by doing



    ex -bsc '%!awk "{sub(/r/,"")}1"' -cx iphone_setup.sh


    Then run the script with root privileges using



    sudo ./iphone_setup.sh


    This will complete all of Step 1 of the manual setup for you, as well as Step 3 and Step 4. You will then need to do Step 2 and Step 5 of the manual setup after the script finishes running.



    Option 2: Doing it manually



    Step 1: Installing the tools



    Before plugging in the iPhone, you will need to install the several programs to make it possible to mount the iPhone.



    Step 1.1: Installing several important tools with apt-get



    Do the following in the terminal to install a few packages that will be needed for any version of iOS.



    sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd


    If you are connecting an iPhone with an iOS version before iOS 9, you can skip the remaining substeps of step 1 and instead just do the following:



    sudo apt-get install libimobiledevice6 libplist3 ifuse


    Step 1.2: Installing tools for building



    Use apt-get to install a few programs needed to build the programs in the following steps



    sudo apt-get install libtool autoconf automake


    Step 1.3: Installing libplist



    First, install the required dependencies for building libplist. In order to do this, do the following:



    sudo apt-get install libxml2-dev python-dev


    Then download the latest version of libplist from GitHub, and extract the contents of the zip file to some directory. For instance, if you are in the directory where you downloaded the libplist zip file, do unzip libplist-master.zip.



    You should now have a directory called "libplist-master" in the directory to which you extracted the libplist zip file. cd into this directory from the terminal, and the run



    ./autogen.sh


    When the ./autogen.sh script is done running, run



    make


    And, finally, run



    sudo make install


    Step 1.4: Installing libusbmuxd



    This step is similar to the previous step, except we are installing libusbmuxd instead of libplist.



    First, download the latest version of libusbmuxd from GitHub. Again, extract the contents to a directory, and cd to the directory libusbmuxd-master. Then run the following:



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.5: Installing libimobiledevice



    First, install the build dependencies by doing the following:



    sudo apt-get install libssl-dev


    Then download the latest version of libimobiledevice from GitHub. Extract as in the previous two steps; you should get a directory inside the directory to which you extracted called libimobiledevice-master. cd into this directory, and, again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.6: Installing a better version of usbmuxd



    First, uninstall the old version of usbmuxd by doing



    sudo apt-get remove usbmuxd


    Then, install the build dependencies by doing



    sudo apt-get install libimobiledevice-dev libplist-dev libusb-dev libusb-1.0.0-dev libtool-bin libtool


    Then, download the latest version of usbmuxd from GitHub. Extract and cd to the usbmuxd-master directory. Again, run



    ./autogen.sh


    When this is finished, run



    make


    followed by



    sudo make install


    Step 1.7: Installing ifuse



    This is the last thing you will need to install!



    First install, the build dependencies by doing



    sudo apt-get install libfuse-dev


    Download the latest version of ifuse from GitHub. Extract it to some directory, and cd into the directory ifuse-master, and cd into that directory.



    This time there is an extra step in building the program. Do



    ./autogen.sh


    as usual, but then do



    ./configure


    as well. Then, continue on to the normal



    make


    and



    sudo make install


    Step 2: Running usbmuxd and attaching iPhone



    This step is simple. Run usbmuxd in the terminal, and then plug in the iPhone.



    Now check to see if the device was recognized correctly by doing



    dmesg | grep ipheth


    If nothing shows up, try disconnecting the iPhone, running usbmuxd again, and then plugging back in. Then check again.



    Step 3: Creating a mount point for the iPhone



    You can manually create a mount point for the iPhone by doing



    sudo mkdir /media/iPhone


    You will then likely want to change the permissions for the mount point. Do



    sudo chmod 777 /media/iPhone


    Step 4: Editing the ifuse configuration file



    The ifuse configuration file /etc/fuse.conf requires editing if you want to access the iPhone without being root.



    Edit the configuration file using your favorite editor, for example gedit



    sudo gedit /etc/fuse.conf


    In the file ensure that the following two lines are under the line that says # Allow non-root users to specify the allow_other or allow_root mount options:



    op$
    user_allow_other


    Save the file and quit the editor.



    Step 5: Pairing the iPhone



    Run the following line in order to pair your iPhone using idevicepair:



    idevicepair pair


    Step 6: Mounting with ifuse



    Run the following line to mount the device at the mount point specified earlier:



    ifuse /media/iPhone


    NOTE: At this point you may mount the root filesystem if you have your phone jailbroken by doing the following line instead



    ifuse /media/iPhone/ --root


    The iPhone should now be accessible at /media/iPhone through your file browser.



    When you want to unmount, do the following two lines



    fusermount -u /media/iPhone/
    idevicepair unpair


    These steps were adapted for xenial from this tutorial at dedoimedo, then further modified to suit devices with iOS 9+.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 8 '16 at 2:22

























    answered Aug 15 '16 at 3:24









    fakedad

    769417




    769417








    • 1




      [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
      – Rizio A.
      Aug 15 '16 at 3:55






    • 1




      @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
      – fakedad
      Aug 15 '16 at 3:57






    • 1




      @RizioA.Same with sudo chmod 777 /media/iPhone
      – fakedad
      Aug 15 '16 at 3:58






    • 5




      This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
      – zgoda
      Oct 12 '16 at 9:08






    • 2




      Step#6 is not working for me, but file explorer worked, thanks a lot
      – Anand Rockzz
      Nov 25 '16 at 1:56














    • 1




      [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
      – Rizio A.
      Aug 15 '16 at 3:55






    • 1




      @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
      – fakedad
      Aug 15 '16 at 3:57






    • 1




      @RizioA.Same with sudo chmod 777 /media/iPhone
      – fakedad
      Aug 15 '16 at 3:58






    • 5




      This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
      – zgoda
      Oct 12 '16 at 9:08






    • 2




      Step#6 is not working for me, but file explorer worked, thanks a lot
      – Anand Rockzz
      Nov 25 '16 at 1:56








    1




    1




    [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
    – Rizio A.
    Aug 15 '16 at 3:55




    [ 1461.760447] ipheth 1-2:4.2 enp0s20u2c4i2: renamed from eth0 stream13@stream13-HP-Stream-Notebook-PC-13:~$ mkdir /media/iPhone mkdir: cannot create directory ‘/media/iPhone’: Permission denied I don't know what to do mate...
    – Rizio A.
    Aug 15 '16 at 3:55




    1




    1




    @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
    – fakedad
    Aug 15 '16 at 3:57




    @RizioA.Sorry, that should have been sudo mkdir /media/iPhone
    – fakedad
    Aug 15 '16 at 3:57




    1




    1




    @RizioA.Same with sudo chmod 777 /media/iPhone
    – fakedad
    Aug 15 '16 at 3:58




    @RizioA.Same with sudo chmod 777 /media/iPhone
    – fakedad
    Aug 15 '16 at 3:58




    5




    5




    This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
    – zgoda
    Oct 12 '16 at 9:08




    This does not work for iOS 10: "GnuTLS error: Error in the pull function. Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device."
    – zgoda
    Oct 12 '16 at 9:08




    2




    2




    Step#6 is not working for me, but file explorer worked, thanks a lot
    – Anand Rockzz
    Nov 25 '16 at 1:56




    Step#6 is not working for me, but file explorer worked, thanks a lot
    – Anand Rockzz
    Nov 25 '16 at 1:56












    up vote
    3
    down vote













    It seems that with iOS 10.2 Apple has broken it again.
    To fix:




    1. Download from GitHub latest versions of: libplist, libusbmuxd, libimobiledevice, ifuse and usbmuxd


    2. Extract ZIP files in a folder that you like, enter in each directory and launch compilation of the corresponding library (if you don't know how to do, just follow instructions inside the readme file inside each lib and remember that the development version of openssl is called libssl-dev when required). Please note that last command 'sudo make install' should put compiled libraries in /usr/local/lib.



    3. Make sure that environment vars point to this new versions rather than the old ones included in official packages:



      sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd    
      export LD_LIBRARY_PATH=/usr/local/lib



    4. Connected your iOS 10.2 device to your computer:



      idevicepair pair



    5. Select "Trust" to the warning "Trust This Computer?" on your device:



      idevicepair pair



    6. Mount the iOS filesystem



      ifuse Mountpoint_Directory/



    Tested on Ubuntu 16.04 and iPhone 7 with iOS 10.2






    share|improve this answer























    • On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
      – Greg Bell
      Jul 25 '17 at 0:06










    • Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
      – bytepan
      Jul 26 '17 at 8:17










    • Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
      – Louis Gagnon
      Feb 17 at 9:48










    • I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
      – Zangar
      Mar 27 at 16:37

















    up vote
    3
    down vote













    It seems that with iOS 10.2 Apple has broken it again.
    To fix:




    1. Download from GitHub latest versions of: libplist, libusbmuxd, libimobiledevice, ifuse and usbmuxd


    2. Extract ZIP files in a folder that you like, enter in each directory and launch compilation of the corresponding library (if you don't know how to do, just follow instructions inside the readme file inside each lib and remember that the development version of openssl is called libssl-dev when required). Please note that last command 'sudo make install' should put compiled libraries in /usr/local/lib.



    3. Make sure that environment vars point to this new versions rather than the old ones included in official packages:



      sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd    
      export LD_LIBRARY_PATH=/usr/local/lib



    4. Connected your iOS 10.2 device to your computer:



      idevicepair pair



    5. Select "Trust" to the warning "Trust This Computer?" on your device:



      idevicepair pair



    6. Mount the iOS filesystem



      ifuse Mountpoint_Directory/



    Tested on Ubuntu 16.04 and iPhone 7 with iOS 10.2






    share|improve this answer























    • On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
      – Greg Bell
      Jul 25 '17 at 0:06










    • Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
      – bytepan
      Jul 26 '17 at 8:17










    • Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
      – Louis Gagnon
      Feb 17 at 9:48










    • I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
      – Zangar
      Mar 27 at 16:37















    up vote
    3
    down vote










    up vote
    3
    down vote









    It seems that with iOS 10.2 Apple has broken it again.
    To fix:




    1. Download from GitHub latest versions of: libplist, libusbmuxd, libimobiledevice, ifuse and usbmuxd


    2. Extract ZIP files in a folder that you like, enter in each directory and launch compilation of the corresponding library (if you don't know how to do, just follow instructions inside the readme file inside each lib and remember that the development version of openssl is called libssl-dev when required). Please note that last command 'sudo make install' should put compiled libraries in /usr/local/lib.



    3. Make sure that environment vars point to this new versions rather than the old ones included in official packages:



      sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd    
      export LD_LIBRARY_PATH=/usr/local/lib



    4. Connected your iOS 10.2 device to your computer:



      idevicepair pair



    5. Select "Trust" to the warning "Trust This Computer?" on your device:



      idevicepair pair



    6. Mount the iOS filesystem



      ifuse Mountpoint_Directory/



    Tested on Ubuntu 16.04 and iPhone 7 with iOS 10.2






    share|improve this answer














    It seems that with iOS 10.2 Apple has broken it again.
    To fix:




    1. Download from GitHub latest versions of: libplist, libusbmuxd, libimobiledevice, ifuse and usbmuxd


    2. Extract ZIP files in a folder that you like, enter in each directory and launch compilation of the corresponding library (if you don't know how to do, just follow instructions inside the readme file inside each lib and remember that the development version of openssl is called libssl-dev when required). Please note that last command 'sudo make install' should put compiled libraries in /usr/local/lib.



    3. Make sure that environment vars point to this new versions rather than the old ones included in official packages:



      sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd    
      export LD_LIBRARY_PATH=/usr/local/lib



    4. Connected your iOS 10.2 device to your computer:



      idevicepair pair



    5. Select "Trust" to the warning "Trust This Computer?" on your device:



      idevicepair pair



    6. Mount the iOS filesystem



      ifuse Mountpoint_Directory/



    Tested on Ubuntu 16.04 and iPhone 7 with iOS 10.2







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 19 '17 at 20:08

























    answered Feb 24 '17 at 22:44









    bytepan

    31123




    31123












    • On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
      – Greg Bell
      Jul 25 '17 at 0:06










    • Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
      – bytepan
      Jul 26 '17 at 8:17










    • Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
      – Louis Gagnon
      Feb 17 at 9:48










    • I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
      – Zangar
      Mar 27 at 16:37




















    • On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
      – Greg Bell
      Jul 25 '17 at 0:06










    • Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
      – bytepan
      Jul 26 '17 at 8:17










    • Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
      – Louis Gagnon
      Feb 17 at 9:48










    • I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
      – Zangar
      Mar 27 at 16:37


















    On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
    – Greg Bell
    Jul 25 '17 at 0:06




    On my stock Ubuntu 16.04 system, the phone doesn't even show up in lsusb. Would this library set fix that so that I can get iTunes working within VirtualBox?
    – Greg Bell
    Jul 25 '17 at 0:06












    Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
    – bytepan
    Jul 26 '17 at 8:17




    Several months have passed and I honestly don't remember perfectly, but I think that my iPhone was detected in lsusb even before applying the new libraries, so I don't know if they can fix the issue you're talking about.
    – bytepan
    Jul 26 '17 at 8:17












    Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
    – Louis Gagnon
    Feb 17 at 9:48




    Thanks, this solved my issue on Ubuntu 16.04 and I can finally access my photos. One small note: it would be more appropriate to use this command: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib in the two substeps of n. 3. This way your current LD_LIBRARY_PATH, if any, gets preserved. Thanks again for sharing!
    – Louis Gagnon
    Feb 17 at 9:48












    I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
    – Zangar
    Mar 27 at 16:37






    I continually will get a message when I try to mount with :~$ ifuse /media/iPhone saying: There was an error accessing the mount point: Input/output error Does anyone else have this problem and is there a solution?
    – Zangar
    Mar 27 at 16:37












    up vote
    2
    down vote














    After having built new versions of libplist, libusbmuxd,
    libimobiledevice, ifuse and usbmuxd under /usr/local/lib, those
    versions have to be taken into use when calling the commands to
    connect the iPhone (instead of using the old library versions, which
    is done by default). So I did the following in a bash-shell (make sure
    to unlock (enter your code or use your fingerprint) your iPhone before
    each action):



    sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd
    export LD_LIBRARY_PATH=/usr/local/lib
    idevicepair pair
    ifuse /media/iPhone


    (comment originated from user639768 and was posted as a question, but has since been deleted.)







    share|improve this answer



























      up vote
      2
      down vote














      After having built new versions of libplist, libusbmuxd,
      libimobiledevice, ifuse and usbmuxd under /usr/local/lib, those
      versions have to be taken into use when calling the commands to
      connect the iPhone (instead of using the old library versions, which
      is done by default). So I did the following in a bash-shell (make sure
      to unlock (enter your code or use your fingerprint) your iPhone before
      each action):



      sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd
      export LD_LIBRARY_PATH=/usr/local/lib
      idevicepair pair
      ifuse /media/iPhone


      (comment originated from user639768 and was posted as a question, but has since been deleted.)







      share|improve this answer

























        up vote
        2
        down vote










        up vote
        2
        down vote










        After having built new versions of libplist, libusbmuxd,
        libimobiledevice, ifuse and usbmuxd under /usr/local/lib, those
        versions have to be taken into use when calling the commands to
        connect the iPhone (instead of using the old library versions, which
        is done by default). So I did the following in a bash-shell (make sure
        to unlock (enter your code or use your fingerprint) your iPhone before
        each action):



        sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd
        export LD_LIBRARY_PATH=/usr/local/lib
        idevicepair pair
        ifuse /media/iPhone


        (comment originated from user639768 and was posted as a question, but has since been deleted.)







        share|improve this answer















        After having built new versions of libplist, libusbmuxd,
        libimobiledevice, ifuse and usbmuxd under /usr/local/lib, those
        versions have to be taken into use when calling the commands to
        connect the iPhone (instead of using the old library versions, which
        is done by default). So I did the following in a bash-shell (make sure
        to unlock (enter your code or use your fingerprint) your iPhone before
        each action):



        sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd
        export LD_LIBRARY_PATH=/usr/local/lib
        idevicepair pair
        ifuse /media/iPhone


        (comment originated from user639768 and was posted as a question, but has since been deleted.)








        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 13 '17 at 12:23


























        community wiki





        2 revs
        Thomas Ward























            up vote
            2
            down vote













            Tested on iPhone 4S on 16.04 and 18.04; no reason to believe it will be different on 6 or later versions



            [EDIT: see below it works all the way to iPhone 7].



            Fairly simple route:



            ➊ INSTALL:



            sudo apt install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd libimobiledevice6 libplist3 ifuse


            you may need to do this too:



            sudo mkdir /var/lib/lockdown
            sudo chmod 777 /var/lib/lockdown


            ➋ in Terminal to see your iphone address:



             lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2


            You will see something thus:



            iManufacturer 1 Apple Inc.

            iProduct 2 iPhone

            iSerial 3 ca00d62380d42746b8ff8280....d1fd7b7119ca



            ➌ Open Nautilus



            enter the iSerial from above:



            afc://ca00d62380d4274....f8280a91ed1fd7b7119ca/


            NOW you see your files.



            ➍ As an embellishment you could install VLC Mobile
            from App Store FREE of course which will let you play formats itunes cannot handle Flac Wavpack etc



            you will see/place the music files in Documents on iPhone next to iPhone on left of page [This is on LXDE; must look similar in other Desktop Environments]






            share|improve this answer























            • This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
              – Abe Voelker
              Nov 5 at 16:12










            • Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
              – shantiq
              Dec 4 at 12:56















            up vote
            2
            down vote













            Tested on iPhone 4S on 16.04 and 18.04; no reason to believe it will be different on 6 or later versions



            [EDIT: see below it works all the way to iPhone 7].



            Fairly simple route:



            ➊ INSTALL:



            sudo apt install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd libimobiledevice6 libplist3 ifuse


            you may need to do this too:



            sudo mkdir /var/lib/lockdown
            sudo chmod 777 /var/lib/lockdown


            ➋ in Terminal to see your iphone address:



             lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2


            You will see something thus:



            iManufacturer 1 Apple Inc.

            iProduct 2 iPhone

            iSerial 3 ca00d62380d42746b8ff8280....d1fd7b7119ca



            ➌ Open Nautilus



            enter the iSerial from above:



            afc://ca00d62380d4274....f8280a91ed1fd7b7119ca/


            NOW you see your files.



            ➍ As an embellishment you could install VLC Mobile
            from App Store FREE of course which will let you play formats itunes cannot handle Flac Wavpack etc



            you will see/place the music files in Documents on iPhone next to iPhone on left of page [This is on LXDE; must look similar in other Desktop Environments]






            share|improve this answer























            • This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
              – Abe Voelker
              Nov 5 at 16:12










            • Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
              – shantiq
              Dec 4 at 12:56













            up vote
            2
            down vote










            up vote
            2
            down vote









            Tested on iPhone 4S on 16.04 and 18.04; no reason to believe it will be different on 6 or later versions



            [EDIT: see below it works all the way to iPhone 7].



            Fairly simple route:



            ➊ INSTALL:



            sudo apt install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd libimobiledevice6 libplist3 ifuse


            you may need to do this too:



            sudo mkdir /var/lib/lockdown
            sudo chmod 777 /var/lib/lockdown


            ➋ in Terminal to see your iphone address:



             lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2


            You will see something thus:



            iManufacturer 1 Apple Inc.

            iProduct 2 iPhone

            iSerial 3 ca00d62380d42746b8ff8280....d1fd7b7119ca



            ➌ Open Nautilus



            enter the iSerial from above:



            afc://ca00d62380d4274....f8280a91ed1fd7b7119ca/


            NOW you see your files.



            ➍ As an embellishment you could install VLC Mobile
            from App Store FREE of course which will let you play formats itunes cannot handle Flac Wavpack etc



            you will see/place the music files in Documents on iPhone next to iPhone on left of page [This is on LXDE; must look similar in other Desktop Environments]






            share|improve this answer














            Tested on iPhone 4S on 16.04 and 18.04; no reason to believe it will be different on 6 or later versions



            [EDIT: see below it works all the way to iPhone 7].



            Fairly simple route:



            ➊ INSTALL:



            sudo apt install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd libimobiledevice6 libplist3 ifuse


            you may need to do this too:



            sudo mkdir /var/lib/lockdown
            sudo chmod 777 /var/lib/lockdown


            ➋ in Terminal to see your iphone address:



             lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2


            You will see something thus:



            iManufacturer 1 Apple Inc.

            iProduct 2 iPhone

            iSerial 3 ca00d62380d42746b8ff8280....d1fd7b7119ca



            ➌ Open Nautilus



            enter the iSerial from above:



            afc://ca00d62380d4274....f8280a91ed1fd7b7119ca/


            NOW you see your files.



            ➍ As an embellishment you could install VLC Mobile
            from App Store FREE of course which will let you play formats itunes cannot handle Flac Wavpack etc



            you will see/place the music files in Documents on iPhone next to iPhone on left of page [This is on LXDE; must look similar in other Desktop Environments]







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Dec 10 at 7:59

























            answered Jul 18 at 11:59









            shantiq

            30934




            30934












            • This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
              – Abe Voelker
              Nov 5 at 16:12










            • Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
              – shantiq
              Dec 4 at 12:56


















            • This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
              – Abe Voelker
              Nov 5 at 16:12










            • Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
              – shantiq
              Dec 4 at 12:56
















            This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
            – Abe Voelker
            Nov 5 at 16:12




            This worked great for accessing my iPhone 7 Plus's photos on 18.04 and is way simpler than the other answers. Thanks!
            – Abe Voelker
            Nov 5 at 16:12












            Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
            – shantiq
            Dec 4 at 12:56




            Thanx Abe for saying it works on 7 since all I have is a 4S .... good to know for other folks or if I ever fork out for a more recent toy :] no need as yet as 4S still marvelous although from 2011 !
            – shantiq
            Dec 4 at 12:56





            protected by Community Dec 12 '16 at 4:08



            Thank you for your interest in this question.
            Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



            Would you like to answer one of these unanswered questions instead?



            Popular posts from this blog

            How did Captain America manage to do this?

            迪纳利

            南乌拉尔铁路局