Canonical to diversify into sugar-water market

Ubuntu Cola

Apparently, it’s absolutely nothing to do with Canonical or Ubuntu, and tastes like a mix of Coca-Cola and Jolt. Which doesn’t mean a lot to me as a Brit living in Australia whose never tried Jolt.

Still, I’d hit it =P


How to: Install XFCE (Xubuntu) on Ubuntu Linux

I’ve tried for months to get along with the standard desktop choices for Ubuntu 11.04, but none of the “big 3” are doing anything close to what I want:

  1. Unity crashes. A lot. And I don’t like having to click on an application icon multiple times to get a display of all open windows and then have to click on the window I want. For example, if you have multiple browser windows open, it just seems to pick the first one or a random one (as opposed to the last window of that application which was open) when you click on on the Unity icon for the app. And that sucks. I do like the menu integration into a single panel to save vertical space – but asides from that it’s just subpar.
  2. Gnome 2 doesn’t frickn work properly anymore and also crashes a lot (far worse than ‘back in the day’, and Deskbar doesn’t work anymore either), and finally
  3. KDE3 renders fonts really badly (yes, I did turn on and experiment with the sub-pixel hinting options) and although it can look quite nice, it just feels like a bodge. I spent hours trying to configure it properly and it was never as good as stock Gnome even after all the extra effort.

So, what options are left? Well, there’s LXDE (the Lightweight X Desktop Environment), and there’s XFCE (which Linus Torvalds recently switched to because he’s hating the desktop brokenness as well). I installed LXDE on my work laptop earlier, and there’s nothing particularly wrong with it which couldn’t be fixed up , but I installed XFCE earlier on the assumption that Mr. Torvalds knows what he’s talking about – and you know what? He does…

Some notes for if you decide to try out LXDE

In LXDE wireless networking doesn’t work right off the bat, so you might want to grab a copy of wicd before you plunge headfirst. Also, compositing isn’t natively supported with just LXDE, so you’ll also want a copy of xcompmgr, which you should kick off like this:

xcompmgr -c -f -F &

You can man xcompmgr once it’s installed to get all the switches, but for this example it just fades windows in and out nicely – and actually looks rather nice (not to mention blazingly fast).

I like LXDE, and if XFCE didn’t exist I’d use it without hesitation and be perfectly happy with it. Only XFCE does exist – and I choo-choo-choose that – at least for now. I also like the huge range of packages available for any *buntu, so that keeps me from jumping ship entirely. At the end of the day, it’s all up to personal choice about what features you absolutely must have, what features you would like, and your own personal preferences.

Step 1 of 1 – Install xubuntu-desktop

If you like dockbars you can use docky with XFCE without any arguments, but I kinda prefer a bottom ‘window-icon’ panel (ala Gnome 2) so I’ve just set things up that way on mine. And the entire thing goes on fine with the following simple command:

sudo apt-get install xubuntu-desktop

It’ll drag in a whole heap of other dependencies, but it’ll all install nicely, at which point you just need to log out and log back in selecting Xubuntu Session as the desktop environment to use. Wireless networking worked straight away with no hassle for me, but in all fairness to LXDE, I only installed the LXDE package (and its immediate dependencies), and not the lubuntu-desktop package which (may) have straightened all that out.

The end result

After looking through the themes, adding a few bits and pieces to the top panel, and creating a separate bottom panel for the window-icons, this is what I’ve ended up with:

r3dux XFCE Desktop
First draft XFCE desktop - click for larger image.

Honestly though, I just couldn’t go on using a desktop environment that would crash if not once per day, then many times per day. I mean, really – WTF is with that? Why would you even ship a desktop windowing environment in that state? Since I actually like to get some work done and not have to be killing and relaunching processes all the time, XFCE is officially doing it for me at the moment. So no more unity –replace, s’long killall nautilus and sayonara panel has stopped responding – it’s time to be able to actually concentrate on getting some work done.

How-To: Install the Official Sun JDK in Ubuntu

Update: I wrote this to switch out the JRE in Ubuntu 10.04, and it’s still valid & works in Ubuntu 10.10 =D

The default java solution for Ubuntu 10.04 is the OpenJDK virtual machine and the IcedTea plugin for firefox – but I’ve been having serious issues with it locking up, taking up 100% CPU and other such craziness – so I’ve switched over to the (proprietary) official Sun JDK, and things are working much better. Here’s how I did it, and how you can too…

1.) Add the Lucid Partner repository to your Sources list

We’re going to be installing the Sun JDK through the repos, and it just so happens that we need the partner repo enabled, so you can either add the following line to your /etc/apt/sources.list, or you can check the box in System | Administration | Software Sources (assuming you’re using Gnome – pick whatever source managing front-end KDE uses if that’s your poison):

deb lucid partner


Sun JDK Add Repo

2.) Install the Sun JDK and Plugin

Before you install the good stuff, it’s an idea to check your current version so you can see the changeover’s worked. To do this, just run java -version from bash and you should see something like this:

java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-0ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

Once you know what you’ve currently got, again from the shell, enter the following to install the official Sun JDK (don’t worry about multiple JDKs being installed – we deal with that later):

sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts

During this process you’ll have to agree to the license agreement – just hit Tab to switch focus in the text window onto the Yes button (assuming you do agree), and hit Enter to accept.

The JRE EULA - Slap the Tab key followed by Enter to ensure swift installation and that Oracle (they bought Sun, remember?) now own your first born child...

3.) Remove the old OpenJDK stuff

In Synaptic, you want to fully remove the following packages (if they’re installed – the top three in the below list might not be):


If you do this before installing the Sun JDK, all packages depending on Java will be removed as well – so in this rare instance, later is better, and any packages depending on Java can now stay on the system.

4.) Check it all works

From the command line enter: java -version and you should see the new details:

java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

If you want the new plug-in to take effect in Firefox or such you need to restart the browser, then you should be all good to go! Maybe test it out at sodaplay for kicks too :)


How-To: Install or Build a Working Version of Handbrake for Ubuntu

Update: To install a working version of Handbrake in Ubuntu 10.10 or 11.04, you’ll need to install from the PPA, and you’re probably best off doing so like this…

First, you’ll need to add the Handbrake PPA (personal package archive) to your Ubuntu system. Open up a Terminal window and use this command:
For the official builds:

sudo add-apt-repository ppa:stebbins/handbrake-releases

Or for the nightly builds:

sudo add-apt-repository ppa:stebbins/handbrake-snapshots

After the repository has been added, update your system’s listing of its repositories with this command:

sudo apt-get update

Once the repository listings have been updated, you can then install the graphical version of Handbrake with this command:

sudo apt-get install handbrake-gtk

You can also install the command line version of Handbrake with this command:

sudo apt-get install handbrake-cli

Props to Jonathon Moeller for his write up on this 10.10 technique.

If You’re Still Want to Build Your Own Copy However…

The currently available pre-packaged version of Handbrake (the Video/DVD transcoder/ripper) at the time of writing is 0.9.4 (actual filename for the 64-bit version: HandBrake-0.9.4-Ubuntu_GUI_x86_64.deb) – and it’s about as much use as a chocolate teapot on Ubuntu 10.04… You simply can’t endcode/transcode with it because it’s broken, with the Add to Queue and Start buttons permanently greyed out because the functionality behind them is mashed.

So let’s build a fresh version that works!

Step 1.) Get the Necessary Libraries

A quick trip to the command line will get everything you need (where everything you already have in this list is simply ignored):

sudo apt-get install subversion yasm build-essential autoconf libtool zlib1g-dev libbz2-dev intltool libglib2.0-dev libdbus-glib-1-dev libgtk2.0-dev libgudev-1.0-dev libwebkit-dev libnotify-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

Step 2.) Get the Source Code

Create a folder for it, move to it, then grab the latest source code via subversion like this:

mkdir handbrake
cd handbrake
svn checkout svn:// hb-trunk

Step 3.) Build It!

Once we’re in the right place, this configure line with the given switch will configure and make Handbrake in one fell swoop:

cd hb-trunk
./configure --launch

Step 4.) Test It!

After a successful build, you’ll see the executable HandBrake-CLI in the build folder – but you’re probably after the GUI version, which is tucked away in build/gtk/src and called ghb – just go to the right folder, launch it and give it a try out – should be absolutely mint.

There are a stack of different options for the encoding process which can slow down the encode/transcode process and increase the quality – I went with these final settings to get high encoding quality without the encode process taking all week:

HandBrake - Working
HandBrake - Now Working! Woo-Hoo!


How-To: Transform Your Stock Ubuntu 10.04 Install into a Fully Operational Battle Station Operating System

I used to upgrade my Ubuntu distros after each release cycle, but it was never a very pleasant experience… There’d always be mismatched packages and configs, legacy cruft left lying around filling up my root partition, and all sorts of mismatch woes – so I ditched that for separate partitions for my root folder and home folders, and now wipe the root folder with the newest release as and when it’s out.

Because I’ve done this a couple of times over the last few years, I feel I’m getting pretty good at getting the machine up & running with everything I need at a pretty fast pace: maybe a day for all the core stuff, another to tweak the vast majority of everything so I have it as I want, and then just bits and pieces as they come up. This time, I thought I’d make a list of all the things I install (yes, I know you can automatically generate a list of installed packages) – because I also wanted to note why I install ’em, you know, what are they good for, so the next time I install a fresh system I can just grab it all even quicker.

Now, a stock/standard Ubuntu distro is a pretty good thing – but it doesn’t come with everything you need, so with that in mind, I’d like to present a list of things that I think you also need, and that once you have in place you’ll be able to do most anything you need with your system with just a few clicks. Before you do any of this, it’s a good idea to open up System | Administration | Software Sources and enable the restricted, universe and multiverse repositories as shown below:

Ubuntu Software Sources

With that done, here’s the list of things you’ll likely want to have installed in no particular-order, and only roughly sectioned off into classes (system, sound & media, social networking etc.):

Freely Available In The Ubuntu Repositories
Package Name Why Install It?
System / Developer / Essential
ubuntu-restricted-extras Meta-suite of proprietary software including the Flash plugin, DVD decoding libraries etc.
build-essentials Tools to compile your own/open-source projects
eclipse Multi-Language IDE – coding is good.
codeblocks Another multi-language IDE, I’ve not used it too much as yet, but I hear good things about it…
subversion Version control tool. Useful to checkout code trunks and compile open-source projects yourself
scons Python-based build system – req’d to compile SCons-based projects (More info:
guake Quake-style terminal access for gnome. Awesome stuff. Change the keybindings for copy and paste to Ctrl+C and Ctrl+V for usabilities sake.
nautilus-open-terminal Nautilus script that adds functionality to allow you to right-click on a folder and open a terminal at that point, saves you cd-ing all the way into long paths.
php5 It’s PHP. Version 5. Drags in apache2 with it.
deskbar Search applet for the panel – finds your programs in the menu, amongst a hundred other things. I really couldn’t live without this.
Utility / Office / Comms
thunderbird Thunderbird 3, my email client o’ choice. I’d written a guide for installing it in Ubuntu 9.10, but it’s in the repos in 10.04, so that’s now obsolete…
p7zip-full 7zip archiver. Better compression than zip and a completely open format.
pidgin Multi-chat-format-client (MSN, AOL, YahooMessenger etc.) I don’t like the packed-in empathy client too much…
pidgin-plugin-pack Additional plugins for pidgin.
xchat IRC (Internet Relay Chat) client
Audio / Video
audacity Very good audio editor
ripperx Decent audio CD ripper, use with LAME. Also, it’s the only ripper I’ve found that doesn’t randomly fall over if it doesn’t like a CD…

Warning: The current version (v2.7.2) has two bugs which are kinda scuppering it: it doesn’t add ID3 tags to tracks ripped beyond track 10, and it crashes at the end of each disc rip =/ It might be better to use something else for the time being, but I really don’t like SoundJuicer or anything, so I just run MusicBrainz Picard (package name: picard) on any folder of MP3s ripped from a disc to fix up the tags after ripping.

lame The best mp3 codec to rip audio with. Use high quality VBR and the results are superb.
soundconverter Easily convert audio files between formats.
pautils PulseAudio utils, stream choosers, volume controls etc.
gpodder Really good podcast client for gnome: subscribe to Linux Outlaws, This Week in Tech (TWiT) etc..
mplayer Useful to get data to transcode .avi files to to DVDs (see this article if you’re interested).
ccsm Compiz config settings manager – lets you tweak your compiz effects in countless ways…
compiz-fusion-plugins-extra Additional effects for compiz
fusionicon A system tray icon for accessing compiz related settings and switching/reloading window managers. Best to set it to autorun on boot through System | Preferences | Startup Applications.
python-sexy Library used by compiz to extend Gtk widget functionality.
gnome-colors Additional icon themes – more choice is never a bad thing.
screenlets Widget system for the gnome desktop. Grab some more screenlets from here if you like (the NVidia and FuriousMoon screenlets are useful/pretty respectively).
gimp The GNU Image Manipulation Program, which isn’t included on the CD for the first time this release..
gimp-plugin-registry Useful GIMP plugins, including “Save for Web…”, which is a daily-use tool for me…
cheese Mess around w/ your webcam
camera-monitor A panel applet which indicates when your webcam is switched on – so you’ll know if anybody else is messing around with your webcam!
blender 3D modelling package. I WILL learn how to use it this year, fo’ real!
povray An old-school but excellent ray-tracer (creates images by back-tracing light rays from geometry), always good for a mess around. Get povray-examples and povray-docs while you’re at it.
cbrpager A simple comic viewer for gnome
Administration / Files / Network
gadmin A suit of GUIs to administrate things on your system (proftpd, apache, squid etc.)
proftpd FTP server, requires a fair bit of configuration, but I’ve written pretty solid article on it here if you’re interested in hosting files on your own FTP server..
filezilla An excellent FTP client to connect to FTP servers.
sabnzbdplus A really good news group client – download stuff with far more peace of mind than using torrents. I’ve also written a guide for downloading stuff from newsgroups which you can find here if you’re that way inclined…
pypar2 Tool to repair broken/corrupted/incomplete rar files using PAR(ity) files. Use with sabnazbdplus as and when needed.
transmission An excellent bit-torrent client. Don’t forget to: Enable the block list & update it, change encryption settings from “preferred” to “required”, and disable DHT peer exchange (here’s why: unlinked – thread now gone)
dosbox A legacy PC emulator – run old DOS software if you need to. I use it to fire up ScreamTracker 3 occasionally.

There’s a few other things you might want which aren’t in the standard Ubuntu respositories, too. Such as:

Not Available In The Ubuntu Repositories
Application Name Why Install It? Get From
webmin Tool to administrate your system through a web interface either locally or over the web. Either restrict administration to be from the local network or make your passwords strong if you allow external access from teh Internets!
google-earth Gaze longingly at home, and the pyramids, and other neat stuff on this blue/green sphere.
google-picassa Nice image organiser/basic photo adjustment tool. Can categorise images by faces (poorly) too! [I had to install this from the commandline for some reason. Used: sudo gdebi ./picassa-3_0-blah-blah.deb to install] Newer versions not available for Linux =(
virtualbox Virtualisation software so you can run stuff like XP/Vista/Windows 7 from virtually from within Linux. Get this from Sun rather than the OSE (Open Source Edition) in the repositories if you want USB support.
handbrake Simple and yet powerful DVD ripper/video transcoder with a decent GUI. If you’re ripping a DVD just point it at the top level directory of the DVD and hit Open for it to pull in all the .vob files for you.

Update: Don’t bother installing version 0.9.4 on Ubuntu 10.04 – it’s broken. Build yourself a working version from the freshest source using this guide!
nautilus elementary Nice transparency effects for Nautilus
ubuntu tweak Tweak ubuntu like a mother-b

You might not need some of that stuff, but for me it turns a good basic install into the real deal that does everything I need. And I absolutely love it :D