Can a Geek Love Xandros?

Review

With its many superb, user-friendly enhancements, Xandros Desktop has justly become known as one of the top products for Windows-to-Linux migration, suitable for any non-technical user. But how about the rest of us? Some of the more experienced among the readers can surely configure CUPS with Samba by editing configuration files with closed eyes. This kind of exercise is useful and fun the first few times, but it can quickly become a mundane task if it has to repeated often. Wouldn't it be nice if we had a distribution that could do it near-automatically? In other words, wouldn't it be nice if we just used Xandros? And despite our natural resistance to use GUI for any kind of configuration, could we still love Xandros? Robert Storey investigates.

A d v e r t i s e m e n t

Debian With Pizazz

Debian is an industrial-strength distro known for its stability, superb
package management, large software archive, a terrible installer, and a
lot of powerful but esoteric commands such as: "dpkg-reconfigure
etherconf, dpkg --get-selections, apt-get upgrade, grep-status emacs"
and so on.

There have been several commercial attempts to cloak Debian's mighty
engine in a nice sleek-looking exterior. Xandros Desktop OS is one of
the slickest attempts yet at putting a point-and-click interface on the
untamed beast - think of it as Debian with pizazz.

Xandros version 2.0 was released in December, 2003, and not
surprisingly, a flood of reviews hit the web soon thereafter. Most of
these reviews have focused on the ease-of-use factor, which is Xandros'
trump card.

Which creates a dilemma for reviewers like me. For the past few weeks
I've been reading over and over about how Xandros has added so many
Windows-like features ("root" is called "Administrator", the modem is
on COM1 rather than ttyS0, and there is even a "drive C:"). I was
starting to get bored even before I received my Xandros CDs in the mail
(which took a long time given my remote location). One reviewer wrote
that "geeks should look elsewhere" - as a certified geek, I found that
depressing.

So rather than simply repeat what has been said ad nauseum ("Xandros is
so easy to use, just like Windows - Wow!") I've decided to take a
different approach. I'm going to throw everything I can at Xandros,
including "not recommended" things that could possibly break it. That
means installing Debian Unstable packages, running it as a server,
stripping off the graphical bootup system, even running a different
window manager than KDE, and so on. "Geeks should look elsewhere" -
hah! Damn the "kernel panic" messages, full speed ahead. I realize that
this is
unconventional, but hey, it's my computer and my review, and I don't
have anything better to do this weekend, so why not?

But before I delve into the dangerous stuff, first a little bit of
background...

Once Upon A Time...

Back when dinosaurs roamed the earth and everybody thought that 64
Kbytes of RAM was a lot, a small upstart Canadian company named Corel
was founded. The year was 1985 - Microsoft Windows 1.0 had just been
released (and was roundly criticized for being slow and unstable).
Nobody at the time thought of Windows as an operating system - it was
just one of several GUIs for MS-DOS. Even
Microsoft was saying that the next great OS would be OS/2, or maybe
Microsoft's Unix clone, Xenix.

A lot of water has passed under the bridge since then. Xenix evaporated
long ago, though Microsoft still uses it as an excuse to subsidize SCO.
Corel released
the widely acclaimed CorelDRAW in 1989, and with its growing mountain
of cash acquired other software powerhouses including WordPerfect,
Ventura Publisher and Micrografx. Corel Linux was released in 1999,
back-to-back with Corel WordPerfect (the best Linux word processor at
the time). Again and again, Corel won plaudits for its software
innovation.

Corel Linux got a lot of people excited when it first hit the streets.
For one thing, the
graphical installer was a breeze to use, and the desktop (based on KDE
1.1)
was also finely tuned (at least by the standards of 1999). Corel
WordPerfect for Linux was also included with the distro, giving Windows
refugees a familiar word processing interface to work with. Virtually
all of the Linux-aware computer magazines said that Corel Linux was the
most user-friendly distribution on the market.
Pundits confidently predicted that Corel was a company that was poised
to give Microsoft some real competition in the OS market.

Unfortunately, that's what they said about Netscape too, and things
didn't work out as planned. Corel Linux hit the shelves just as the
dotcom bubble burst - the timing could not have been worse. By October
2000, a financially troubled Corel announced that it was selling 24
million shares to Microsoft for US$135 million. Corel Linux silently
went the way of the buggy whip. In 2003 Microsoft dumped its stake in
Corel, taking a reported US$100 million loss (though some tend to think
that it was money well spent).

So Corel Linux was a distro with a great future behind it, right? Well,
not exactly. A lot of good technology had gone into the project (not to
mention money), and it would have been a shame to see it all wasted.
Fortunately, Corel found a small Canadian upstart named Xandros that
was willing to buy their OS for US$2 million. And that's where our
review really begins.

Getting The Goods

Possibly you will find Xandros on the shelf at your local computer
store, but most people will probably go to www.xandros.com and order it
online. The web site also includes a list of resellers, and even a few
companies who will happily sell you a whole PC with Xandros
pre-installed.

Xandros Desktop OS 2.0 is currently available in two
versions, "Standard" (US$39.95) and "Deluxe" (US$89). The main
difference between the two is that Deluxe includes a fully-integrated
copy of Codeweaver's CrossOver Office (US$69.95 if bought separately)
and CrossOver Plugin (US$39.95). CrossOver Office allows you to run
designated Windows apps under Linux, including Microsoft Office XP,
Lotus Notes, Macromedia Dreamweaver MX and Intuit's Quicken, among
others. CrossOver Plugin supports such play-things as Apple's
QuickTime,
Macromedia Flash, Real Player, Shockwave and Windows Media Player. So
if you need these functions, it may well be worth the extra $50 for
Xandros Deluxe.

A Business edition is also in the pipeline. Among
its announced features are several commercial applications including
StarOffice, Citrix client software, and a SAP client. Other anticipated
features are IBM terminal emulation, Windows PDC authentication and
Windows Active Directory server authentication. Installation tech
support (via Email) will be extended to 90 days (for Standard/Deluxe
it's 30/60 days respectively), but in my opinion if you can't manage to
get Xandros installed and working properly after 30 days, you might as
well give up. There is no word yet on pricing for the Business edition.

Xandros comes in a
colorful professional-looking boxed set. The Deluxe version includes a
printed
318-page User Guide, though it's very much geared towards beginners and
could hardly be thought of as a Geek Reference Manual.

It should be noted that Xandros can be purchased as
a downloaded *ISO file. That will save you some time getting the goods
into your hot little hands, but it should also be noted that the
downloaded edition is not priced any cheaper than the boxed set. The
only monetary saving of the downloaded set is that you won't have to
pay shipping.

Installation

There is not a whole lot to say about the installation except that Aunt
Tilly could do it with her eyes closed (unless she's dead). Xandros
boasts superb hardware detection, so unless you've accidentally
mistaken
a Macintosh for a PC, the install procedure should go smoothly. The
first and most important decision you need to make is whether you want
an "Express Install" or a "Custom Install". Choosing "Express Install"
runs the risk that Xandros will overwrite existing partitions (and the
included data), but it will warn you of this before proceeding.

"Custom Install" is certainly more interesting, not only because you
can select the partition where Xandros will reside, but also which
software packages to install. By default, almost everything is selected
for installation with the notable exceptions of Apache and FTP Server.
And of course, any geek worthy of the title will want to install server
software.

I chose to install everything except Novell Netware. After clicking the
requisite OKs, there was little more for me to do for the next 10
minutes but to go make a cup of caffeine. At some point in the process,
there were a few mundane questions about the root and user passwords,
setting up a printer and such, but there is no reason to go into all
that. A veteran of previous Linux installs should find the whole
procedure boring at worst.

When the installer finishes its job, you are prompted to remove the CD,
and are then delivered to a KDE desktop. However, Xandros has performed
plastic surgery on KDE, giving it a somewhat different look & feel
from what you may be used to. Nevertheless, it's not bad at all, and
certainly delivers on the promise to put a user-friendly exterior on
Linux.

The Morning After

Although the installation procedure didn't tax my brain too hard, it
did produce a few notable hiccups that required further investigation.
Most importantly, I couldn't help but notice that I was never prompted
to insert the second CD (the one labeled "Applications"). The second CD
comes only with the Deluxe version, but it's still rather rather
peculiar that the installer ignores it because I did choose to install
everything (but Novell). Furthermore, disk two does indeed have some
rather useful goodies - it's not simply games games and other trivia.
Most crucial for me is Emacs, the Swiss-army knife
of editors that includes everything plus the kitchen sink. I use Emacs
for just about everything, including psychoanalysis (do an "M-X doctor
<enter>" and you'll see for yourself).

Perhaps even more crucial, Firestarter (the Xandros firewall) did not
install. I find that peculiar, since one of the first things Xandros'
wizards nag you to do is go online and register. But no one should go
online without a firewall.

So one of my first tasks was to install all the uninstalled treasures
on disk 2. Being based on Debian, I thought that perhaps Xandros would
make use of Synaptic, the Debian graphics utility for installing and
uninstalling packages. However, Synaptic is nowhere to be found -
rather, Xandros has deployed its own system called "Xandros Networks."
It's a reasonably user-friendly system, though somebody coming straight
from Windows XP might find it baffling at first.

Screenshot 1: Xandros Networks

So without further ado, I inserted the second CD, clicked "Launch
--> Xandros Networks", and a program which looked something like a
file manager popped up. Because I deliberately neglected to configure
my modem, I got a threatening but non-fatal error message:

"Xandros Networks is having problems downloading data from the
Internet."

Yes, as the name implies, Xandros Networks looks to the Internet for
its data. But I didn't want it to do that because I planned to retrieve
files from my CDROM. The trick is to click on "Edit --> Set
Application Sources" and then click on your CD drive. I also needed to
click on "File --> Enter Administrator Mode" in order to get root
privileges so I could install programs. After doing this, I could then
explore the menu under "New Applications", where I could select apps I
wanted to install. Sounds simple right? Well, it was, but there was a
catch - some of the apps shown in the menus weren't actually on the
CDROM, so they could not be installed. Even worse, some apps (including
my beloved Emacs, as well as Firestarter) did not show up on the menus
even though there were in fact present on the CDROM - this appears to
be a bug.

Still, the exercise was not in vane. I did successfully install several
compilers (gcc, g++ and c++) plus other development tools, the sort of
thing that every geek needs. But I still wanted Emacs and Firestarter.
To get these, it was time to start working on the command line. That's
fine by me, but it's just the sort of thing that would terrorize a
fresh-faced
newbie.

The Fun Begins

Debian is famous for its APT (Advanced Package Tool) system of package
management, and Xandros actually uses this (though it is hidden behind
a point-and-click interface). So my first hacking adventure with
Xandros involved getting the apt-get command to work so I could install
packages from the command line.

Apt-get looks at file /etc/apt/sources.list
to to know where it should search for packages to install. It is
entirely
possible to list more than one source in this file - the apt-get
command will take them in order, giving preference to the first one
listed as the primary source. Thanks to my pointing and clicking in
Xandros networks, /etc/apt/sources.list now contained only one line
like this:

deb file:/var/autofs/cdrom.1/cdrom.1 xandros2.0 main contrib non-free

In other words, it would use Xandros disk 2. So all I had to do was
start installing. But first, I wanted to know which packages were
available on the disk. I could find out like this:

apt-cache search . | less

This produces a very long list (which is why I piped the output to
"less"). If I only wanted to know about firewalls, I could search like
this:

apt-cache search firewall

This is how I learned about Firestarter. To get more details, I could
use this command:

apt-cache show firestarter

And finally, to install Firestarter, I did this (as root):

apt-get install firestarter

Firestarter installed without incident. Then, in order to actually
configure the firewall, I had to log in as root and
run the command "firestarter" from an Xterm.

Screenshot
2: Firestarter

With Firestater installed and configured, I finally felt confident
enough to go online and register my copy of Xandros, as well as do a
little web surfing. I would have checked my Email, except that I wasn't
comfortable using Mozilla Mail, which at this point was the only Email
client installed. Surprisingly, Kmail is not included, though it can be
downloaded from Xandros Networks.

As already mentioned, I can't live without Emacs, so with Xandros CD 2
still in the drive, I typed:

apt-get install emacs21

Safety First

Although
I intended to play rough with Xandros and even break things, one safety
feature I always install out of habit are some aliases that prevent me
from accidentally wiping out files at the command line. Some distros
enable this by default, but Xandros (surprisingly for a newbie distro)
is not one of them.

To
do this, open up the hidden files in your home directory .bashrc and
.bash_profile add the following four lines:

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
set -o noclobber

I performed the above surgery for all my user accounts, including root.
This is not to say that you absolutely must do this, but merely to
suggest that it would be a damn good idea.

You
have to log out and log back in for the new settings to take effect.
After this, when using the rm, cp, and mv commands you will be prompted
if your action will erase/overwrite a file. The last setting (set -o
noclobber)
will prevent you from wiping a file with redirection (that funny ">"
symbol).

The Gloves Are Off

Now that I'd fastened my seatbelt, it was time to do some real damage.
First off, I hate the cutesy graphical login that Windows-users love. I
am used to booting up in text mode, and then starting Xwindows manually
with the "startx" command. Xandros, by contrast, adheres to the
philosophy that users should never see text mode under any
circumstances.

The graphical login is produced by starting a program called kdm (the
KDE Display Manager). Xandros' programmers have tweaked kdm to add some
extra features, and they have renamed their version kdm-nd. Bear in
mind that some Xandros features will be disabled if you don't run
kdm-nd. Most notably, kdm makes it possible for users to shut down the
system with a point-and-click operation, so if you disable it you will
need to become root and run the shutdown or halt command. Also, without
kdm Windows authentication will also be disabled, though this will only
affect users of the upcoming Business edition.

Kdm-nd is called during bootup by a symbolic link
/etc/rc2.d/S99kdm-nd - simply erasing this file will prevent kdm from
starting. Don't be too terrified of deleting this link, since it can
always be recreated (by root) thus:

ln -s /etc/init.d/kdm-nd /etc/rc2.d/S99kdm-nd

So to boot into text mode, all you've got to do is remove the
above-mentioned symbolic link and reboot, correct? Well yes, that
works, but it might not leave you feeling satisfied. What you will find
is that, first of all, you still won't get to see all the text messages
scroll by during the boot process - they will be hidden by the Xandros
splash screen. Secondly, when the splash screen disappears, you will
probably (depending on your video card) find yourself with a totally
black screen! Fortunately, if you tap on the <enter> screen four
or five times, the totally black screen will vanish and present you
with a
proper text-mode login prompt. I spent quite a bit of time trying to
see if I could eliminate this "black screen of death", but to no avail
- it seems to be something compiled into the kernel. I suppose Xandros
developers will say that this is not a bug, it's a feature, but it's a
feature I could easily do without.

To allow yourself to see the text messages scrolling on-screen during
bootup, you have to kill the video mode that is enabled by LILO. Do
this by editing file /etc/lilo.conf, commenting out the first line that
says "vga=0xf04" and substituting "vga=normal". While you're at it, you
can get rid of the Xandros graphical welcome screen by commenting out
"message=/boot/splash.lilo" and substituting
"install=/boot/boot-menu.b" for the line that says
"install=/boot/cboot.b". Though not mandatory, you may wish to change
the line that says "label=[]s_Desktop_2.0" to "label=Xandros". To
summarize these changes, see below:

Then run the command "lilo" and reboot. The fancy Xandros splash screen
will be gone, but you will have a menu where you can choose which OS
you want to boot. You will still wind up with a black screen of death
which you get rid of by hitting <enter> a few times - then
finally you can log in and run "startx".

At this point it might be worth mentioning that there are a few genuine
advantages to starting Xwindows manually. One of them is you can force
certain X applications (such as Mozilla) to use larger menu fonts.
Because I've spent so many years glued to a computer screen, my
eyes are not what they used to be so large menu fonts are something I
greatly appreciate. The way to increase font size is to add a parameter
to the startx command, like this:

startx -- -dpi 100

You could make that 120 rather than 100 if you want fonts that are
huge. Whatever, once you have decided the size you want, you can add a
line to .bashrc so that you won't have to retype these parameters each
time you start X, like so:

alias startx='startx -- -dpi 100'

Again, you will have to log out and log back in again before the new
alias takes effect.

The other advantage of starting X manually is that different users
could use different window managers (rather than KDE for everybody). Of
course, you would first have to install these window managers, since
only KDE comes with Xandros. Fortunately - with the exception of Gnome
- most window managers are very fast and easy to install (either using
apt-get
or just compiling from source). As you might suspect, running a window
manager other than KDE wipes out many of the user-friendly advantages
of Xandros.

Let us say we have two users on our system. One user we will name
"propellerhead" and the other is user "clickmouse". User clickmouse
will always log on
with KDE, but user propellerhead prefers Fluxbox. So we first install
Fluxbox
to the system, and then we create a hidden file named .xinitrc in the
home directory of user propellerhead, with this content:

exec fluxbox

That's all there is to it. You can always delete or rename file
.xinitrc and propellerhead will be back to using KDE.

Going All The Way

Once you get online, you can use Xandros Networks to install additional
programs as well as update them (and even to install a new kernel). But
I was interested to see if I could use the standard Debian Unstable
archives to do the same thing. On the plus side, Unstable has over
13,000 packages available (which is nearly every Linux program
currently in existence), far more than Xandros Networks can offer. On
the downside, mixing software from Unstable
with a nice solid Xandros desktop could wreak havoc on your
dependencies, leading to unpredictable behavior. But who cares? We
come not to praise Xandros, but to break it. So onwards.

Normally, if we wanted to use Debian Unstable sources, we would edit
/etc/apt/sources.list and put the following two lines at the top of the
file:

Unfortunately, the Debian server has been down for several weeks.
However, since I live in an area with a shakey Internet connection, I
am prepared for such lapses - I have a full set of Debian
Unstable on CDROM. It's an 11-CD set that I acquired about six months
ago (which means it's also rather out of date, but it will do for our
experiment).

I first moved /etc/apt/sources.list to a backup file. Then I typed the
following:

apt-cdrom -d /cdrom add

This didn't work as planned - I received this error message:

E: Unable to stat the mount point /cdrom/ - stat (2 No such file
or directory)

As it turns out, Xandros does not have a /cdrom directory. Rather, it
uses /mnt/cdrom0. So I decided to create a symbolic link:

ln -s /mnt/cdrom0 /cdrom

I ran the "apt-cdrom -d /cdrom add" command again, and this time I was
prompted to insert a CD. I inserted CD No. 11 and hit <enter>.
This worked, and after I was returned to the command line, I ran the
command again, and
when prompted inserted CD No. 10. I repeated this procedure until I had
gone through all 11 CDs. Now the contents of my /etc/apt/sources.list
looked like this:

So I was all ready to start installing packages. I installed Sylpheed,
my favorite email program. I installed Mailfilter, superb for filtering
out spam, Windows viruses, and other detritus that I want to keep out
of my inbox. I installed gqview and GTKsee, both of which are great for
viewing graphics files. I added antiword for converting Word document
files into ASCII; flip for converting Unix files to DOS text
and back again; wordinspect (plus dict-gcide) so I'd have a reference
dictionary at my fingertips; lynx for reading html files and converting
them to ASCII text. Last but not least, I installed gftp for
downloading and uploading files via ftp.

Surprisingly, I had few problems. There were some packages that refused
to install, but most were OK. I had anticipated that my installation of
Xandros would be pulverized by dependency errors, but to my amazement
it held up through the storm. Nevertheless, be forewarned that the
above was a risky procedure.

Remember the Debian guarantee - if it
breaks, you get to keep both pieces.

Conclusions

There is a running joke that you can install Xandros on a Windows
user's hard drive, and he or she won't even notice. That, of course, is
an exaggeration - surely our hypothetical Windows user would wonder
what ever
happened to Solitaire.

Cynicism aside, Xandros Desktop 2.0 is not really Windows - it's KDE
with some nice user-friendly tweaks. The Deluxe edition does give you
the possibility to run real Windows programs if you need them. For
people trying to gradually wean themselves off of Windows, this can be
a very useful feature. If you happen to work for a company that is
addicted to Windows apps, Xandros
may well be the best available option.

Xandros also deserves kudos for superb hardware detection. And I have
no complaints about its stability - I experienced no crashes, not even
when running Microsoft Office. Even my hacks didn't succeed in
destroying the system, though I bet if I'd tried hard enough, I could
have made a real mess.

Still, my experience wasn't perfect, and I hope the Xandros programmers
will take my suggestions for improvement seriously. In
particular, it would be nice if choosing the option to install
everything really installed everything (at least everything on disk 2).
It wouldn't hurt to have a disk 3 as well - the included apps were
rather lean, and not everyone feels like downloading (and not everyone
has broadband). Before going online for the first time, it would make
sense to have the firewall already installed and configured. And could
something be done to get rid of the black screen of death (aside from
repeatedly hitting the <enter> key)? The printed User Guide looks
pretty, but it could use more meat and potatoes, rather than just the
salad
dressing.

A suggestion (not only for Xandros) - include Loop-AES encryption. This
allows you to encrypt partitions and files. Many free distros such as
Knoppix have it built-in, even though the public is only dimly aware of
it and it's not easy to use. As a devout paranoid, I'm a great believer
in encryption and I'll
have more to say about it in future articles. Certainly if you install
valuable data on a laptop (which could be easily stolen), you'll want
to consider the benefits of encryption. If Xandros could develop
a nice user-friendly interface to put on top of Loop-AES, that would
really be an innovation - under such circumstances I might even go out
and buy a copy of Xandros myself.

Obviously, for the geek community, there are many other options besides
Xandros, many of them free
(Debian, for example). Nevertheless, Xandros can be fun to hack. If you
really want entertainment, try compiling the
2.6.0 kernel on it along with some patches. No guarantees on what
will happen if you do that, but as Clint Eastwood once said in one of
his movies, "If you want a guarantee, buy a toaster."

Copyright Notice

Copyright (C) 2004
Robert Storey
Verbatim copying and distribution of this article is permitted in any
medium, provided this copyright notice is preserved.

Formerly a well-known travel writer,
Robert has spent half his life in Asia (and is still there). Long
since overdosed on travel writing, he spends his spare time hacking and
helping "repair" broken computers for free (by installing Linux).

CodeWeaver's commercial product (based
on Wine which is free). CrossOver Office allows one to run specified
Windows apps, which CrossOver Plugin allows certain Windows plugins to
work with your browser. The Deluxe version of Xandros includes the two
CrossOver products.

APT - Advanced Package Tool

Xandros is based on Debian, and Debian's
system for
managing binary software packages is called APT. It includes the
ability to install,
uninstall, and resolve dependencies.