Tested in Ubuntu 10.04.
I had a problem where sometimes (quite randomly it would seem) my controls in Flash videos etc. would not work (e.g. no pause, no fullscreen, no navigation etc., basically no controls at all in Youtube videos). I found some suggestions of turning off Compiz and using Metacity's compositing manager instead, and while this may indeed not be a Flash problem as such, this may not be necessary. So, hug your Compiz, here we go.
You can try to add:
GDK_NATIVE_WINDOWS=true
after the shebang in /usr/lib/nspluginwrapper/i386/linux/npviewer .
Alternatively I found a short shell script to use to launch the Flash viewer with an appropriate environment variable. Not sure why (or if) it works, but I'll get back here if I run into trouble. Note: for me the path was wrong, so try this instead and adjust as necessary:
#!/bin/bash
VIEWER_PATH="/usr/lib/nspluginwrapper/i386/linux"
cd "$VIEWER_PATH"
BIN="npviewer.bin"
BIN_REAL="$BIN.real"
FILE_TYPE=`file -b --mime-type "$BIN"`
function close_apps
{
APP=$1
echo "Cannot write to $APP, please close any running Firefox etc. and try again."
exit 1
}
if [ "$FILE_TYPE" = "application/x-executable" ]
then
echo "Trying to replace $BIN with a wrapper shell script."
cp "$BIN" "$BIN_REAL" 2>/dev/null || close_apps "$BIN_REAL"
else
echo "$BIN is not of the expected type, not replacing it!"
exit 0
fi
truncate --size 0 "$BIN" 2>/dev/null || close_apps "$BIN"
echo \#\!/bin/sh > "$BIN"
echo GDK_NATIVE_WINDOWS=true "$VIEWER_PATH/$BIN_REAL" \$\* >> "$BIN"
chmod 755 "$BIN"
echo "Done!"
By the way, this is on a 64 bit machine. If you are too and you use 64 bit binaries from Adode, my advice is, don't! At least not until they improve them radically. 32 bit binaries should work just fine normally. However, don't download from Adobe.com directly either. Let Ubuntu handle this, install the flashplugin-installer package. (What to do if a security update is lagging in the repository is a more complicated story, but as a baseline I would let Ubuntu handle everything to minimize any fuss.)
With these changes, it would seem now that I can even kill npviewer.bin.real and reload the page, then Firefox proceeds as if nothing happened. I could before too, but usually that prompted the control problems, plus restarting Firefox didn't always help then. Using Flash for a prolonged time also seemed to trigger the problem before.
Troubleshooting
Not much to note here for now, but if you go to, say, Youtube and instead of the player you see just a grey area, plus Firefox more or less hangs, chances are the script (the new npviewer.bin) didn't point to the actual Flash player. Make sure that everything in there looks OK.
Updates
I'm not yet sure how this solution affects updates to the player. However, if the player script is replaced, just remove npviewer.bin.real and rerun the replacement script (or re-add the line in npviewer).
References
- Relevant bug report on Launchpad.