So after a good long time not being able to play this Facebook game we’re building for P2P-related research, which runs on Java Web Start, I finally got pissed today and sat down and finally got to the bottom of it.
Because Java isn’t free technology and all that, OpenSUSE actually comes preinstalled with OpenJDK instead of the common version of Java distributed by Sun. With this default configuration, Web Start (JNLP) files on the internet will open by default in an open implementation of Java Web Start called ‘IcedTea Web Start’, which I hear works reasonably well – but outright doesn’t work for some cases, like mine.
For people who, like me, need to run Sun’s version of Web Start from Firefox – first, you need to grab and install Sun’s version of the Java runtime using your software package manager (in OpenSUSE the package is called
java-1_6_0-sun). Verify that you have a program called ‘javaws’ after this step. You can simply type ‘javaws’ into an open terminal and make sure it is recognized as Java(TM) Web Start.
Okay, next all we need to do is get Firefox to use javaws when opening JNLP files. For other distros you’d go to Edit > Preferences > Applications in Firefox, look for JNLP, and change the setting so it uses javaws. On OpenSUSE, Firefox is integrated so it takes its file-association settings directly from KDE. So you’ll have to instead go to KDE’s systemsettings (Configure Desktop) > Advanced Tab > File Associations. Here, run a search for JNLP, then add ‘/usr/bin/javaws’ to the top of the Application Preference Order.
We’re done! Next time you open a JNLP Web Start file in Firefox, it should offer to use Sun’s Java Web Start to open it :)