Pipelight is an excellent solution to bring numerous Windows only plugins to Linux & Firefox users. After installing pipelight the following plugins can be enabled:
- silverlight5.1, silverlight5.0, silverlight4
- Adobe Flash
A number of other experimental Windows based plugins are also available – shockwave and adobe-reader in particular, plus a few others; run
pipelight-plugin to see the full list
However, it does have an unwelcome side-effect. A number of applications can appear to hang, or slowly start. If an application depends on something called WebKit then you’ll certainly see this. My Rhythmbox plugin called CoverArt Browser uses WebKit to display some of its information. When starting the plugin you can see a 5 or more seconds of delay. This is because pipelight is also starting when WebKit is started.
To test this – run the application from a terminal – if you see something like this then you know pipelight is also being enabled:
[PIPELIGHT:LIN:unknown] attached to process.
[PIPELIGHT:LIN:unknown] checking environment variable PIPELIGHT_SILVERLIGHT5_0_CONFIG.
[PIPELIGHT:LIN:unknown] searching for config file pipelight-silverlight5.0.
[PIPELIGHT:LIN:unknown] trying to load config file from '/home/foss/.config/pipelight-silverlight5.0'.
[PIPELIGHT:LIN:unknown] unrecognized configuration key 'diagnosticmode'.
[PIPELIGHT:LIN:unknown] sandbox not found or not installed!
[PIPELIGHT:LIN:silverlight5.0] using wine prefix directory /home/foss/.wine-pipelight.
What is WebKit.
WebKit is web-based technology – it enables (amongst other things) applications to display HTML based information as if its native to the application as opposed through a browser. WebKit loads the same plugins that you have installed in Firefox.
In my particular case, I’m using pipelight’s Silverlight plugin capability to view Sky.com movies. Obviously I have no interest in pipelight & Siliverlight in my music based Rhythmbox plugin!
So how do I use pipelight only for Firefox and not for other WebKit based applications?
First disable any pipelight plugin you may have enabled.
If you had enabled, for example, Silverlight5.0 globally you would disable it using:
sudo pipelight-plugin --disable silverlight5.0
If you had enabled for the local user, then:
pipelight-plugin --disable silverlight5.0
Repeat for other plugins displayed using
Next create a local folder called myplugins
re-enable silverlight but only for this folder:
MOZ_PLUGIN_PATH=$HOME/myplugins pipelight-plugin --enable silverlight5.0
Repeat for your other pipelight plugins. Now you can start firefox like this to use these locally created plugins:
Starting any WebKit based application now no longer starts pipelight – it is limited only to Firefox.
Starting Firefox from the command line gets tedious after a while, so I created a locally based launcher for Firefox as follows:
cp /usr/share/applications/firefox.desktop .
Next give this local desktop file execute permissions:
chmod +x firefox.desktop
Edit this text based desktop file using your favourite text editor – for example:
Search for lines beginning with “Exec=”
For example –
Change this to look like
sh -c "MOZ_PLUGIN_PATH=$HOME/myplugins firefox %u"
Change the other lines similarly, save and launch Nautilus
Unlock firefox from your current launcher and then drag and drop the new locally based firefox.desktop file
Thanks for the authors of pipelight for this MOZ_PLUGIN_PATH tip