Linux for your granny...
Linux has traditionally been somewhat hard to install and administer.
While in recent months, many Linux distributions have made great
strides in ease of installation, ease of administration has only
increased incrementally. While ease of administration is approaching
that of other server Operating Systems rapidly, it has yet to be
easy enough for my grandma to use.
Actually, my grandma is already using Linux. Specifically, she is
using a customized version of Mandrake Linux that I installed for her.
The desktop is KDE. It is running Juno Email via Windows emulation,
allowing her low-cost access to email. That's all she uses it for.
In the year or so since I installed it for her, we've had few
difficulties. However, the ones we have had, she's been unable to
manage by herself.
Obviously, this is a different category of user from the "average"
Linux user. Nevertheless, I believe it is an important and growing
segment of the userbase. It is my goal, with the Igloo Linux distribution,
to further grow that user population, of all the grandmas and grandpas
who may be somewhat technophobes, but wish to join the information age
(or at least check their email).
- Somehow, the date got set to the year of 2007, and Juno refused
to run. Walking her through setting the date back was tedious, as
she tried to steady her hand enough to select programs from
the "K" menu. We had to bring up a console and have her login as
"root", then run "timetool".
- Linux's incessant logging finally filled the 500 MB disk (there was
less than 50 MB free after installation). Now, Juno complains about
"not enough memory". I have yet to fix this one for her, as I just
heard about it tonight.
It is my goal to produce a distribution that handles
most administration by itself, rather than requiring occasional attention
from a human administrator with above average computer skills. In addition,
I wish to make this a distribution *I* might wish to use, even though
I am a programmer, and quite able to administer my system myself. However,
I could certainly make better use of my time programming, rather than
administering, my system.
It is not my goal to produce another server, programmer's workstation,
etc. (For my own use, I will probably have a set of add-on programmer's tools,
which I may eventually make into a separate package that can be added to the
What's the point?
Okay, many of you are asking, "Why another distribution?" It has been my
experience in the years I've used Linux (since 1994 in college, and since
1997 on my own system) that there have been many distributions that have
come close to my ideal in one area or another. However, even if you combined
the best features of all the distributions, there are some features which I
haven't seen in any distribution, which I intend to add. Most of these features
have to do with reducing system administration time on the part of the user.
I won't bother listing all the possible areas for improvement at this time,
but I'll start by listing areas that I haven't seen in any distribution.
There are many more areas which I could add to the above list, in addition to the
areas various distributions have already focused on. One improvement I've undertaken
is making it easier to install Linux on top of Windows. While distributions such as
Caldera have added easy resizing of Windows partitions (and I want to include this as well),
there needs to be a mainstream option for installation into a loopback filesystem on
a DOS partition.
- Automatically set system clock at boot time to a reasonable time after
the last booted time (or at least within 24 hours of it). Time should never move
backwards more than 24 hours. Of course, some people messing with time-expired
shareware may wish to set time backwards (after having set it forwards), but the
average user doesn't need this.
This wouldn't have solved my grandma's case, but it would solve potential problems
for people who's CMOS clock battery runs dead. At least, they could use their
system safely until they got the battery replaced. Many programs depend on time
moving steadily forward, and having it drop back to 1/1/1980 can be disastrous.
- Automatic cleanup of the system when drive space is getting low. For example,
prompt the user to delete files in the "Trash" bin, /tmp directory, etc. Give this
warning some time before the drive runs completely out of space.
- Default to having autofs installed. At boot time, detect mountable partitions,
and automatically configure them for autofs, creating mount points as necessary. Put
icons for these on the desktop. Remove icons for drives whose corresponding partitions
no longer exist (after making a backup of the icon, for the next time the partition
is found). Automatically handle removable drives, such as Iomega Zip and Jaz, Syquest,
etc., in the same manner.
- Autodetect CD type (music, data, or multi-session with both music and data), and
start a CD player or kfm window viewing the CD when the icon is clicked. Provide
options to override the default (useful for music/data combo CDs). I'm already working
- Optionally autostart CDs in the same manner as Windows. This requires being able
to detect when the CD tray is open, so you don't try to read the CD type at that time,
causing the tray to close (catching the user's fingers in the tray, etc.) I'm working
on this one as well.
- Default to autologin of a pre-created user account (not "root"), with the
option to disable autologin and instead use xdm (or kdm, etc.) to login.
- Removal of all server-related software, and streamlining of the boot process.
This could also include parallelizing the boot process where possible, and/or
actually completing some of the system initialization *after* the user auto-login
has begun. (This would only be for tasks which are low priority or can be done
on-demand). For instance, mounting of partitions and network drives can be done by autofs.
- Make SMB networking as seamless as it is in Windows. Including browsing of shares.
- Make NFS networking as seamless as SMB networking. Make it so the user doesn't have
to know the difference between SMB and NFS.
I started on this by writing an installer for Mandrake Linux, called
Lnx4Win, which provides a Windows-based program to choose the filesystem size, verify
sufficient freespace, and kick off the install by dropping to DOS mode. Then, a modified
/linuxrc detects the specified partition by auto-scanning all partitions for DOS-mountable
ones containing the install files.
This is the technique used by Armed LINUX (incidentally using my script nearly verbatim).
However, I have started on a program to improve the DOS partition detection (it
autodetects all mountable partitions that aren't already mounted, creates mount
points for them, and mounts them). This will probably also be used for the auto drive
mounting mentioned in the list above.
Another tool I have begun is ezrpm. This is a tool for resolving
dependencies in RPM files, and installing all required files automatically, locating
them in any of the target directories, or in a search path specified by the RPMPATH
enviroment variable. At present, this is a command-line program, but work is underway
on a GTK-based version as well.
Check this page occasionally to see how Igloo Linux is progressing. I hope to have
at least an initial release ready before the end of this year.