Monthly Archives: April 2011


Second look at Ubuntu’s Unity Interface (for Natty Narwhal) 11.04


Usually when a new release of software comes out, I am game for giving it a fair trial.

I downloaded the iso for 32 bit Natty (Ubuntu 11.04), put it on a flash drive and took it out for a test drive.

Within 3 minutes, I had broken Unity, without trying. The livecd does NOT give you the choice of Gnome or Unity. You get Unity, like it or not!

I said, well it could just be my hardware (an acer aspire netbook). So I begin to monitor things on irc (#ubuntu on

The horrors I am seeing! Problems with Nvidia Graphics cards, breaking Unity, menus disappearing, screens going dark, and a boatload of grub issues. And the release has been out for just over a day now.

This is absolutely the most seriously “quality challenged” issue of a major release I have ever seen.

Here’s how to change from Unity to classic Gnome in Ubuntu 11.04, just in case you have already taken the plunge.

Bottom line: If you haven’t installed Ubuntu 11.04 (natty), DON’T! You will be happy you didn’t!

At this point, I’d recommend staying with what you have already installed, or at least going to back to Ubuntu 10.04, which is an LTS (long term support) release.

Debian Squeeze (6.x) is an alternative, but it is NOT recommended for a n00b, or someone that doesn’t have a good year or so of using Linux behind them.

As always, YMMV (your mileage may vary) applies.

“And oh Auntie Em! There’s NO place like Gnome!”



Simple annotated bash script to zap a user


This is a really simple script, but it underscores some key concepts here. Variable assignments, while statements, checking for null input, reading input from the terminal, comparing strings, etc.

I tried to annotate this script so you could follow along the major concepts. This is pretty basic, and so are the concepts, but I hope it gives you enough to build upon.

Bash Pitfalls helps, but you need to be fairly familiar with Bash to begin with. This was over my head. YMMV applies.

Opera renders this page correctly, Chrome not so well.

Thanks Joe for the skill command/commentary


# By. W. Guerrini 04/20/2011 V 1.0
# simple script to zap a user
# configuring parameters
# note a very common mistake is using a $ to assign a string a value
# here we are just defaulting all the string variables to null
# note that there is NO white noise around the equal (=) signs a very
# common mistake! (been there done that)
person="" # name of person we want to zap (string/not null)
ans="" # answer received from user (string/not null)
ok2nuke="Y" # the answer we expect if it's okay to zap user
# the echo command does just that. it echos the contents between the
# quote marks to the terminal
echo "Displaying Logged in Users"

# issue the who command to see who is logged in


# The who command listed all the people logged into the system.
# Choose one to terminate

echo "What person do you want to zap?"

# read waits for the person to enter some text on stdin, and puts
# the contents into the variable NOTE: person NOT $person
read person

# we are checking for a null string
# the while statement will loop, until the person string is NOT null
# the -z checks to see if the string is null. Notice here we use
# $string name ($person vs person) for the comparison
# the brackets [] are required because we are doing various type of
# operators
# also note the semi-colon ; at then end of the while statement --
# yup that's needed.
# so this while statement says, while the string $person is null
# echo hey the string is null and re-read the input
# once the condition is satifisfied (non null string) the while exits (done)

while [ -z "$person" ];
echo "Null string. Not permitted. Enter a person to zap: "
read person

echo "$person is NOT null."
# display to the user, the name of the person we want to zap.
# note again we want to display the contents of the string $person

echo "confirm you want to zap User" $person "(Y/N)"

read ans

echo "the answer is: " $ans

# again another while loop - the answer can't be a null (nothing) string
# keep prompting and waiting till the answer is not a null

while [ -z "$ans" ];
echo "$ans String is null."
read ans
echo "$ans is NOT null."

# now check the answer and make sure it is a CAPITAL Y
# remember we set ok2nuke to "Y" above
# again in the if statement note the $string names,
# the equal signs, the brackets [], and the semi-colon ;
# If we got a capital "Y" then execute the if statement (skill commented out)
# we want to compare the strings, so we enclose them in quotes (")
# NOTE: you could also use "Y" instead of $ok2nuke but this way
# it's easier to change the value
if [ "$ans" = "$ok2nuke" ];
echo "$ans was okay to zap"
# sudo skill -n -u $person
# where n is the signal you want to send
# (-1 is a graceful hangup, -15 is a termination, -9 is an immediate kill)
echo "He's Dead, Jim!"
# if we didn't get a capital "Y" for the answer, it just falls through and
# exits.
echo "we are finished"

Script execution looks something like:

nwayno@Homer:~$ sh
Displaying Logged in Users
nwayno tty7 2011-04-19 18:15 (:0)
nwayno pts/6 2011-04-20 14:25 (:0.0)
donuts tty9 2011-04-20 14:45 (:2)
nwayno pts/10 2011-04-20 16:16 (:0.0)
What person do you want to zap?

Null string. Not permitted. Enter a person to zap:
$person is NOT null.
confirm you want to zap User donuts (Y/N)
the answer is: Y
$ans is NOT null.
$ans was okay to zap
He's Dead, Jim!
we are finished


First Look: Unity for Natty Narwhal (Ubuntu 11.04)




Screen image 
from Ubuntu 11.04 Unity


Wow! If you remember my First Review of Ubuntu’s Unity interface, I was very critical.

While it still needs some work, vast improvements have been made. As you can see from the image above, I was able to customise the background, and change am/pm, and put the buttons on the right hand side. NONE of which I could do in the 10.10 netbook remix. USB Flashdrives also mount correctly.

Remember we are running off the livecd here. So nothing we do here remains, once we reboot. But this is a way to look at Unity without installing.

Here’s the magic (courtesy of trism on #ubuntu+1 freenode irc channel) on how to enable Unity. (By default, you get gnome)

1. In the Synaptic Package Manager, under Settings/Repositories, I had to enable the universe repository.

2. Trying to get a terminal window was a little tricky. But if you click on the button top left, and search for “terminal” you will find it.

Alternate method: alt+f2 opens up a run window, and type in:


and you are all set.

3. Next get the updates, so:

sudo apt-get update

4. Install the Unity interface:

sudo apt-get install libgl1-mesa-dri-experimental

5. Logout/back in

and you will have the Unity interface.

6. Note that libreoffice (which IMHO is NOT ready for Primetime) comes installed standard, instead of Open Office. Firefox 4.0 is here. I could not get empathy to work, but that’s primarily due to my unfamiliarity.

This is vastly improved over what I saw. It will require a lot of patience to learn where things are. The Applications/Places/System is all gone. Instead you click on the Ubuntu Icon (top left) and navigate to the folder with the magnifying glass. NOT the magnifying glass with the square, the magnifying glass with a plus (+). There you will find most of the system/administration tasks. The one thing they did NOT change: the icons are still cryptic!

One of the most frustrating things I noticed with Unity is that the application menu: File/Edit/View/Search (see photo) is no longer a part of each application. That’s now moved to the top task bar. (you should be able to see the terminal window Menu in the photo). Not certain if I like that.

Still like they say: “There’s no place like gnome!”