Wednesday, August 11, 2010

InstallShield Wizard Fails With OpenJDK

I tried installing software packaged using InstallShield but each time I ran the installer it would fail with the message:

could not load wizard specified in /wizard.inf (104)

The problem turned out to be that after recently installing Lucid Lynx the JRE is OpenJDK, even though I had installed the Sun Java packages (sun-java6-*) I hadn't updated my Java alternatives. All that was needed was to switch to the Sun JRE, thus:

sudo update-java-alternatives -v -s java-6-sun

In fact, I subsequently removed all OpenJDK-related packages.

Thursday, August 05, 2010

External Monitor as Primary/Default Display

I recently installed Lucid Lynx on my Dell Inspiron 9400. One niggling annoyance was that the Dell's LCD screen was the primary display, whereas I wanted my external monitor (BenQ T2200D via DVI) to be the primary display.

Ultimately, the solution was simple:
  1. run the NVidia X Server Settings tool (gksudo nvidia-settings)
  2. in the X Server Display Configuration I made sure the Dell's display (Seiko) was disabled
  3. when saving to the X Configuration file, i.e. /etc/X11/xorg.conf, I chose not to merge with existing file
  4. restart X

Installing Lucid Lynx 10.04 on Dell Inspiron 9400

After successfully installing Lucid on a Compaq Evo 510s and a Fujitsu-Siemens Lifebook T4020 I decided to get serious and upgrade my workhorse Dell Inspiron 9400 from Hardy to Lucid.

I decided to do a clean install rather than an upgrade as I've generally had better success doing so in the past, and the result is usually cleaner as I only reinstall packages that I need rather than upgrading packages that I might no longer use. The downside is that it can take considerably longer.

The installation went smoothly and I have only a couple of unresolved problems:
  1. I have an external monitor (BenQ T2200HD) connected to the Dell via DVI. Whenever X-windows (re-)starts (e.g. boot, logout) the display switches back to the Dell's LCD display, so I have to manually switch to the BenQ (Fn+F8 twice) before logging in. Switching displays after logging in results in the LCD's display resolution being applied to the Benq, which is annoying.
  2. If I switch users and then logout of the second user account the display goes irretrievably blank/black rather than displaying the first user's screen-saver (locked). This appears to be a known bug.

Sunday, May 30, 2010

Lucid Lynx cifs support needs smbfs package

After a recent upgrade to Lucid Lynx I attempted to mount a network drive using mount -t cifs ... It failed each time with the following in dmesg:

CIFS VFS: cifs_mount failed w/return code = -22

Ultimately, the solution was to install the smbfs package.

Saturday, May 22, 2010

No XDMCP in Lucid Greeter

I recently upgraded a Compaq Evo 510s from Hardy to Lucid. The Evo is essentially a thin-client via XDMCP. However, after upgrading I found that the gdm greeter in Lucid no longer offers an option to remotely connect to another X-server.

This appears to be a bone of contention for many users, me included. Several options exist to work-around this problem. Ultimately, I chose to install kdm, whose greeter does include an option to use XDMCP to connect to a remote X-server.

X unstable running Lucid on a Compaq Evo 510s

I recently upgraded a Compaq Evo 510s from Hardy to Lucid. The first problem I encountered was instability running X-windows. The display would go black with a few white stripes.

It seems I wasn't alone - other Lucid users with Intel's integrated graphics chip were reporting similar problems. Several solutions have been proposed. I went with the simplest - switching to the VESA video driver. This solves the problem at the expense of losing hardware accelerated graphics. However, as the Evo is essentially a thin-client this wasn't a problem.

Installing Lucid Lynx 10.04 on a Compaq Evo 510s

I have a policy of only installing Ubuntu's LTS releases, so with the release of Lucid Lynx it was time to migrate from Hardy. I started with an aging Compaq Evo 510s. I used the upgrade path via the update-manager.

Things went smoothly aside from a couple of warnings regarding the flashplugin-nonfree package. I dismissed these, however, at the completion of the upgrade the warning became an error and the upgrade process exited before clean-up and completion.

Upon rebooting the Evo appeared to have Lucid installed but it was very unstable (a separate issue). Fortunately, the Evo is little more than a (XDMCP) thin-client. So, I burned a Lucid ISO and performed a fresh installation. This time the installation completed successfully.

Wednesday, March 18, 2009

Java Plug-In Next Generation with Firefox 3.0

I wanted to use Sun's Java Plug-In "Next Generation" (NG) with Firefox 3.0. However, at the time of writing the latest packages available in Ubuntu's repositories are sun-java6-*, which correspond to Java 6.0 update 7. This contains the "classic" plug-in; the NG plug-in was introduced in Java 6.0 update 10.

So, I downloaded the latest Sun JDK - v6.0 update 12 - and installed it in /opt/java. Then I performed the following steps:
  1. Create a symbolic link from /usr/lib/jvm to the installed JDK
    cd /usr/lib/jvm
    sudo ln -s /opt/java/jdk1.6.0_12 java-6u12-sun

  2. Created /usr/lib/jvm/.java-6u12-sun.jinfo. I simply copied .java-6-sun and editted (see below).
    Note, that in order to use the NG rather than "classic" plug-in, I specified /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so for the *-javaplugin.so alternatives. I also needed to add an entry for firefox-3.0-javaplugin.so, which is missing from .java-6-sun.jinfo.
  3. Installed alternatives for /usr/lib/jvm/java-6u12-sun. For each line of .java-6u12-sun.jinfo I ran update-alternatives --install, e.g.
    sudo update-alternatives --install \
    /usr/bin/firefox-3.0-javaplugin.so \
    firefox-3.0-javaplugin.so \
    /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so \
    64
    
    Doing this manually is a bit tedious, so I created a Perl script to do - see below.

  4. Selected the java-6u12-sun jav alternative, i.e.
    sudo update-java-alternatives -s java-6u12-sun
The /usr/lib/.java-6u12-sun.jinfo I created in step 2.
name=java-6-sun-1.6.0.12
alias=java-6u12-sun
priority=64
section=non-free

jre ControlPanel /usr/lib/jvm/java-6u12-sun/jre/bin/ControlPanel
jre java /usr/lib/jvm/java-6u12-sun/jre/bin/java
jre java_vm /usr/lib/jvm/java-6u12-sun/jre/bin/java_vm
jre javaws /usr/lib/jvm/java-6u12-sun/jre/bin/javaws
jre jcontrol /usr/lib/jvm/java-6u12-sun/jre/bin/jcontrol
jre keytool /usr/lib/jvm/java-6u12-sun/jre/bin/keytool
jre pack200 /usr/lib/jvm/java-6u12-sun/jre/bin/pack200
jre policytool /usr/lib/jvm/java-6u12-sun/jre/bin/policytool
jre rmid /usr/lib/jvm/java-6u12-sun/jre/bin/rmid
jre rmiregistry /usr/lib/jvm/java-6u12-sun/jre/bin/rmiregistry
jre unpack200 /usr/lib/jvm/java-6u12-sun/jre/bin/unpack200
jre orbd /usr/lib/jvm/java-6u12-sun/jre/bin/orbd
jre servertool /usr/lib/jvm/java-6u12-sun/jre/bin/servertool
jre tnameserv /usr/lib/jvm/java-6u12-sun/jre/bin/tnameserv
jre jexec /usr/lib/jvm/java-6u12-sun/jre/lib/jexec
jdk HtmlConverter /usr/lib/jvm/java-6u12-sun/bin/HtmlConverter
jdk appletviewer /usr/lib/jvm/java-6u12-sun/bin/appletviewer
jdk apt /usr/lib/jvm/java-6u12-sun/bin/apt
jdk extcheck /usr/lib/jvm/java-6u12-sun/bin/extcheck
jdk idlj /usr/lib/jvm/java-6u12-sun/bin/idlj
jdk jar /usr/lib/jvm/java-6u12-sun/bin/jar
jdk jarsigner /usr/lib/jvm/java-6u12-sun/bin/jarsigner
jdk java-rmi.cgi /usr/lib/jvm/java-6u12-sun/bin/java-rmi.cgi
jdk javac /usr/lib/jvm/java-6u12-sun/bin/javac
jdk javadoc /usr/lib/jvm/java-6u12-sun/bin/javadoc
jdk javah /usr/lib/jvm/java-6u12-sun/bin/javah
jdk javap /usr/lib/jvm/java-6u12-sun/bin/javap
jdk jconsole /usr/lib/jvm/java-6u12-sun/bin/jconsole
jdk jdb /usr/lib/jvm/java-6u12-sun/bin/jdb
jdk jhat /usr/lib/jvm/java-6u12-sun/bin/jhat
jdk jinfo /usr/lib/jvm/java-6u12-sun/bin/jinfo
jdk jmap /usr/lib/jvm/java-6u12-sun/bin/jmap
jdk jps /usr/lib/jvm/java-6u12-sun/bin/jps
jdk jrunscript /usr/lib/jvm/java-6u12-sun/bin/jrunscript
jdk jsadebugd /usr/lib/jvm/java-6u12-sun/bin/jsadebugd
jdk jstack /usr/lib/jvm/java-6u12-sun/bin/jstack
jdk jstat /usr/lib/jvm/java-6u12-sun/bin/jstat
jdk jstatd /usr/lib/jvm/java-6u12-sun/bin/jstatd
jdk jvisualvm /usr/lib/jvm/java-6u12-sun/bin/jvisualvm
jdk native2ascii /usr/lib/jvm/java-6u12-sun/bin/native2ascii
jdk rmic /usr/lib/jvm/java-6u12-sun/bin/rmic
jdk schemagen /usr/lib/jvm/java-6u12-sun/bin/schemagen
jdk serialver /usr/lib/jvm/java-6u12-sun/bin/serialver
jdk wsgen /usr/lib/jvm/java-6u12-sun/bin/wsgen
jdk wsimport /usr/lib/jvm/java-6u12-sun/bin/wsimport
jdk xjc /usr/lib/jvm/java-6u12-sun/bin/xjc
plugin xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin firefox-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin firefox-3.0-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin iceape-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin iceweasel-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin mozilla-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin midbrowser-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so
plugin xulrunner-javaplugin.so /usr/lib/jvm/java-6u12-sun/jre/lib/i386/libnpjp2.so


The perl-script used in step 3. above. Copy-and-paste into /tmp/java6u12sun.pl then:
cd /tmp
chmod +x java6u12sun.pl
sudo ./java6u12sun.pl

-----
#!/usr/bin/perl

use strict;

# Read .jinfo file.
my @lines = ();
open(JINFO, '/usr/lib/jvm/.java-6u12-sun.jinfo')
or die "Can't open .jinfo file.";
@lines = ;
close(JINFO);

# Install alternatives.
for (@lines)
{
if ($_=~ m+/usr/lib/jvm/java-6u12-sun+)
{
my @split = split ' ', $_;
system "update-alternatives --install /usr/bin/@split[1]  @split[1]  @split[2] 64";
}
}

1;

Wednesday, October 15, 2008

Sun Java 6.0 update 7 resets alternatives

For some reason the recent updates for the sun-java6-* packages to v6-07-3 reset my Java alternatives to java-6-openjdk. Fixed with

sudo update-java-alternatives -s java-6-sun

Monday, July 21, 2008

SOLVED: Firefox 3 Sun Java Plug-In

Having recently switched from Firefox 2 to Firefox 3, I found that the Java Plug-In was no longer working. Looking at the list of browser plugins being used by Firefox 3 (enter "about:plugins" in the browser's navigation field) I discovered that the OpenJDK GCJ was being used rather than Sun's JRE v6.0 plugin (from the sun-java6-* packages).

It took some time to work out why this was the case - /usr/lib/firefox/plugins contained a symbolic link to /etc/alternatives/mozilla-firefox-javaplugin.so, which in turn was set to Sun's JRE v6.0 plug-in.

The only Java Plug-In alternative set to OpenJDK's was that of xulrunner-1.9. So, I changed it's setting to Sun's JRE v.6.0 of the plugin:

sudo update-alternatives --config xulrunner-1.9-javaplugin.so

and upon restarting Firefox 3 it used Sun's Java Plug-In.

Very weird, and possibly related to this bug?