How to manage/sync your iOS 7 device under Linux (natively)

If you have a fairly recent iDevice (iPod, iPad, iPhone etc) running iOS 7.x.x (or higher) and you use Linux like me, at first glance you might have been a little disappointed when plugging it to the computer, as there is this wierd "trust bug" going around in some distros, also you might have wonder what are you going to do if you don't have iTunes here, well let me show you how comfortable actually it is to use an Apple device under any linux distro.

NOTE: I use Fedora Linux, so this tutorial will be based on that distro but there are not really "specific" steps or tools I'll take/use so you can follow my instructions under any other distro with very slight modifications.

1) Dependencies

We are going to need some deps in order to accomplish what we wanna do, so please open your terminal/package manager and install them:

Build deps (basic compilation software)

For fedora please install these packages.

iDevices deps

su -c 'yum install gcc rhythmbox libgpod ifuse gvfs-afc libtool libusb libusb-devel libplist'

2) "Trust Bug" Fix

When plugging an iOS 7 (or higher) device to a Linux computer, you might have noticed that there's this kind of annoying message (and it doesn't dissappear):

So, the fix for this is downloading, compiling and installing the latest version of libimobiledevice (and it's dependencies also) from git, this can be accomplished as follows:

NOTE: If your distro provide packages for libimobiledevice-1.1.6 (or higher) please save yourself some time and just install the library as you would install any normal package and move on to the 3rd step of the guide (also instal usbmuxd and usbmuxd-devel packages). If you however are stuck with an older version packaged, then follow these steps down here (as a standard non-root user)...  P.S. believe Ubuntu users have a special PPA for this process, it's called "ios7support" or something, you can search for it at Google if you want instead of compiling the libraries but personally I don't see the point of adding a PPA to your system just for a couple of files.

1. mkdir ios7
2. cd ios7
3. git clone
4. git clone
5. git clone

Then for the first library (libplist) we do:

cd libplist && ./ && make && sudo make install && cd ..

This process will "install" the first updated library we need (libplist) under /usr/local/lib. Now you have to move all the generated files in that directory to your actual libs directory (in my case, on Fedora 20 x86_64, such dir it's the /usr/lib64 one). If in your system the selected path from the compilation it's the correct one (/usr/local/lib) then you're good to go. In case you have to move the files, note that your actual libs directory might already have some of these files in it, replace them all except the pkgconfig folder, in that case just copy the contents of the generated one to the other already existing in your actual libs directory.

After doing the first updated library install then we need to perform the other two:


cd libusbmuxd && ./ && make && sudo make install && cd ..

(Copy all the files inside /usr/local/lib to your actual libs directory as above again replacing and mixing as noted before)


cd libimobiledevice && ./ && make && sudo make install && cd ..

(Copy all the files inside /usr/local/lib to your actual libs directory as above again replacing and mixing as noted before)

After compiling/installing the updated libraries, you'll have to run another two commands:

1. sudo mkdir /var/lib/lockdown
2. sudo chmod 777 /var/lib/lockdown

Reboot the computer (with the device unplugged) and you're good to go. After the reboot, log in to your desktop and plug the device again, (make sure it is unlocked). it should mount correctly now.

3) Using as massive storage device

Just open any file manager and you'll see the device mounted, you can now use it as a big external HDD to transfer files and such:

4) Multimedia (Music, Photos, Videos, etc.)

The best app for music managing it's rhythmbox. It even supports syncyng:

However, there seem to exist a bug which doesn't let the iDevice's Music app to see the transfered music, so for transfering/managing (and enjoying) music in your iDevice when using Linux you have to use OPlayer Lite (a free iOS app available for download right from your device using the AppStore app) which will let you transfer multimedia files over a special connection using WiFi (both the machine and the iDevice should be connected to the same network/router either via WiFi or Ethernet); The app will store the files inside it's own "filesystem" and it has a pretty cool music player app (also a video player one) you can use to replace the original music/video apps in your iDevice:

NOTE: OPlayer has a paid version with slightly more features and no ads, I recommend purchasing the full app, it's worth it.

¿And for photos? I'd go with Shotwell:

For video related tasks, I'd recommend using OPlayer on the phone and VLC media player in the computer:

We've already talked about OPlayer's features and usage in the music part of the post... same rules apply for video (syncyng/viewing etc). However, keep in mind that most of the time for remote video playing (from the device to the computer) VLC for desktop is the best tool to choose, as it can open remote locations and has the Play from URL feature among other things.

5) Networking (AirDrop & Home Share features)

One of the features I like the most about the Apple products it's the Airdrop feature. Basically it is a way to share files across devices at very fast speeds without the cloud involved (Somehow like a LAN of some sort). If you wanna enjoy this feature between your iDevice, your Linux computer (and other devices) just install Dukto on all of them, connect them to the same network and voilá! instant secure file sharing for everyone (plus other features); For the media server (HomeShare), I believe the best way to go is to install the xbmc package on your distro (it comes in any distro's repos) and working from there towards tour preferred sharing setup.

NOTE: You may also consider using Documents by Readdle for quick sharing/uploads using a web interface:

6) Apps & Backups/Restore

For downloading/purchasing and installing apps on your device, just use the Appstore/iTunes store apps in it, it is not possible to "send downloads from the computer" using linux as you don't have iTunes installed. For full-device backups (app preferences and stuff for soft restoring) just use the iCloud option the device offers under Settings>iCloud, it comes with 5.0 GB free and for the music and stuff you can always make a backup on your machine with the deja-dup backup tool (available for all distros in repos) or so. The iPhone can restore/factory reset itself from the Settings>General>Restore menu. For hard restoring (DFU Mode and the like), you can always use this open source tool in your linux box.

7) Software Updates

The Appstore app will handle individual app updates, for O.S. updates, just use the OTA update system under Settings>General>Software Update.

Seven points, seven basic managing tasks that iTunes accomplish, now you can fully manage your iDevice without iTunes using only FOSS software! (or mostly); How awesome is that? I believe it's amazing.