Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Thursday, October 4, 2012

HOWTO: Elluminate Live Application Sharing on Ubuntu 12.04

TL;DR: Elluminate Live Application Sharing is broken under Oracle JRE 7. Use Oracle JRE 6 instead and configure Elluminate Live accordingly.

This week, in an online class I'm taking, I was asked to give the class a demonstration of an app I had just written. This was to be accomplished via Elluminate Live (which was recently acquired by Blackboard.com).

When I attempted to begin my presentation, I found that I was unable: under Tools->Application sharing, I only had one option ("stretch to fit") available. Two others, Request Desktop Control and Request Control of Shared Applications were present but greyed out. Normally, many more options should be available--the fact that they weren't made giving my demo impossible. I was left in a lurch and had to ask my professor to move on to the next presenter.

I knew there had to be a way to fix this, so I set about figuring one out. Fortunately, I found one. The issue turned out to be with Oracle JRE 7.

Here's what I did to get desktop application sharing working for Elluminate Live on Ubuntu 12.04:

  1. Install the Java 6 JRE. This is easier said than done at this point as Java 6 is near end-of-life and is unavailable from the Ubuntu or Ubuntu partner repos due to licensing issues. Instructions for installing it (legally) can be found here. I used the flexiondotorg github repository method.
  2. Set Java 6 as the default JRE (see Ubuntu help link in #1 above).
Note: There is one more step: tell the Elluminate application which JRE to use. After completing steps 1 and 2 above I noticed that under Help->About Elluminate Live->Information->Java Virtual Machine, Elluminate reported that it was using Java 6 for javaws but Java 7 for its JRE despite me setting Java 6 to be my default JRE. What I had to do was start javaws from the command line ($ javaws) and choose the Java tab, click the View button under Java Runtime Environment Settings and disable the Oracle 7 JRE. The next time I entered the Elluminate Live session, application sharing worked!

Now I won't have to resort to using a Windows VM to just to get into my class every week.

Note: OpenJDK might work, but I haven't tried it in a couple of years due to other issues I ran into with that JRE.

Friday, June 3, 2011

Recently, my HTPC began to throw an error upon boot, namely:

An error occurred while mounting /home/house
Press S to skip or M for manual recovery

My /home directory is located on a second hard disk, which I had recently upgraded from a 500GB to a 2TB drive. Running fsck from the shell I got when pressing "M" didn't do the trick. It found no errors and gave me no output. This was strange, but rather than troubleshooting that way (and subjecting myself to sitting awkwardly on the floor in front of my TV with a backup keyboard & mouse), I opted to pull the drive from the tower and hook it up to my laptop as an external drive. This at least made the whole affair somewhat ergonomic!

At any rate, I was able to successfully fix the issues the drive was having at this point using fsck. The relevant terminal output is below.

$ sudo fsck -p -t ext4 /dev/sdb1
fsck from util-linux-ng 2.17.2
/dev/sdb1 contains a file system with errors, check forced.
/dev/sdb1: Deleted inode 34604232 has zero dtime.  FIXED.
/dev/sdb1: Inodes that were part of a corrupted orphan linked list found.  

/dev/sdb1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
    (i.e., without -a or -p options)
rick@satellite:~$ sudo fsck -t ext4 /dev/sdb1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.14 (22-Dec-2010)
/dev/sdb1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inodes that were part of a corrupted orphan linked list found.  Fix? yes

Inode 34604378 was part of the orphaned inode list.  FIXED.
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -(44735--44749) -(44759--44766)
Fix? yes

Free blocks count wrong for group #1 (1740, counted=1763).
Fix? yes

Free blocks count wrong (378412112, counted=378412135).
Fix? yes

Inode bitmap differences:  -34604232 -34604378
Fix? yes

Free inodes count wrong for group #4224 (6824, counted=6826).
Fix? yes

Free inodes count wrong (121926425, counted=121926427).
Fix? yes


/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb1: 175333/122101760 files (1.4% non-contiguous), 109965865/488378000 blocks


At this point, I was able to hook the drive back up in my HTPC and it booted again.

Thursday, May 6, 2010

Using .jnlp files in Ubuntu 10.04

After a rocky upgrade to Ubuntu 10.04, I encountered my first issue with my out-of-the-box experience using the new release of Ubuntu. In order to attend virtual class sessions through an online course at a local university in which I am currently enrolled, I use a Java application (specifically, one built on the Elluminate platform). Accessing the class involves me downloading and running a .jnlp file using the installed JRE.

When I attempted to log in to class tonight, however, I was unable to do so. When I ran the jnlp file, the interface attempted to load, then crashed. The command line output was:


Exception in thread "Elluminate Live!" java.lang.NoClassDefFoundError: Could not initialize class com.elluminate.util.UtilDebug
    at com.elluminate.util.I18nText.getResourceList(I18nText.java:523)
    at com.elluminate.util.I18nText.(I18nText.java:52)
    at com.elluminate.util.I18n.(I18n.java:57)
    at com.elluminate.platform.Platform.(Platform.java:39)
    at com.elluminate.compatibility.CThread.(CThread.java:15)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:454)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:731)


The issue, I discovered after browsing launchpad for a few minutes, is known to come up with the OpenJDK JRE, which is the default JRE for Ubuntu beginning with this new release, and .jnlp files. At this time, there are multiple open bugs on launchpad regarding the same or similar issues, so I did not bother filing another.

Luckily, this can be worked around by installing the non-free Sun JRE. Here is what I did:

First, I followed the instructions here for installing Sun's JRE from the Ubuntu partner repository. However, these instructions are incomplete as there are no steps to configure which JRE is the system default. This is simple and can be accomplished by running the following command in the terminal:


sudo update-alternatives --config javaws

...and following the on-screen instructions. Once I did that, fortunately, I was able to access my course session jnlp file again with no issues.

Thursday, October 8, 2009

Strange Display Issues

Recently I have been having a very strange issue with my desktop box. After I log in (sometimes immediately, sometimes after just a few minutes), menus stop appearing. This includes the Gnome-panel menus as well as the menus in any program I may be running or the right-click context menu in Nautilus. When I click a menu, its color changes to indicate that it has been clicked like it normally would, but I don't see the menu.

If I am running any program such as Nautilus or Totem when the problem occurs, I can keep using it normally (as long as I don't need to access a menu or right-click anything), but the only way I have found to resolve the issue is by restarting X (after having installed dontzap and re-enabling the ctrl+alt+backspace shortcut).

Also-- I use Gnome-Do's Docky interface. I noticed that if I click an icon in Docky while this problem is going on, the icon grows like normal then nothing happens: the program does not launch and the icon doesn't shrink back to its normal size either.

So, this seems to be some weird problem with my desktop not refreshing or something. I do not recall making any changes recently, other than installing a few updates when prompted (sorry, I don't recall which ones, but this came up about 2-3 weeks ago).



Over the weekend I installed a host of updates (including some kernel updates and the problem seemed to go away. Unfortunately, that proved not to be the case: I'm still having the problem, although I have some more information about what seems to be going on. 

It all seems to be related to an episode I had a few months ago after I inadvertently allowed my $HOME partition to fill up. I wrote about it in all its painful glory here.

Since that time everything has seemed fine, except weird issues I've been having in Banshee. I noticed after I addressed the issues caused by the full partition that whenever I launched Banshee, it would never remember my view settings (it did before the problems I had). For example, one view pane would always be reduced to about 5% of the viewable screen instead of the 60/40 split I would always use. Every time I launch Banshee the first thing I do is resize the view panes to the way I like them, but it never remembers the preference (again, it used to remember).

The display issue I wrote about in my first post seems to have started coming up after Banshee locked up when I paused a movie I was watching. I killed the program with the Force Quit applet. I think that this is when the display issues started.

As I mentioned above, the problems seemed to stop when I installed some updates (including a Kernel update). Tonight I re-installed the latest kernel through Synaptic and the issue seemed to stop again.

I'm going to play around with Banshee and see if I can cause this to happen again. What I'm wondering is whether what I'm describing about Banshee and the other issues ringing any bells to anyone. Am I touching on something here? If I am able to cause this to happen by causing a Banshee lockup again, I guess I could try to back up my banshee.db then completely remove/ reinstall the program and see if it performs normally again.

Sunday, July 19, 2009

Penumbra

This weekend I picked up a copy of the Penumbra Collection. The three-part game is on sale this weekend and, since the developers were good enough to produce a native Linux version, I was eager to support them by making the purchase.

I paid for and downloaded the game, ran the installer, and launched it. This is when I ran into an issue. As soon as I launched the game, my monitor (actually the TV in the living room) went dark and gave me a message about the signal being unsupported. I had audio and heard the game intro playing, but I couldn't escape the window. My only option was to reset the computer. Great, I thought, what's wrong now? Driver issue? Do I need to tweak xorg.conf? I set about digging for an answer.

The first thing I did was install and enable dontzap so that I could at least restart X without resetting the whole computer, which did help as I ended up launching the game a few times as I tried to troubleshoot.

As an alternative to restarting X the good old fashioned way, I also did the following: when the game started and I was left with no display, I dropped into a virtual terminal (ctrl+alt+F1), ran the top command, found the PID for the game, and killed it (sudo kill -9 [PID]). However for whatever reason, I was still unable to get back to my graphical terminal after doing this and had to restart X anyway by running sudo /etc/init.d/gdm restart. So, a simple ctrl+alt+backspace was still the way to go.

Anyway, on to the information hunt. A few google searches as well as a look through the devs' Linux support forum turned up a few related or similar problems, but nobody seemed to be running into the exact problem that I was. The ones that were similar were all running Intel or ATI graphics cards (I have NVIDIA).

Normally, my first trick in troubleshooting this kind of thing is to run the program from the command line and see what errors it throws. However since I was running into a situation where I had to restart X or take the entire system down, anything displayed in Terminal would obviously be lost. So, I decided to dump any Terminal output into a log file by running:

/home/rick/PenumbraCollection/Overture/penumbra > ~/Desktop/penumbra.log

The log file contained only this:

Penumbra: Overture exited unexpectedly, please check
/home/rick/.frictionalgames/Penumbra/Overture/hpl.log
for any error messages
Also try running
ulimit -c unlimited
And re-running Penumbra and try and recreate the error
then submit the generated core file or stack trace

This output was generated only when I killed the process. I wondered to myself how there could not be any errors thrown when I launched the game. Then it hit me: there were no errors thrown because the game was running just fine! The problem was with my monitor-- the signal was unsupported, but it was receiving something. I looked in ~/PenumbraCollection/Overture/config/default_settings.cfg and found what I expected in the form of the following line:

Screen Width="800" Height="600" FullScreen="true" Vsync="false"

Cripes, I thought. It was simple all along! The 1080 TV I'm using doesn't support 800x600! Insta-facepalm. I edited the line, replacing 800 and 600 with 1920 and 1080 and viola! I had picture when I launched the game again. The problem was far more simple than I had imagined. Now I know what I'll be doing for the afternoon...

Saturday, July 11, 2009

Fallout

Recently I blogged about my misadventures with a full partition that contained my $HOME folder. I noticed not long after that episode that I still had some strange behavior, such as various program preferences not being saved and issues copying some files during a data backup.

After doing a bit of sleuthing, I concluded that in addition to the issues I wrote about at the time, my $HOME permissions had been altered. I did a bit of digging and from a few different forum threads, I plucked out a few commands that helped me to restore things back to their normal order. What I had to run was the following:

sudo umount ~/.gvfs --> unmount the GNOME Virtual File System config so that I can...

rm -r ~/.gvfs -->
...delete it, to allow...

sudo chown -R rick /home/rick -->
...everything to properly be chown-ed by me.

And finally:

chmod 755 ~ -->
Set proper permissions for ~ (Read/Write/Execute for me, Read/Execute for everyone else).


Yes, some of these things can be done through Nautilus, but that method is not recommended. The reason being that Nautilus does not always handle permissions as gracefully as the trusty command line.

So there you have it, a two-part post on what how to remedy a broken system. Again, the upshot is not to let this happen to begin with!

Sunday, May 31, 2009

A Full HDD = Trouble: A Cautionary Tale

This weekend I learned an unexpected lesson in system admin: what happens when the partition containing my /home/ folder runs out of free space.

While doing a re-installation of my system after hosing my GRUB, I backed up a few GB of documents from a location that was to be wiped out to my home folder. That extra disk consumption, combined with a large file download I initiated after brining my system back online, was enough to fill up the HDD containing the partition where my /home/ folder is located (for ease of re-installation in the event of a problem I mount a second partition to my /home/ folder).

The first thing that happened was I noticed that the file I was downloading suddenly registered a nondescript "error" at about 45% completion. After trying to re-start it a couple of times and having no joy, I decided to restart the system. Bad idea. Upon logging back in, I noticed a lot of screwy behavior: Docky, which I use in place of a bottom panel, would not start and thew a lot of errors when I tried to launch it from the command line, my Compiz settings all reverted to default, Firefox launched upon login despite me not configuring my session as such, and other seemingly unrelated problems.

After a few logouts/restarts did not alleviate any of the problems I had run into, the wheels started turning. I realized quickly what had gone wrong and confirmed in Nautilus that I had in fact run out of space on my /home/ partition. No problem, I thought, I'll free up some space by emptying the Trash. Well, guess what: when the disk is full, it is not possible to do this (I guess GNOME needs some disk space to perform the operation). When I tried to empty the trash I got a progress bar and the message "perparing", but the operation halted without anything actually being removed.

Ultimately, I was able to get out of this pinch by moving a few GB of data from /home/ to / via the command line. Once that space was freed up, I was able to empty the trash, re-arrange a few things, and everything went smoothly from there.

Everything appeared ok until I tried to load up Banshee and play some music. I loaded a playlist and clicked play, and playback halted after the first five items failed to play. I launched from the command line and tried again, at which time Banshee threw the error:

GStreamer resource error: NotFound

A bit of googling suggested that Banshee's DB had become corrupted. This proved to be the case as I was importing some new media at the time I ran out of disk space. This must have happened just as data was being written to banshee.db.

So, as suggested on a few sites, I backed up and deleted the file ~/.config/banshee-1/banshee.db. Sure enough, I was able to re-import my music and successfully play it again.

Unfortunately, playlists did not go so smoothly. Before deleting the original DB I exported each playlist to an M3U file so that I could import them again after re-creating the music DB. I told Banshee to import the playlists and watched as it loaded each one-- with zero songs in each. This was a painful discovery: with about 10,000 songs in my library spread across 15 or so playlists, there was no way in hell I was going to go through re-creating them all. I was determined to find a way to fix this.

Luckily, I found one. When examining the M3U files in gedit, I noticed that for some reason Banshee had not saved the file locations properly. Rather than an absolute path of /home/rick/Music/artist/album/song, the playlist entries were /home/rick/artist/album/song. I have no idea why the /Music folder was completely left out of the file path, but I verified that this is what happened to each and every one of my playlists. A few quick "find and replace" operations later, my playlists were back in order again, and the episode had finally come to an end.

My takeaway from this? Pay attention to disk usage and don't run out of space again!

Now I just need to find out if the Banshee team are aware of the problem I ran into when exporting my playlists...

Sunday, May 17, 2009

Update Manager Errors - Resolved!

For a months now I've been getting a pesky error from Update Manager when checking for updates:

W:Failed to fetch http://archive.canonical.com/ubuntu/dists/intrepid/Release Unable to find expected entry main/binary-i386/Packages in Meta-index file (malformed Release file?)

This is probably something that most linux users see in some form at one time for another and while I had googled it a few times, I had not managed to resolve it. This was OK because while a bit annoying, it was not a show-stopper as I could simply dismiss the error and continue on my way.

That was, until today, when I finally got around to upgrading to Ubuntu Jaunty. The problem went from being a nuisance to a genuine problem as it caused the dist-upgrade to fail.

Determined to find a way around it, I again began by searching the Ubu-forums for simply the tail end of the error (beginning with "Unable to find..."). This time, I found a thread where someone actually had an issue similar to mine and had managed to find the issue. The problem in my case was two incomplete lines in my sources.list, namely:

deb http://archive.canonical.com/ubuntu intrepid main
deb-src http://archive.canonical.com/ubuntu intrepid main

As one person on the forums put it, "They should all end intrepid something". Sure enough, commenting out these two lines resolved the issue! How I ended up with two incomplete lines, I have no idea: as a rule I try to avoid editing sources.list by hand to avoid issues such as this one, save when adding third-party repos (which these two were not).

At any rate, the problem is solved at last and I am downloading the updates for Jaunty as I write this.

Thursday, April 23, 2009

Howto: sync music to your Verizon Wireless cell phone using Amarok!


NOTE:
You may notice that this same tutorial exists on the Ubuntu Forums. That's because I wrote it! This is a re-posting of that tutorial. So not to worry, no one is being ripped off. Scout's honor.




I have found that there is a dearth of information on ways to get music onto cell phones under Linux, so I'm hoping this tutorial will help many of you out there. I have tested this method and verified that it works with my LG Dare from Verizon Wireless as well as my girlfriend's LG Chocolate II (also from VZW). This method will probably work with Verizon's other BREW handsets (just about everything they sell that isn't a smartphone) because the music player software is very similar across the board but again, I've only tested using the two phones mentioned above. VZW phones are the focus of this tutorial.

As to be expected, VZW provide no support for anything other than Windows and leave users of other OSes in the cold (and even their Windows solution is god-awful). My phone never even recognized MP3 files that I manually copied over to the proper folder on the memory card either. Even if that did work, who wants to manually copy over songs one by one? I created a playlist and wanted to send the playlist to the phone without a lot of copying and pasting.

This method may work with other phones as well-- so if you have luck with your phone, please post your results and comments in this thread.

For the purpose of this tutorial, we will assume that you already have Amarok and have scanned your collection into the library. We will be using Amarok 1.4.10, the last 1.x release, since as of this writing Amarok 2 does not offer mobile device support. I have verified everything listed here under Ubuntu Intrepid, but other variants should work as well.

What you will need:
-External Memory Card (sorry, no way to do this with the phone's internal memory AFAIK)
-Card Reader
-AmaroK 1.4.10 (currently available in the repositories)

What you will NOT need:
-USB Cable/driver
-VZW's Rhapsody crapware
-DRM-protected music. Sorry, but DRM-protected files are outside the scope of this tutorial.


Ok, down to business!


Part A: Make sure your memory card is set up properly

1. Formatting
The phone expects a specific set of folders on the memory card in order to handle media properly (my_music, my_pix, my_flix, etc). If you have just bought a memory card, you may need to format it in order to ensure that these folders exist. The easiest way to do this is to insert the card into your phone and then just turn the phone off and back on again. The phone will probably create the folders for you at this point.

2. Mount the card
Insert your memory card into your card reader and mount it, then check the mount point if you don't know it already by navigating to it in Nautilus and checking the address shown (usually something similar to /media/disk/ ). Open the card and make sure the folders mentioned above exist. If not, create them manually.

Part B: Configure your memory card as a media device in Amarok

1. Choose Settings - Configure Amarok - Media Devices

2. Choose Add Device...
You will be presented with 3 options:
-"Select the plugin to use with this device:" -> Choose Generic Audio Player
-"Enter a name for this device (required):" -> Name the device whatever you like
-"Enter the mount point of the device, if applicable": -> Enter the mount point from Part A, step 2
Click OK

3. Click the Devices tab, then click the gears icon (to the right of the Transfer button) to configure additional settings for the device:
-Ignore pre&post-disconnect commands, transcoding options
-Leave all checkboxes at defaults (all unchecked)
-Song location: This part is important. You must tell Amarok to place the files in the my_music folder in the phone. Configure the filenames however you please but make sure that the files will NOT be nested in any folders underneath my_music. For example if you leave it at the defaults, Amarok will create a hierarchy of my_music/artistname/albumname/filename.mp3. If you sync using this hierarchy, the phone won't see your music when you are finished.

The path asked for here is relative to the root directory of the memory card (e.g. /media/disk/ in this example) so you don't need to specify the path to the card. The format I use is simply: my_music/%artist-%title.%filetype.
Click OK

Part C: Sync your tunes

1. Under the Collection or Playlists tab, choose the songs or playlists you want to sync, right-click and choose transfer to device or sync to device.

2. In the Devices tab, Choose audio player you set up in part B from dropdown at the top of the Devices section, then choose Connect.

3. Click the Transfer button and watch your music sync!

4. Once the transfer has completed, click the Disconnect button, unmount the disk in Nautilus, remove it from the reader and insert it into your phone.

5. Start your phone's music player. There should be a one-time initialization where it reads through the track info and loads up your songs. Once you see that, you know the phone has successfully recognized the music on your memory card.

6. Enjoy your music!


That's really all there is to it. Once you have done the initial setup, just repeat Part C to sync/resync additional music as you please. If you find alternative methods or find any issues with this tutorial, please post a reply. I will update this post as necessary.

Troubleshooting:
If your phone does not see your music, check that your
If you have issues, please post as much info as you can, including:
-The symptom you ran into (such as "my phone doesn't see my music")
-Whether you received any errors from Amarok (and if so, what the errors are)
-Wireless carrier and phone brand/model
-Phone software version: where this can be found depends on the phone. For example on my LG Dare, I find this under Main Menu->Settings&Tools->Phone Info->SW/HW Version. My firmware version is VX970V05.

I can't guarantee I'll be able to help, but having worked for the big "V" for 3 years (not anymore, thank goodness) I have a fair amount of phone-savvy and I'll help if I am able.

Notes:

1. The tracks I transferred were all mp3 files with data stored in ID3 tags. I have not experimented with other formats.
2. Album Art embedded in the ID3 tag will be read by the phone's music player automatically! This seems to be the only way to get artwork onto the phone in a format that the phone will recognize.
3. The phone didn't recognize any of my genre tags, although it did pick up on Artist/Album/Song Title.
4. Make sure not to use nesting of files under my_music - they must ALL be in my_music and NO other subfolders.
5. As I mentioned, I used this method to sync a playlist I created from my library on my desktop to my phone, but the playlist itself did not end up being visible in the phone's music player. This wasn't a big deal to me, so I left it at that.

Further Reading: Howardforums.com is an excellent source of information for cell phone enthusiasts. You will be able to find a lot of related info such as how your music player works, other known tricks, etc. Couldn't hurt to read up on your phone!

Wednesday, March 25, 2009

Throwing in the towel

It has been five weeks since I purchased a Hauppauge WinTV-HVR 1800 for my desktop box at home. The goal I had in mind when I purchased it was to take my fledgling networked home theater to the next level: in addition to streaming music and movies from my desktop to the downstairs TV (via XBMC) and all other computers in the house, I wanted to be able to watch/record TV on the desktop (which is in my bedroom) and yes, stream my recorded programs to the rest of the network too.

However, things did not go so well once I installed the card. This is due to the fact that, unfortunately, the state of such hardware under Linux (I is not as good as it could be. As it stands now, few cards support OSes other than Windows in any official capacity -- very few indeed. My Hauppauge card was no exception. Prior to making the purchase I did a good deal of research and found that, according to many reliable sources, it would work thanks to some 3rd party drivers. Even linuxtv.org lists the card as functional.

Unfortunately, I never was able to get the card working properly with analog signals: no matter what I did, I could not get audio. This is a deal-breaker as I have no cable box in the bedroom and don't care to pay an extra $10 to get one, thankyouverymuch. I also need analog because another plan I have is to hook up a VCR to the card and capture old home movies from VHS. I am not the only one who had issues, either. I even went so far as to compile a new mainline kernel that hadn't yet made it into Ubuntu as it includes Steven Toth's V4L-DVB drivers. Alas, no joy.

So tonight, after several weeks and countless hours spent futzing with it, I have thrown in the towel. Tomorrow the card will be shipped back to newegg and I'll begin hunting for a card with which I may have more luck.

Monday, February 9, 2009

A (somewhat) Sad State of Affairs for Linux iPod Users

I have a 30GB iPod Video (5th generation) that I use with Ubuntu Intrepid. My music collection is larger than the capacity of my iPod, so I can't simply sync everything-- what I do is sync specific playlists. This, coupled with the fact that I view album art support a must, creates a specific need that not every program can satisfy.

I've tried out most of the popular players and IMO, the only one that really does everything properly is AmaroK 1.4. Here's why the others don't live up:

Songbird: Can effortlessly sync my playlists, is (AFAIK) the only program that can "restore" your iPod to factory defaults like iTunes can, BUT has no support for artwork (yet). This is a deal-breaker for me. Another strike against Songbird in my book is the fact that it ignores use Gnome's window manager and uses its own.

GTKPod: I have to admit I hate this one. The things you have to do to get stuff on the iPod are just silly. The interface is not intuitive. Also there seemed to be no easy (possible?) way to just sync the playlists I want-- I can transfer a whole playlist there, but when I update the playlist there is no quick way to sync the changes to the iPod. It does support artwork, however.

Banshee: Supports artwork. Does a pretty good job overall but again, no real "sync" feature. Like with GTKPod, I'm stuck having to drag and drop things I want and can't just sync changes to my playlists. This one is a bummer because Banshee is my preferred app for library management & playback on my desktop.

Rythmbox: Basically the same as Banshee with respect to syncing. Didn't bother to check if it will put the artwork on my iPod.

...which brings us to...

AmaroK: I'm not a big fan of KDE apps in Gnome due to the differences look and feel (especially ugly KDE 3.5 apps) but AmaroK 1.4 just does everything I want, the way I expect. It supports selective syncing (e.g. my playlists, even when I update them) and puts the artwork on the iPod. AmaroK 2 doesn't have device support yet, so I'm sticking with 1.4 for this sole reason.

If not for AmaroK 1.4 I would have to rely on a Windows app under WINE or VirtualBox, which would just add another layer of complexity to the whole thing.  The biggest annoyance here would be the fact that I would have to edit my playlists to be Windows-frienldy (change every slash to a backslash in the playlists using a text editor) then save a "Windows" copy for the syncing player to use.   This is on top of my current process which is:

1. Edit playlist(s) using Banshee, my preferred app
2. Export the playlist
3. Import the playlist to AmaroK
4. Sync

So even as it stands now, I have to do a couple more steps than I'd like (if only Banshee synced the way I like, I wouldn't have to bother with exporting/importing the playlists like I do).

"Why not use AmaroK for your music playback?"

Not a bad idea, and I actually used to do this-- but now that I have a burgeoning video library in addition to my music  (for use with XBMC downstairs or playback on the computer in my room), I like that I can use  one app for both audio and video.

So, seeing as 2009 will certainly be the year of Linux on the Desktop, I hope that this will improve with time.  In the case of Banshee, which is currently under active development and becoming more and more popular, I'm sure that will be the case.  I eagerly await future releases of what has become my player of choice lately.

Wednesday, January 28, 2009

Reading Material

Due to the business my company is in, publishers often send promotional copies of books in hopes that we'll republish their content. Some of what we receive are technical books. Recently, as sometimes happens, our marketing department was good enough to give away books that are no longer needed -- whether they were used or not. I was lucky enough to score several technical reference books. One of them was Mark Sobell's A Practical Guide to Ubuntu Linux, second edition.

After just a short time, I'm already 120 pages in and have learned a lot about what makes the OS tick and what forces drive GNU and Linux in general. It has been an invaluable resource and is already helping me to better administer my desktop PC, where I have been using Ubuntu Linux for nearly two years (since just after the Feisty release). If you have the means, I highly recommend this book. It is well worth the while!