gtkpod: A better alternative than iTunes

I am going to break from my normal routine of ranting and/or raving about one issue or another and go old school by looking at a Linux application. That's right - a good ol' fashion Linux application.

I have recently been inundated with questions about using an iPod (or iPhone) with Linux. I have written about Rockbox and how to "Open Source" your iPod, but for the average user, that is not a viable option (Firmware? Do what????). So instead I am going to introduce you to an application that, in my opinion, is much better than the original (the original being iTunes.) Gtkpod is a GTK application that allows the user to sync their iPod with Linux. Gtkpod supports first through fifth generation iPods and does, pretty much, everything iTunes does. So let's first take a look at the features. Gtkpod can:

  • Read your existing iTunesDB (this is nice because it can actually take the songs off your iPod and put them onto your computer without needing a third-party application).
  • Add music to your iPod.
  • View, add, and modify Cover Art.
  • Browse contents of hard disk and drag/drop songs into playlists.
  • Create and modify playlists, including smart playlists.
  • Configure the charset the ID3 tags are encoded in from within gtkpod.
  • Extract tag information (artist, album, title...) from the filename if you supply a template.
  • Detect duplicates when adding songs (optional).
  • Remove and export tracks from your iPod.
  • Modify ID3 tags -- changes are also updated in the original file (optional).
  • Refresh ID3 tags from file (if you have changed the tags in the original file).
  • Sync directories.
  • Normalize the volume of your tracks.
  • Write the updated iTunesDB and added songs to your iPod.
  • Work offline and synchronize your new playlists / songs with the iPod at a later time.
  • Export your korganizer/kaddressbook/thunderbird/evocalendar/evolution/webcalendar data to the iPod.

Gtkpod can not:

  • Connect to iTunes store.
  • Rip songs from CDs (for that you will need to use another application like Kaudiocreator.)
  • Sync an iPhone without jumping through some serious hoops (we won't touch on that one yet.)

Now let's get down to business.

Getting and installing

The first thing you need to do is install gtkpod and its requirement libgpod. To do this use either yum or apt-get and run either command: yum install gtkpod or apt-get install gtkpod. Both of these will catch the requirements and, with your permission, will install them both. Now you're ready to fire up gtkpod.

First use

Before you start up gtkpod you are going to have to find out where your system sees your iPod. Plug your iPod into your computer, open up a command prompt, and issue the command dmesg. Toward the end of that scrolling list, you should see something like:

sdb: Write Protect is off

sdb: Mode Sense: 68 00 00 08

sdb: assuming drive cache: write through

SCSI device sdb: 58605120 512-byte hdwr sectors (30006 MB)

sdb: Write Protect is off

sdb: Mode Sense: 68 00 00 08

sdb: assuming drive cache: write through

sdb: sdb1 sdb2

sd 17:0:0:0: Attached scsi removable disk sdb

sd 17:0:0:0: Attached scsi generic sg0 type 0

That should tell you your usb subsystem sees the device at sdb. Now you need to be about to mount this as a standard user. You don't want to have to add music to your iPod as root. So as the root user add an entry to your /etc/fstab file that looks like this:

/dev/sdb2 /media/IPOD auto defaults,user,rw 0 0

As you can see we're using the sdb device but we've added a 2 to the location. This is done because /dev/sdb1 is taken up by the boot record and 2 is where the heart of the device is. You will also notice our fstab sees the mount point as /media/IPD so we have to create the directory /media/IPOD. Do this as root but give it 777 permissions with the command chmod -R 777 /media/IPOD.

Now, as the standard user you can mount your iPod. Test this by issuing the command mount /media/IPOD. If it works you won't get any errors. Check out the contents by issuing ls /media/IPOD.

Now to gtkpod.

NOTE: I am using version .99.8.

You can start up gtkpod from either the multimedia menu (from either KDE or GNOME) or run the command gtkpod from the command line. When you first start up you are going to have to take care of some simple configurations. Go to Edit and then Edit preferences and then take a look at the General tab. In that tab will be a button to click to configure the Mount point of your iPod. There you will enter /media/IPOD for the iPod Mountpoint and select a directory to serve as your backup directory. That's about it.

So in order to use gtkpod you first want to plug in your iPod, mount it, and then open up gtkpod. Gtkpod will see all of the songs on your iPod and you can add, delete, edit, and do pretty much everything you need. Once you are done, make sure you click the Save Changes button and let all changes be saved. Once that is finished unmount your iPod with the command umount /media/IPOD and you're ready to unplug your device.

Now there are some more advanced things you can do with gtkpod but I am not going to get into those. And you should be able to figure out most of the usual tasks.

Final Thoughts

I have been using gtkpod to sync my iPods for a long time. I have yet to have a single problem with this application. And, unlike iTunes, gtkpod won't bring your system to a snail-like pace when using it.

I hope you give gtkpod a try. Once you use it, and see how powerful and simple it is, you won't turn back to iTunes unless you need to download music. Enjoy. Or, better yet, Rock on!