Amarok and gtkpod can wirelessly sync music with iPod Touch and iPhone, including adding, editing and playing songs and playlists.
This guide requires Ubuntu 7.10.
Warning: While this guide works fine for most users, making unsupported changes to your iPhone or iPod Touch is done at your own risk and could result in data loss and possibly void your warranty. Follow this guide with care.
Before using this guide, you must first jailbreak the ipod touch.
From the iPod home screen:
A third party source provides the ipod convenience package needed to properly mount and unmount an iPhone or iPod Touch, and for gtkpod users, a newer gtkpod that's required for the iPhone and iPod Touch.
deb http://ppa.launchpad.net/ipod-touch/ubuntu gutsy mainipod-convenience.gtkpod. When asked, enter the IP address of your iPod Touch or iPhone that you selected earlier.You should now be able to mount/unmount your iPod using the following commands in a terminal (Do not use Alt+F2):
$ ipod-touch-mount $ ipod-touch-umount
When entering the above commands, you will be prompted to enter your iPod's root password. By default, dottie in firmware 1.0 and alpine in 1.1.x
iPod Touch users only, skip this step if you are using an iPhone.
The iPod Touch requires you to create a file that is used when generating the iTunesDB and ArtworkDB which store the information of which files are on the iPod. Plug in your iPod Touch to your Ubuntu computer and run this command in a terminal:
$ sudo lsusb -v | grep -i Serial
You will receive an output similar to this:
iSerial 3 8089e2ce5193625c38813ec10fad4032ec839c02 iSerial 1 0000:00:1d.7 iSerial 1 0000:00:1d.2 iSerial 1 0000:00:1d.1 iSerial 1 0000:00:1d.0
Now what you are interested in is the first 16 characters of that really long string. This is the GUID. You'll now place a copy of the GUID in iPod Touch for syncing apps to use.
$ ssh root@<Your iPod's IP Address>
$ mkdir -p /var/root/Media/iTunes_Control/Device
$ echo "FirewireGuid: 0x8089e2ce5193625c" > /var/root/Media/iTunes_Control/Device/SysInfo
When you first open gtkpod you may receive some errors. Simply click OK to proceed.
Simply add music to the iPhone or iPod Touch like you would any other iPod and Save Changes when done.
In order for programs like Amarok to connect to your iPhone via SSH without asking for a password, you can set up key based logins. You can skip this step if you're happy typing your password each time.
$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@<Your iPod's IP Address>
$ ssh root@<Your iPod's IP Address>
$ passwd
/etc/sshd_config using nano (or other editor):$ nano /etc/sshd_config
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
Remove any hashes (#) at the beginning of these three lines.
$ reboot
You should now be able to SSH in to your iPod without being asked for a password.
If you're still asked for a password:
~/.ssh/id_rsa.pub file and compare it with the ~/.ssh/authenticated_keys file on your iPod. Does any entry match? If not, try the ssh-copy-id command again. Alternatively, just copy the contents of your id_rsa.pub file and paste it on a line of its own in authenticated_keys. Entries must be one line only.$ ls -al ~/.ssh total 4 drwxr-xr-x 2 root wheel 102 Nov 21 04:25 . drwxr-xr-x 6 root wheel 306 Nov 20 00:02 .. -rw-r--r-- 1 root wheel 395 Nov 20 03:01 authorized_keys
.ssh in your user's home directory, and place three files in there: id_rsa, id_rsa.pub, and known_hosts. id_rsa is your private keyfile; do not let anyone see it. id_rsa.pub is your public one which can be added to any machine's authorized_keys list. You want your iPod to have the public key.