Monday 11 April 2011

VMWare MKS plugin on 64bit Ubuntu with nspluginwrapper

Since I've been running Ubuntu 64bit at work I've found a few things that still don't work like I'd like.

We use VMWare Lab Manager which gives you access to a console for the VMs that you deploy. However, the plugin that is provided by VMWare is only a 32bit app and due to that it doesn't seem to work when you install it.

Every time you go to the console, you get a black screen which allows you to install the plugin even though you already installed it.

However, there is a solution. You can go ahead and install the MKS plugin as usual, restart your browser and make sure that the plugin shows in the Extensions.

Then shutdown the browser (so you might want to print this blog entry or copy paste to gedit) and you can then try using nspluginwrapper to install it.

I suggest you run it like this:

/usr/bin/nspluginwrapper -v -i $HOME/.mozilla/firefox/xxxxxx.default/extensions/VMwareMKSNPRTPlugin@vmware.com/plugins/libnprtmks.so

Where xxxxx.default is your profile.

You can use sudo if you want, but this way it installs it into your .mozilla/plugins/ directory. The reason for the -v is so that you get verbose output if the installation fails (see below.)

*** NSPlugin Viewer *** ERROR: libexpat.so.0: cannot open shared object file: No such file or directory
nspluginwrapper: no appropriate viewer found for /home/USER/.mozilla/firefox/xxxxxxx.default/extensions/VMwareMKSNPRTPlugin@vmware.com/plugins/libnprtmks.so

Now what problems can you encounter? Well, in my case I found that I needed libexpat.so.0 as you can see above. Since this library isn't available to install, I installed libexpat.so.1 (sudo apt-get install libexpat1) and I just created a symbolic link in the /lib32 directory like this:

sudo ln -s /lib32/libexpat.so.1 /lib32/libexpat.so.0

I then ran it again and it was successful.

Now I can start my browser go to the console and voila, it works.

I'm not sure if there are other libraries that are needed, but at least by doing this I managed to get it working.

Getting this plugin to work with nspluginwrapper has given me hope that any other plugin that I cannot get working out-of-the-box will work through nspluginwrapper as long as I have the -v to be able to find the libraries that are missing.

Good luck!

-P

1 comment:

Mat said...

Your post rocks,

With ubuntu 11.10 and 64 bits I had to replace:
sudo ln -s /lib32/libexpat.so.1 /lib32/libexpat.so.0

by

sudo ln -s /lib/i386-linux-gnu/libexpat.so.1 /lib/i386-linux-gnu/libexpat.so.0

But otherwise it works.