[HOWTO] Sync your iPod touch / iPhone with Linux – GU1337

If you have an iPhone, please bear with me calling it an “iPod touch”. I don’t have time to put “iPod Touch / iPhone” everywhere.

Before we get started, I want to clear some things up:
* Syncing your iPod touch with Linux is NOT the most efficient process, and is also not very stable.
* Any flaws in your sync CAN BE FIXED.
* A restore is not possible on Linux. I am in the process of writing a Python script for restoring to 1.1.1 (that may never get completed).
* iTunes emulated under Wine will NOT sync your iPod touch

I’m using Ubuntu Linux 7.10 for everything in this thread.
apt-get and Synaptics are the Debian/Ubuntu package installer/manager
yum is the Fedora/Redhat package installer/manager

Before you even start, make sure your iPod is jailbroken, and you have BSD Subsystem and OpenSSH installed and running. All Linux syncing is done wirelessly, so if you don’t have Wifi, you’re stuck making a LAN connection from your computer to your iPod touch. I have no idea how to do this efficiently yet.

Once you get these installed and running, set Auto-Lock to Never. Also, set a static IP address outside of your IP range (so it won’t ever be taken).
Mine is

Now, I suggest using GTKpod to sync your iPod touch. Don’t install it from Synaptics or apt-get or yum, etc. because it installed an older version (.99.10), which corrupts your touch’s database to read music and videos.

Compile the sources for .99.12 from the GTKpod website (gtkpod.org) manually. Make sure you have build-essential and gcc installed.

If you have trouble installing any dependencies, check Synaptics first to see if they exist in the version required, you need the -dev versions to compile properly.

If anyone has any dependency errors, post here or PM me! I can supply links to sources/binaries of these sources.

Once you get GTKpod .99.12 installed, it’s pretty much easy from here.

sudo apt-get install ipod-convenience

Once you get ipod-convenience installed, enter the IP you set as your static IP for your iPod.

Now, open a terminal. Type:

And type your root password (alpine by default).

To unmount, type:

Now, open GTKpod. It *should* bring up a dialog box asking for your model type. Either put “Touch” or “Phone”. Pick either of them, doesn’t matter.

Now, click your iPod. It should “hash” any tracks you currently have on your iPod touch.

Once it’s done (may take a while if you have many songs and videos on your iPod), you can now delete, rename, and play (using an external player) any media files on your iPod.

“But wait! I can’t play them!”
You need to install mp3 support (and m4a/aac/mp4 support). This is in Add/Remove Programs, called “Ubuntu Restricted Extras”. Install that, and it should work!

To add tracks, not only do you need to press “Add File” or “Add Directory”, but you also need to SAVE CHANGES.

Once you’re done, just close GTKpod. No need to keep it open.
Open terminal (or restore it if you didn’t close it) and type:

And you’re done.
If you don’t feel like unmounting it for now, just open the music application on your iPod and hold down “Home” until it completely closes. Once you reopen it, your new music will appear. ipod-touch-umount and iphone-umount act as the same thing as closing the app.

The first time you mount your iPod, plug the iPod touch into the USB port on your computer. Disregard any “Camera Import” dialogs that appear. When you mount it the first time, it needs to create the Firewire GUID to your iPod.

Anyways, that’s pretty much everything you need to know!
If I forgot anything, I’ll add it later!

Any errors or help you need, post here, preferably. Don’t PM me unless it’s needed. I barely check my PMs anyways. I’ll be faster replying here.

— Alex

Amarok Section!
Settings > Configure Amarok
Media Devices > Add Device > “Apple iPod Media Device”
Point it at your mount point (by default /media/ipod)
Click the blue cog icon called “Configure Device” right above the iPod touch
For “Pre-Connect Command” add ipod-touch-mount (or iphone-mount)
For Post-Disconnect Command” add ipod-touch-umount (or iphone-umount)
In “Devices”, click “Connect” and enter your password
Your iPod touch should appear in Amarok!
Once connected, click on the double arrows on the right hand side of the Connect, Disconnect, and Transfer icons
A list of options opens up (iPod is what you want). Choose iPod > Set iPod Model > Mobile Phones > iPhone

There ya go! You can sync it now like a regular iPod!

Leave a Reply

Your email address will not be published. Required fields are marked *

To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image