Sunday, April 20, 2014

Upgraded my Ubuntu to version 14.04 "Trusty Tahr"

I just updated my system to Ubuntu 14.04 "Trusty Tahr." I can't believe it is time for another Long-Term Support (LTS) release. Two years flies by so quickly.

As usual I just used the do-release-upgrade command right in the command line (as root). Updating went smoothly except for two things, the Lock Screen key chord, and the Adobe Flash player for Chromium Browser.

The Chromium-browser (the GPL version of Google's Chrome Browser) was not loading the flash plugin. I decided to install Google's non-free licensed Adobe Flash Player "Pepper Flash" which is distributed with Chrome, but not the GPL-Licensed Chromium Browser because of the legal conflicts. I believe Pepper Flash is licensed by Adobe to Google specifically for them to re-distribute with the Chrome browser, and it is the latest version of the Adobe Flash player (version 13), unlike Adobe's official release of Flash Player which they no longer support on Linux (version 11 is the last version they support on Linux).

You can install Pepper Flash right out of the multiverse/web section of the Ubuntu package repository: apt-get install pepperflashplugin-nonfree

This will install a few things, most importantly:

  • /usr/sbin/update-pepperflash-plugin    A shell script to download and update Pepper Flash
  • /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so    The actual plugin used by the browser.
  • /usr/lib/pepperflashplugin-nonfree/etc-chromium-defaults.txt    A shell script you should copy to the path "/etc/chromium-browser/defaults" if that "defaults" file does not already exist
  • /usr/lib/pepperflashplugin-nonfree/pubkey-google.txt

First you have to execute (as root) the update script with the --install command line argument:

/usr/sbin/update-pepperflash-plugin --install

Unfortunately, Chromium was still not able to detect that it had been installed. But the /usr/bin/chromium-browser executable is just a shell script that launches the actual Chromium Browser executable, and by reading through the code in the script I discovered that it was trying to detect the flash plugin using information stored in the file /usr/lib/chromium-browser/pepper/pepper-flash.info. For whatever reason this file did not exist. You would think it should have been installed by the /usr/sbin/update-pepperflash-plugin script, but no. But from the code of the /usr/bin/chromium-browser launcher script, it was perfectly clear exactly what information this ".info" file should contain. So I made my own /usr/lib/chromium-browser/pepper/pepper-flash.info with the following contents:

PLUGIN_NAME='Pepper Flash';
FILE_NAME='/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so';
VERSION="$(strings "${FILE_NAME}" 2> /dev/null | grep LNX | cut -d ' ' -f 2 | sed -e 's/,/./g')";
VISIBLE_VERSION="${VERSION}";
DESCRIPTION='Non-free Flash Player Plugin distributed by Google';
MIME_TYPES='';

If you are going to criticize me for using a terrible hack to set the VERSION environment variable, know this: that is exactly the same line of code that the /usr/sbin/update-pepperflash-plugin install script uses to detect the current version of Pepper Flash. Yes it is a hack, and they assume you have the /usr/bin/strings utility installed which is only available if you have installed the binutils package. But that is just how they programmed it. Not my fault.

Anyway, once I wrote that /usr/lib/chromium-browser/pepper/pepper-flash.info file, Chromium Browser was able to use it, and the Pepper Flash plugin showed up in the list of add-ons at the URL chrome://plugins.

The other problem was that the Control-Alt-Esc key chord for locking the screen has been disabled. To lock the screen, you MUST use Super-L, that's the logo key with the letter L for "lock." This is really annoying, and nothing I do changes it back. I tried to change the key chord in both the Gnome Control Center and in Compiz Configuration Settings Manager (CCSM), but neither work. When I changed the key chord from Super-L to anything else it simply disables the screen-lock key chord entirely. You MUST use Super-L or nothing at all. I don't know why they did that. If I can figure out how to change it I will.

As for the remainder of the changes to Ubuntu, I am quite pleased. All in all, it isn't too different from before. But Unity and the rest of the Ubuntu user experience is getting more and more stable as time goes on.

The UI elements have been modified slightly. It is always nice to change things up a bit, make it feel fresh. The design of the GUI widgets are a bit more flat, it reminds me a little bit of Windows 8. Obviously this is Ubuntu's way of making their graphical interface look more like what you would see on a mobile-device. Also, it could be my imagination but I think the default fonts are set a bit larger than before. This is nice because it makes things easier to read. Even though my eyesight is near perfect, I would like my eyes to stay that way, which is why I like larger fonts.

And that's all. It seems to be a good, stable release so far, as it should be because it is an LTS release.

1 comment:

Anonymous said...

Thanks your post helped. Especially the bit about the *.info file. I also had to update my xfce launcher to point at /usr/bin/chromium-browser to get this to work.

Thanks!