Installing iTunes in VirtualBox on Ubuntu
After a big memory upgrade I don’t turn off my linux box any more. And since there is enough memory to run a passive virtual machine, I decided to install iTunes in VirtualBox and run it in background.
So here is a quick walk-through:
First you have to install VirtualBox from virtualbox.org. Since I’m on Linux Mint 12, I chose the Ubuntu 11.10 .deb package and installed it as followed.
sudo dpkg -i path/to/debfile.deb
Apple devices need USB2.0 support. To get this working with VirtualBox you have to download the Oracle VM VirtualBox Extension Pack from oracle.com. After installing VirtualBox open the global settings dialog and add the downloaded file under extension packs.
Now create a new virtual machine. Make sure you pick “Bridge network” in the network section to get Wi-Fi Sync working and enable USB2.0 support in the USB section.
At this point you can also add filters to the USB section to automatically forward Apple devices to the virtual machine on connect. You have to connect each device one after another and choose the Apple device from the “Add Filter From Device” button.
Since I want to use my existing iTunes library from my Windows machine and want to use the library for other services like Subsonic, I decided to store the library on the host system. To make it available in the virtual machine I created a shared folder to it in the settings too.
Now install your guest Windows system and the VirtualBox Guest Additions from the devices menu.
After that download and install iTunes from apple.com. If you want to use a existing iTunes library like me, uncheck the “start iTunes after installing” at the end of the installer.
Make sure your shared folder with the iTunes library is available and startup iTunes while holding down the [Shift]-key. This will bring up a dialog where you can choose your existing library.
Now connect your Apple device via USB and hopefully it will synchronize correctly.
Hope it helps,
P.S.: Don’t use WinSCP to copy your iTunes library to linux since it can’t handle utf-8 special characters correctly. I used the cygwin port of rsync instead.