Tuesday, May 27, 2008

He Stoops To Conky: A Quick Guide

HAVE you ever looked at screengrabs of other people's computer desktops on Google or in Linux forums and wondered: "How do they get that cool text on their desktop?"
The answer - or at least one of the answers (because there's more than one way to do it) - is Conky.
It's nothing to do with horse chestnuts and everything to do with monitoring what's going on in your computer.
Conky is a small application that provides a simple, low-resource way to monitor basically anything you want, from swap memory use, to disk space, to the MP3s you're playing, to the number of processes running or network traffic - you name it, Conky can monitor it.
However, Conky is one of those programs that tends not to come set up for you, so there's a DIY element involved.
You don't need to be an expert programmer or hacker to get Conky running just how you like - I'm not, and I did!
You see, Conky is controlled by a fairly simple text-based configuration file which lives in your Home folder.
But I'm jumping ahead of myself: First, let's deal with actually acquiring Conky.
I've got it installed on two machines: One runs Vector Linux 5.9 and Fluxbox, the other Parsix (Debian-based) and GNOME, and in both cases the distribution repositories had Conky available for downloading.
If your distribution doesn't have Conky then the program's home page is here and you can download platform-independent source code for the latest version, Conky 1.5.1.
Then it's a case of compiling the software yourself in the usual manner: There's a useful guide on how to do this here and here.
Anyway, let's assume that by one method or the other, you now have Conky installed.
There's little point looking for it in your menu, unless it came pre-installed with your distribution and those nice developers created a shortcut there for you (like the guys behind antiX do - see review below).
No matter, pretty much every distro has a menu entry enabling you to run programs by just entering their name - helpfully, the menu entry's usually called 'Run'!
Alternatively, you can create a launcher on your desktop - this is easily done in both KDE and GNOME by right clicking anywhere on your desktop and selecting the 'Create Launcher' option.
Another way of getting Conky running is by launching a terminal and entering a simple 'conky' command (without the quote marks).
Whichever way you achieve it, when you first run Conky it will contain a series of default monitors like the one shown here (from the Parsix/Debian repository).If you're happy with the default settings, then lucky you - I hope you and your Conky are very happy together.
I wasn't, and set about working out how to change them.
Here's where we roll our sleeves up, because the default configuration files for Conky can take a bit of finding.
The file you're looking for is '.conkyrc' and, if you're lucky, it will be one of the Hidden Files sitting in your Home folder (though this is only likely if Conky was a) pre-installed and b) customised by your developers).
In the majority of cases, you have to dig into your system folders for a sample configuration file (usually something like .conkyrc-sample) and copy it into your Home folder, renamed as '.conkyrc'.
Which folder you'll find the sample config file in may vary according to your distribution - by way of an example, in Vector Linux I found it in /usr/doc/conky-1.5.1, while in Parsix it was in /usr/share/doc/conky/examples.
Here's a copy of my Parsix sample configuration file - the one that produced the basic Conky shown above. Take some time to scan it and try to see what it's doing and how:

# Conky sample configuration
#
# the list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
# set to yes if you want Conky to be forked in the background
background no
# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono:size=8

# Text alpha when using Xft
xftalpha 0.8

# Print everything to stdout?
# out_to_console no

# MPD host/port
# mpd_host localhost
# mpd_port 6600
# mpd_password tinker_bell

# Print everything to console?
# out_to_console no

# mail spool
mail_spool $MAIL

# Update interval in seconds
update_interval 5.0

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes

# If own_window is yes, you may use type normal, desktop or override
own_window_type normal

# Use pseudo transparency with own_window?
own_window_transparent yes

# If own_window_transparent is set to no, you can set the background colour here
own_window_colour hotpink

# If own_window is yes, these window manager hints may be used
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 280 5

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders yes

# Draw borders around graphs
draw_graph_borders yes

# Stippled borders?
stippled_borders 8

# border margins
border_margin 4

# border width
border_width 1

# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color black

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
alignment bottom_left
#alignment bottom_right
#alignment none

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 12
gap_y 12

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale no

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

# Allow each port monitor to track at most this many connections (if 0 or not set, default is 256)
#max_port_monitor_connections 256

# Maximum number of special things, e.g. fonts, offsets, aligns, etc.
#max_specials 512

# Maximum size of buffer for user text, i.e. below TEXT line.
#max_user_text 16384

# Timing interval for music player thread, e.g. mpd, audacious
#music_player_interval (update_interval is default)

# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument

# stuff after 'TEXT' will be formatted on screen

TEXT
$nodename - $sysname $kernel on $machine
$stippled_hr
${color lightgrey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg
${color lightgrey}CPU Usage:${color #cc2222} $cpu% ${cpubar}
${color red}${cpugraph 0000ff 00ff00}
${color lightgrey}RAM Usage:$color $mem/$memmax - $memperc% ${membar}
${color lightgrey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar}
${color lightgrey}Processes:$color $processes ${color grey}Running:$color $running_processes
$color$stippled_hr
${color lightgrey}Networking:
Down:${color #8844ee} ${downspeed eth0} k/s${color lightgrey} ${offset 80}Up:${color #22ccff} ${upspeed eth0} k/s
${color #0000ff}${downspeedgraph eth0 32,150 ff0000 0000ff} ${color #22ccff}${upspeedgraph eth0 32,150 0000ff ff0000}
${color lightgrey}File systems:
/ $color${fs_used /}/${fs_size /} ${fs_bar /}
${color #88aadd}MPD: ${alignc}$mpd_artist - $mpd_title
${color #88aadd}$mpd_bar
${color #88aadd}${alignc}$mpd_status
${color}Name PID CPU% MEM%
${color #ddaa00} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color}Mem usage
${color #ddaa00} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
${color lightgrey} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
${color lightgrey} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
$stippled_hr
${color #ddaa00}Port(s)${alignr}#Connections
$color Inbound: ${tcp_portmon 1 32767 count} Outbound: ${tcp_portmon 32768 61000 count}${alignr}ALL: ${tcp_portmon 1 65535 count}
${color #ddaa00}Inbound Connection ${alignr} Local Service/Port$color
${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767 lservice 0}
${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}
${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}
${tcp_portmon 1 32767 rhost 3} ${alignr} ${tcp_portmon 1 32767 lservice 3}
${tcp_portmon 1 32767 rhost 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
${tcp_portmon 1 32767 rhost 5} ${alignr} ${tcp_portmon 1 32767 lservice 5}
${color #ddaa00}Outbound Connection ${alignr} Remote Service/Port$color
${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}
${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}
${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}
${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3}
${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4}
${tcp_portmon 32768 61000 rhost 5} ${alignr} ${tcp_portmon 32768 61000 rservice 5}
Now take a look at this screenshot of my Vector Linux/Fluxbox machine - notice how different Conky looks?Here, then, is the heavily edited .conkyrc for that version:
# Conky sample configuration
#
# the list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.

# set to yes if you want Conky to be forked in the background
background no

# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono:size=12

# Text alpha when using Xft
xftalpha 0.8

# Print everything to stdout?
out_to_console no

# MPD host/port
# mpd_host localhost
# mpd_port 6600
# mpd_password tinker_bell

# Print everything to console?
# out_to_console no

# mail spool
mail_spool $MAIL

# Update interval in seconds
update_interval 5.0

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window no

# If own_window is yes, you may use type normal, desktop or override
own_window_type normal

# Use pseudo transparency with own_window?
own_window_transparent yes

# If own_window_transparent is set to no, you can set the background colour here
# own_window_colour hotpink

# If own_window is yes, these window manager hints may be used
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 280 5

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
# draw_borders no

# Draw borders around graphs
# draw_graph_borders yes

# Stippled borders?
# stippled_borders 8

# border margins
# border_margin 4

# border width
# border_width 1

# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color black

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
alignment middle_left
#alignment bottom_center
#alignment none

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 12
gap_y 12

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale no

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

# Allow each port monitor to track at most this many connections (if 0 or not set, default is 256)
#max_port_monitor_connections 256

# Maximum number of special things, e.g. fonts, offsets, aligns, etc.
#max_specials 512

# Maximum size of buffer for user text, i.e. below TEXT line.
#max_user_text 16384

# Timing interval for music player thread, e.g. mpd, audacious
#music_player_interval (update_interval is default)

# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument

# stuff after 'TEXT' will be formatted on screen

TEXT
$nodename - $sysname $kernel on $machine
$stippled_hr
${color white}Uptime:${color #cc2222} $uptime ${color white} Load:${color #cc2222} $loadavg
${color white}CPU Usage:${color #cc2222} $cpu%
${color white}RAM Usage:${color #cc2222} $mem/$memmax - $memperc%
${color white}Swap Usage:${color #cc2222} $swap/$swapmax - $swapperc%
${color white}Processes:${color #cc2222} $processes ${color white}Running:${color #cc2222} $running_processes
${color white}Networking: Down:${color #cc2222} ${downspeed eth0} k/s${color lightgrey} ${offset 10}Up:${color #cc2222} ${upspeed eth0} k/s
${color white}File systems: Root${color #cc2222} ${fs_used /}/${fs_size /}
A close read will reveal the different colour coding for the readouts as opposed to the plain white of the section headings.
If all else fails and you can't find your own .conkyrc-sample, there's a default one here.
Now, there are as many ways of configuring Conky as there are Linux users, and to prove it, here are some screengrabs I harvested from the internet:

Configuring Conky to do what you want/sit where you want/look how you want is two-thirds of the battle; the final third is getting it to load every time you start your machine.
I found two different ways of doing this, one in Fluxbox, the other in GNOME (see footnote).
In Fluxbox, you need to enable 'Hidden Files' in the 'View' section of your file browser, then double click on the '.fluxbox' folder.
In there you'll find all your Fluxbox configuration files but the one we want is '.fluxbox/init'. Open that with your text editor (as user, as this is a user-only configuration) and look for the line 'session.screen0.rootCommand:' and add 'conky &' to it, then save the file and reboot.
When your desktop reloads you should see your Conky display on your desktop.
In GNOME I did things differently: Click on System>Preferences>Sessions and, under the 'Startup Programs' option, click 'Add' and enter 'Conky' for the title and 'conky' for the command (plus a description, if you like).
Click 'OK', reboot and Conky should be sat waiting for you when GNOME boots up.
So there you go, with a little digging around, a bit of config file editing and trial and error, you too can have that cool text output on your desktop... enjoy!

FOOTNOTE: During my research for this article I found LOTS of suggested ways of autostarting Conky - some may work, some definitely don't, just do your own research and don't be afraid to try a few ways to find the right one for you. The methods I've mentioned worked for me but I'm not claiming they are the only/best way.

NB I just stumbled upon a very good article on Linux.com about Conky - well worth a read. It's here

Saturday, May 24, 2008

antiX M7.2 "Vetevendosje": Mepis/Debian Linux At The Speed Of Light

FIRSTLY, I'd like to explain that unusual nickname, "Vetevendosje".
It's an Albanian word which means "self-determination" and has been adopted by Kosovans who oppose the administration of their region by the United Nations, and who vigorously campaign for full independence.
So, never let it be said that Linux developers have a limited world view!
In broad terms, antiX M7.2 is a community-driven project to combine a Mepis 7.2 base (kernel is 2.6.22-1-mepis-smp) with the vast Debian package repositories and the Fluxbox and IceWM window managers.
AntiX is designed for older PCs, hence those lightweight window managers; in fact, it's claimed it can be run on just 64MB of RAM which, if it's true, is quite remarkable.
For this review I ran antiX as a live CD and as a full hard drive installation on a 10-year-old Dell Inspiron 8000 laptop.
The Inspiron only has a 900Mhz processor and a 10GB hard drive - although it does have a respectable 512MB of RAM - so it falls within the antiX remit.
I'll come back to that HD install later; firstly, what about antiX as a live CD?
Well, it's certainly one of the fastest live CDs I've ever used but there's a downside to its small download size (359MB) and it's in the number of applications included (full list is here).
Unlike some live CDs – and I'm thinking primarily of Knoppix – antiX comes with a fairly small software selection: The basics are well covered with applications like Iceweasel (browser), Claws (email), Abiword (word processor), Gnumeric (spreadsheets, Leafpad (text editor) Xmms (music player), gxine (DVD player) and gmplayer (videos).
So, there's certainly enough to keep you productive in a live CD environment, but not much in the way of system administration tools, thereby limiting antiX's use as a system recovery disk (unless, of course, you're up to remastering it yourself).
All in all I was feeling mightily impressed by antiX, so it was time to dive right in with a full install on the Inspiron 8000.
The laptop is well over 10 years old and has been home to many a Linux distribution in that time, but most have struggled to set up its eye-watering 1400x1050 display: Not so antiX.
In live CD mode it got the resolution right first time, and my Linksys PCMCIA ethernet network card was automagically configured, so I felt more than happy to dive straight into the full install.
AntiX comes with the Mepis installer – it's a beauty and gets the job done in 5 or 10 minutes with a minimum of fuss.
It's when you reboot for your first run that you realise the beauty of having a stripped-down base with Fluxbox as your window manager – Fluxbox loads instantaneously, and I really mean instantaneously.
I'm not that experienced with Fluxbox (there's also the option to use IceWM, which I'm afraid I really don't like – too Windows 95-like for my taste), so I spent a day or two just getting my head 'round the way this super-quick, super-light window manager works.
I was helped along the way by a handy user guide which loads in the lightweight web browser, Dillo, plus Iceweasel comes pre-loaded with bookmarks to the antiX website and forum, plus the Mepis forum and wiki – very useful and very thoughtful.
There's also some good advice on how to go about installing proprietary Nvidia and ATI drivers should you need to go down that route.
Moving onto software installation, antiX comes set up to access the vast Debian repositories: You have Debian stable, testing, multimedia, VirtualBox and extras all set up for you and, by simply uncommendting the entry in your apt/sources.list, access to the Mepis repository as well (that's where the proprietary graphics drivers can be found).
System configuration in antiX is done by selecting either the user or system configuration options in the main menu, which launches a small panel where you select the option you wish to configure.It's a simple, well-organised way of working once you get used to not being able to see all the config options at one go, and I really grew to like it.
Fluxbox comes with a large choice of themes, but I really liked the dark, moody default antiX theme so stuck with that throughout, although I did edit the Conky configuration file for some extra colour.
I have a routine once I've logged into a new installation which goes something like this:
Fire up the package manager and check for updates (there were 137 available);
Tweak my web browser's configuration to increase its speed;
Pop in a USB memory stick to check mounting (worked fine, though no desktop icon);
Install something from the repository to check if menu entries are OK (I got GIMP, and they were);Surf to the Apple movie trailer website to see if the Mplayer browser plugin is loaded (it was);
Surf to the BBC Radio 5 Live site to check live streaming (worked fine);
Play a music CD (Mezzanine, by Massive Attack, played fine in Xmms);
So, all the usual things done/working successfully – time to get down and dirty with some more serious challenges: Wi-fi, editing Conky to show battery levels, getting my head 'round the bizarre behaviour of the Rox-filer file manager.
Firstly, Wi-fi.
The Dell doesn't have built-in wireless networking so I've always had to rely on dongles: In this test, I was using a Netgear WG511 PCMCIA adaptor and a Sitecom WL113 USB dongle.
The Netgear (it uses the common Intersil/Prism chipset) has always been a problem – there are two versions of the WG511 and mine is the one made in China which has never worked well with Linux (apart from dear old Libranet 3.0 way, way back), so I wasn't expecting much success.
I was right not to – antiX failed to detect its presence at all.
I could have tried with the included ndiswrapper and the card's Windows drivers, but I was anxious to try the other card first.
Thankfully, I had far more instant success with the Sitecom, which runs on a zd1211 chipset.
I noticed while scanning the repositories that there was a firmware update available for the dongle, so I downloaded it and rebooted with the device in the Dell's USB slot.
I ought to mention here that there are three utilities included in antiX for dealing with networking: Mnetwork (launched from the terminal), ceni (ditto) and wicd, a distinctly old-school looking but effective utility available through the Fluxbox menu.
To my delight the Sitecom only need the ESSID and WEP key inputting and I was up and surfing wirelessly – a major result for the old girl!
However, the more I used antiX, the more unstable this wi-fi setup seemed to become: I had to reconfigure the Sitecom connection (eth1) at least three or four times over subsequent days.
Given that antiX is aimed at older machines, and that such older machines are unlikely to have built-in wi-fi, this is quite an important issue though, to be fair, your success may vary depending on which wi-fi card you're using.
Moving on now to that Conky issue, I had already edited the configuration file to change a few settings but the one I really wanted to include was some form of power management monitor so I could keep an eye on my laptop battery life (there's no graphical applet in Fluxbox, at least not one I could find).
I found the solution on the antiX forum and had it running in a few minutes.If only using Rox-filer was as easy. I've tried with it, I really have, but I just don't like it.
Specifically, I don't like the way the size of the file manager changes according to the number of files contained in whatever directory you're using.
I know that by right-clicking on the title bar it's possible to fix a window's dimensions and position, but it only works for that particular window and not subsequent ones you open from it.
Finally, after a few days I decided I'd had enough so I uninstalled Rox-filer and downloaded Thunar from the repositories.
Oh dear, Thunar appeared to break something. Seriously.
In fact, I was totally unable to get Fluxbox to run again – the graphical login had disappeared completely and no matter what I tried from the commandline I was unable to get X and Fluxbox up and running again. I couldn't even get IceWM to launch.
Oh well, off I go re-installing!
I'm now a few days into my second HD install and I have to report I'm totally loving antiX.
The speed is amazing, breathing new life back into a tired old machine, and once I get my head 'round Rox-filer I'm sure it will turn out to be perfectly useable.
I've reverted to using the Linksys wired ethernet connection until I find a USB wi-fi dongle that works more reliably with antiX, and I'm thoroughly enjoying learning my way around the Fluxbox environment.
Would I recommend antiX?
Yes, but only for experienced Lxers: It's simply not suitable for Linux newbies, given the slightly esoteric nature of the WMs and the pared-down desktops (newbies do like their icons!).
If you've been around the Linux block a few times and are looking for a project, possibly using an old piece of hardware, then antiX is a marvellous choice.

Friday, May 16, 2008

Here comes the sun, doo-n-doo-doo...

WITH the recent warmer weather (at least where I live!) more folk have been getting outdoors, which makes my next recommendation rather timely.
There have been a few solar chargers on the market in recent years but few as good as the Devotec device I've been testing.
With adaptors for Nokia, Sony Ericsson, Motorola, Samsung and BlackBerry phones, plus the Nintendo DS, Sony PSP, iPod and a mini-USB, it's an amazingly handy little gadget for your hols or weekends camping.
The solar charger measures just 95 x 43 x 10mm, weighs 80g and houses an 1800mAh battery, and has a satisfyingly solid and stylish feel and look, plus it comes with a nifty brown leather carry case.
Once it's fully topped up you're able to charge your phone twice before you need to recharge it.
Recharging via sunlight takes up to 12 hours, but just four hours if you plug it into the mains or charge it via USB (all the cables/plugs are included).
The best bit though, is the £20 price – a bargain - plus you get to feel good about shaving a bit off your carbon footprint.
See here for more.

Friday, May 02, 2008

Mrs Red Devil Installs Ubuntu 8.04

MRS Red Devil is, without being unkind, not the most computer literate person on the planet.
She is a wonderful wife and mother, a faithful friend, kind and generous with her time and energy – and very cute, to boot.
But when it comes to computers in general, and Linux in particular, she's something of a beginner.
So, who better to try installing the latest Ubuntu 8.04 (Hardy Heron) release?
After all, if Ubuntu, and Linux in general, are to gain ground on that other operating system, surely it's people like Mrs RD they should be targeting?
To prepare her for this experiment, I had her read a two-page guide, printed each month in Linux Format magazine, on the basics of Linux.
She admitted it left her feeling more confused than before. Oh dear.
But no matter, I would be on hand to act as her own personal user forum, though I wanted to see how far she could get without my intervention.
I chose Ubuntu 8.04 for her first Linux experience for two reasons.
Reason One was because 8.04 features the Wubi installer option.
Some Hardy Heron reviewers seem to be confused about Wubi, claiming it to be an Ubuntu innovation, but it actually began life as an independent project.
It's only since development started on Hardy Heron that Wubi merged with Ubuntu.
Wubi (there's a handy guide at https://wiki.ubuntu.com/WubiGuide) is the Third Way of trying Ubuntu 8.04, after a hard drive install and the live CD option.
I thought Wubi, which allows Ubuntu to be installed as a disk-image, guest OS within Microsoft Windows, would allow Mrs RD the chance to see:
a) how clever Linux can be and
b) if she liked it enough to try a full hard drive install.
Reason Two for choosing Hardy Heron was that, no matter what you think of Ubuntu, it has one of the simplest, most straightforward hard drive install routines of any Linux distribution... and we needed a big old dose of 'simple' for this test!
Anyway, enough with the introductions, here's how she got on.

We were using two machines, both of which were hard-wired to a Netgear broadband modem/router:

Desktop (Wubi test): A Philips media centre PC with Intel Core 2 Duo processor, 1024MB of RAM, DVD-RW, 160GB HD, Intel integrated graphics, running Windows Vista Premium, an Acer AL1912 19inch LCD monitor, Fujitsu-Siemens keyboard and scroll-mouse.

Laptop (HD install test): Dell 8000 Inspiron laptop with 900MHz processor, Nvidia mobile graphics card, 512MB of RAM, 1400x1050 resolution screen, CD drive, Microsoft Trackball USB mouse.

I had already burned the Ubuntu 8.04 ISO to a CD, so I handed it to Mrs RD and told her to start the desktop PC.
Once Vista had finished doing its start-up thing, she popped in the CD and up came Ubuntu's new three-option panel, which gives you the choice of using the live CD mode or doing a hard drive install, installing within Windows, or learning more.I had already explained how Wubi worked to Mrs RD, so she chose the 'install within Windows' option and was then presented with a panel showing her install options.
The screenshot shown here is exactly the same as the one she faced, though we had different default settings (15GB Ubuntu image, installed to the 'C' drive).“What is 'Accessibility' for?” asked Mrs RD at this point.
Try it and see, was my reply.
She did, and once she'd realised it was simply where you go if you have specific visual requirements, she moved on and started the install.
“What are checksums?” came the next question. Blimey, I thought, this is going to be a long day!
It's a way of checking the integrity of data, I replied. She seemed happy with that, and we sat watching the install for 10 minutes.
“OK, it's finished, do I take out the CD before or after I hit 'Reboot'?”
Take out the CD, then click 'Reboot', I assured her.
That brought us to the Wubi login screen, offering the choice of Windows Vista or Ubuntu... but the timeout was set so low it flashed by in an instant and launched Windows Vista, so Mrs RD rebooted the machine and this time jumped in to select 'Ubuntu'.So far, so good – but this is where things started to go badly wrong.
The Ubuntu launch routine started, then stopped with a blank screen in front of us.
“What have I done wrong?” asked Mrs RD.
Er, nothing dear – it looked like Ubuntu was having trouble detecting the monitor (which was connected to the Philips base unit via a DVI connector).
And, unfortunately, that's as far as Mrs RD – or me – ever got with our Wubi/Windows experiment.
“That's really disappointing,” said Mrs RD, “it was actually much more straightforward than I expected.”
Ubuntu 8.04 has since repeatedly failed to get the monitor going, which is odd because that monitor has worked with many previous Ubuntu installs in the past – though I wondered if that DVI connection could be the culprit (previous installs have been via a standard VGA connector).

No matter, upward and onward to our full install on our trusty old Dell 8000 Inspiron, which has seen more Linux installations than Mrs RD has cooked hot dinners.
In the past this old laptop's high screen resolution (1400x1050) has baffled many a Linux distribution, although Vector Linux 5.9 – its most recent resident – handled it beautifully (see review here).
How would the Hardy Heron cope?
Very well indeed, actually.
Ubuntu's installer is a polished piece of work so Mrs RD had no trouble at all, working her way through the locale settings and the keyboard layout.
I thought partitioning the hard drive might prove a bridge too far for her, so I told her to take the 'Guided Partitioning – use Entire Disk' option.
The old Dell was slogging along like a farmer in muddy boots, but she was getting there slowly.
The user configuration presented no problems and the only question Mrs RD asked during the whole routine was “What's Migration Assistant?”, which was easy enough to explain and seemed to make perfect sense to her.
And that was it, really – a few minutes later we were sat staring at the desktop of her first Linux hard drive install.
And what did she say?
“What's that nice birdie?”Er, that's the Hardy Heron, sweetheart.
Anyway, we had sound, we had broadband, we had 1400x1050 resolution, we had an updater icon that was reporting 129 updates available for download and we had a message saying restricted drivers were available for our graphics card.
I decided to leave her to it for a while and see how she got on.
Just fine, was the answer: She got the Nvidia drivers installed, launched Firefox and went straight to her favourite shopping and property websites (she likes to snoop!), rooted around through the various menus... and then she surprised me.
“I know there are some programs here already, but what if you want more? And how do you get them? And how do you know what they are called? And what if, for example, I'm playing a game online and it tells me I need something so I can play it properly, like it sometimes does in Windows? Where would I get that?”
All great questions and, fortunately for me, all easily answered.
So, first I explained about repositories, and about the concept of being 'Root', and then I showed her Synaptic and its categorised software and, you know what, she 'just got it'.
She downloaded and installed Mozilla Thunderbird, just to try out her new-found abilities, she copied some music files from a USB stick and played them in Exaile, after having downloaded and installed the necessary gstreamer 'ugly' codecs which Ubuntu 8.04 helpfully told her she needed.
She also surfed to Apple's movie trailer website and, before she could watch a trailer, downloaded and installed the necessary Quicktime plugin, all without a single problem.
I could see, by now, that the penny had well-and-truly dropped – she was actually liking “that Linux thing” her husband kept going on about!
So I asked her outright, and here's what she said about her Ubuntu 8.04 experience: “I was dreading doing it. I thought, 'Aah! Technical stuff!' but it was actually really straightforward and the instructions were really easy to follow.”
And since then, I don't think she has given it a single thought, which is really as it should be.
She has just spent her time doing what she normally does on the computer – spending my money and looking inside other people's houses for ideas on how our home should look... which, in a weirdly comforting kind of way, says it all really.
If Ubuntu 8.04 presents so few problems for Mrs RD, it must be doing pretty much everything right, mustn't it?