Question: Building Accessible Desktop Systems

Posted by ajt on Sat 9 Jul 2005 at 10:02

I'm about to set up a Debian Sarge system for my better half and possibly for a friends father. In both cases they simply want a stable working system, with straight forward tools for basic web, email and word processing.

I recently set-up my father with Debian Sarge on a donated PC. I wrote my experiences down in a short article, and got some very useful feedback.

I'm interested in two aspects of desktop usage really:

  1. General usability for normal people.
  2. Specific usability for disabled people.

I'm aware that there is a Debian Accessability Project, and I've already made contact there. However I'm looking for tips for configuring Debian desktop systems for normal people. I'm assuming that the end user will simply be a user, and that they won't be performing any maintainance themselves, keeping the systems ticking over will be my responsibility.

Please share any tips and hints...



Posted by Anonymous (213.164.xx.xx) on Tue 12 Jul 2005 at 11:07
Debian is best for servers. Ubuntu is best for desktops.

Why not use Ubuntu?

[ Parent | Reply to this comment ]

Posted by Steve (82.41.xx.xx) on Tue 12 Jul 2005 at 11:47
[ Send Message | View Steve's Scratchpad | View Weblogs ]

Ubuntu, which I think is a fine thing for Debian, is not Debian.

and whilst they're currently very focussed upon the desktop they are also positioning themselves for the server market - with the recent announcement of a five-year-support cycle. In the server market this makes sense, but for a desktop that's going to be way behind the state of the art.

Really I see no reason why Debian-pure cannot be used for an accessible desktop. I've setup a few simple machines for friends who were new to Linux.

Mostly I've given them a basic install consisting of:

  • The simple desktop IceWM.
  • Icons on the desktop for mail, web, etc, via idesk.
  • A pre-configured collection of Firefox plugins/extensions.
  • A simple 'logout and shutdown' application.
  • The linx progress patch to make the bootup less intimidating. (This appears to be unmaintained rurrently).

I've seen recent GNOME installations and they look very nice, clean and simple. KDE can be tweaked a lot which makes it an attractive target also, though when I've shown complete newcomers with little computer experience they found the panels a little bit crowded.


[ Parent | Reply to this comment ]

Posted by Anonymous (213.164.xx.xx) on Tue 12 Jul 2005 at 12:51
> Ubuntu, which I think is a fine thing for Debian, is not Debian.

Yes, but I didn't suggest that Ubuntu was Debian.

Ubuntu is quite stable and is released fairly often - often enough for the home user.
It looks nice, and is easy to use.

I can't give friends icewm, they would cringe :/

In terms of what the average home user wants (if there is such a thing), and in terms of ease of everything for everybody, Ubuntu is best.

[ Parent | Reply to this comment ]

Posted by ajt (204.193.xx.xx) on Tue 12 Jul 2005 at 13:26
[ Send Message | View Weblogs ]
I agree, I posted to a Debian forum, and was thinking about tweaks to a Debian system, not using another system.

My father is using Debian and KDE without a problem. I didn't see any point in installing ubuntu as I am more familair with Debian and it's me that is supporting it.

I'm interested in packages that make Debian easier for people to use, either hidden ones, or something more visible in X or a fancy GUI.

"It's Not Magic, It's Work"

[ Parent | Reply to this comment ]

Posted by Anonymous (203.122.xx.xx) on Wed 13 Jul 2005 at 05:31
My 70 year-old father-in-law is as clueless as you can get when you come to computery stuff. He is every windows system admins nightmare, with a habit of clicking on mails and getting viruses, despite being told repeatedly not to. Every now and then there would be windows reinstallation done to clear out the crap and viruses and make the machine behave normally. This was a machine that was just used on dial-up.

I moved him to debian stable, with abiword, sylpheed, firefox, xmms, aviplay, wvdial. I decided on icewm as the window manager because the box was a p133 and because it is easy to create a menu choice for anything that needs to be done via command line. So now he just selects his apps from a menu with big friendly labels. Zero maintenance after the inital set-up (apart from security upgrades, which could be automated). Snappy response compared with KDE/Gnome on much higher-spec machines.
I'm sure this story is familiar to most of you.
Anyway, the lesson is - reduce the extras and the clueless can cope just fine.


[ Parent | Reply to this comment ]

Posted by Anonymous (203.122.xx.xx) on Wed 13 Jul 2005 at 05:38
Oh yeah, another thing about icewm is that by default it is very ms-windows like in window behaviour. So much so, that my finger-memory for window keyboard shortcuts (eg alt-space to get the current-window menu) works fine in both OSs. PJ

[ Parent | Reply to this comment ]

Posted by Anonymous (83.227.xx.xx) on Wed 13 Jul 2005 at 08:54
I did almost exactly the same thing with my girlfriends computer. My girlfriend is in her 30s and I guess what you would call an average computer user. I sold the idea to her by saying that debian will keep her old computer safer, stable, virus-free and more up to date than her current OS (win98) would be able to. The comp is an old p3 500, and gnome/kde is pretty slow on it. So here's what I used instead:

Icewm is snappy, and can be configured to look just like the winxp my woman has at work.

For icons I used idesk, which uses double-click and can be made to look very pretty. The icons also can't be messed with unless you know a lot more than my woman does.

For file manager I used rox-filer. It doesn't use much resources, and offers the alternatives that she's used to from windows right-clicking. I set it up with an icon and the (hilarious) subtitle "My Computer" from the standard win98 interface :).

For her mp3-player and usb, I used wmmount. She plugs the device, then opens wmmount from an icon. In wmmount she can 'connect' and 'disconnect' (that's how she thinks of it). It works like a charm with the usb, but I have a problem with the mp3-player: wmmount says that it's umounted while it's not quite done. I've taught my girlfriend to open an xterm and type 'df' to make sure the player is really unmounted before pulling it. It's no biggie, but far from ideal.

I wanted her to use sylpheed-claws for mail because of its nifty clamscan plugin, but she refused, claiming it "wasn't pretty enough". Thunderbird on the other hand, she loves, which means I have to set up an mta virus filter instead.

In addition to these choices, she uses firefox, openoffice and some non-free stuff for java, streaming media and p2p.

As for games, pysol, supertux, frozen-bubble and chromium fill all of her needs but one: World of Warcraft. She can just barely play it in windows (since the computer is so old), but always the optimist, I decided to support cedega. I got the game running, but it was a tad bit slower than in windows, and that just wasn't acceptable since it's already pretty slow there. She still dual-boots, but only for WoW. I'll give cedega a new shot with the next patch, and we'll see about that :).

All in all, she's very happy with her 'new' computer. It's fast and rock steady. And all I have to do now is an occasional apt-get update/upgrade from ssh.

[ Parent | Reply to this comment ]

Posted by Anonymous (203.122.xx.xx) on Thu 14 Jul 2005 at 12:06
You got a chuckle out of me for the "my computer" icon. I looked at rox filer for my sis (also moved to debian on a p450), then decided on xfe which seems a little more elegant. YMMV.

For mounting/unmounting/datadumping the finepix camera over usb, I made a bunch of simple scripts in /usr/local/bin called finepixmount, finepixumount and finepixdump that I call from the ice menu.

Select finepixmount from the menu, and a box pops up saying something like "mounting camera - wait" printing out out dots to indicate progress, and the box disappears when the camera is definitely mounted.

Pretty user-friendly.

The box pops up for finepixmount because I am really executing rxvt in the icemenu when selecting the menu item "FinePix Mounter". rxvt in turn executes the actual finepixmount script:

Here's what I have in my .icewm/menu file for that:

prog "FinePix Mounter" rxvt rxvt +sb -geometry 113x29+-1+-1 -title "FPMounter" -bg grey9 -cr green -fg white -fn 9x15 -sl 500 -n "FPMounter" -e sudo /usr/local/bin/finepixmount

(the finetuning for the geometry etc makes the rxvt box small and neat).

The finepixmount script at its core loops around

grep -q "Attached: Yes" /proc/scsi/usb-storage-0/0 2>/dev/null

once a second, printing a "." each time, until it finds that the grep is indeed true. Mebbe you could try something based on that sort of loop to handle your unmount problem.

[ Parent | Reply to this comment ]

Posted by Anonymous (83.227.xx.xx) on Thu 14 Jul 2005 at 18:49
Hum, that's a very good idea. What I know about scripting fits under my left pinky finger nail, but I'm not even sure I'll need to doing anything as fancy as a loop (yes that's fancy to me :) ). If I simply script

xterm -e umount /home/gf/usb

won't the terminal stay up until the umount command is done, much like I don't get the prompt back in a regular terminal until the device is properly unmounted?

I'm gonna try it as soon as my girlfriend stops her constant gaming! Thanks for the idea!

[ Parent | Reply to this comment ]

Posted by Anonymous (203.122.xx.xx) on Fri 15 Jul 2005 at 09:52
Mmm. Yes, I think you are right about the term staying up until umount is done. Simple and neat way of doing it if it works.

Yeah, the loop thing is really just to make a progress bar. Overkill really. I could just have it say "ok" at the end.

Here are my codes to finepixmount/dump/umount in all their ugly glory in case you think they may inspire you:

# finepixmount v 0.5 - FinePix F402 usb mounter
# This code is GPL

#assumes usb device 0 and scsi drive sda1 is used by mounted camera

#mkdir above if it doesn't exist


modprobe -k usb-storage; modprobe -k usb-uhci
#sd_mod starts automatically with mount

echo "wait about twenty secs for usb transmogrification..."
#transmogrification measures the fundamental interconnectedness of things


# $? is return status of command.
# grep below returns 2 on error, 0 if attached, 1 if not attached
# -q suppresses Attached: Yes message, 2>/dev/null suppresses error

until [ $transmogrified -eq 0 ] ; do 
  echo -n "."; sleep 1
  grep -q "Attached: Yes" /proc/scsi/usb-storage-0/0 2>/dev/null
#  echo "transmogrified=$transmogrified"

echo "transmogrification complete"
mount -v -t vfat /dev/sda1 $CAMERAMOUNTPOINT
sleep 5
# finepixdump version 0.5 - FinePix F402 image dumper.
# This code is GPL

#assumes /dcim/100_fuji directory holds pics/avis


echo "now starting copy"

if [ -e $CAMERAMOUNTPOINT/dcim/100_fuji ] ; then
  cd $CAMERAMOUNTPOINT/dcim/100_fuji
  echo "unable to get into directory $CAMERAMOUNTPOINT/dcim/100_fuji"
  echo "copying halted"
  echo "may need to mount it first?"
  sleep 5

for i in $( ls ) ; do
 cp $i $USERFINEPIXDIR/`ls --full-time $i | cut -d ' ' -f 19-24 --output-delimiter="_" | tr ":" "_"`
 echo copying $i

# bug :  relying on ls formatting is a possible vulnerability if someone
# cracked into the camera filestorage chip.
# tr on colons done so that MS-windows can ftp get it

echo "copy completed"
echo "you may want to unmount now"
sleep 5
# finepixumount version 0.5 - FinePix F402 usb unmounter
# This code is GPL

#assumes usb device 0 and scsi drive sda1 is used by mounted camera


umount /dev/sda1
rmmod -r usb-uhci; rmmod -r sd_mod; rmmod -a ; rmmod -a
echo "done"
sleep 3

BTW, I am sure there are nicer, more universal ways of doing usb these days. There is a hotplug package around which would do it all in a generic, automatic way now I think.


[ Parent | Reply to this comment ]

Posted by chme (83.227.xx.xx) on Fri 15 Jul 2005 at 20:49
[ Send Message ]
Thanks a lot for the idea and your very instructive script! I actually made my very first script yesterday before I saw yours - and yes, it worked like I guessed. Here's what my girlfriend uses now, and seems to be happy with (sda1 mountpoint is in fstab, and .usb is symlinked to a 'visible' directory as to prevent any accidents):
echo "Hi honey!"
while [ $val -ne 4 ]
echo "---------------------------------------------------------------- --"
echo "If sda1 is in the list below, your usb/mp3player is still/already connected."
echo "---------------------------------------------------------------- --"
df -m
echo "---------------------------------------------------------------- --"
echo "What do you wanna do?"
echo "1. Connect your usb/mp3player"
echo "2. Disconnect your usb/mp3player"
echo "3. Check what's connected and what's not"
echo "4. Quit"
echo "---------------------------------------------------------------- --"
echo "---------------------------------------------------------------- --"
read -sn 1 val
if [ $val = 1 ] ; then 
    echo "Connecting ..."
    mount /home/hername/.usb
elif [ $val = 2 ] ; then 
    echo "Disconnecting ..."
        umount /home/hername/.usb
elif [ $val = 3 ] ; then 
    echo "Checking:"
elif [ $val = 4 ] ; then
    echo "Ok, bye!"
    sleep 3
    echo "Alternative $val does not exist."
I added 'xterm +sb -fn 7x13 -e /home/hername/' to the icewm menu. BTW, I looked into xfe and decided to replace rox-filer with it. She like xfe better. Thanks for the suggestion! /Chme

[ Parent | Reply to this comment ]

Posted by ajt (204.193.xx.xx) on Tue 12 Jul 2005 at 11:59
[ Send Message | View Weblogs ]
Ubuntu, Debian, whatever, the question is not which distro, but what tweakes to make?

Normal people don't do or expect things that experienced users do. There are changes to the system and th GUI that can and do help, I'm just trying to build a list of ideas up.

Personally I find Debian Sarge/Etch+KDE perfectly usable on the desktop, no more or less than Ubuntu.

"It's Not Magic, It's Work"

[ Parent | Reply to this comment ]

Posted by Anonymous (213.164.xx.xx) on Tue 12 Jul 2005 at 12:53
The users want something that works without lots of options or fuss.

Make sure their camera is mounted when they plug it in.

Make sure they have icons for email, the web and for an instant messaging program.
Make sure the plugins are on.

Then sit down with them and watch. It's the quickest way.

[ Parent | Reply to this comment ]

Posted by ajt (204.193.xx.xx) on Tue 12 Jul 2005 at 13:32
[ Send Message | View Weblogs ]
I think you hit the nail on the head. Simple is good.

I have given them easy buttons to press for obvious tools.

With my father I guessed a lot with , and did watch him use the sytem, and then made some more changes, see the artile for what I found.

I'm looking for more ideas.

"It's Not Magic, It's Work"

[ Parent | Reply to this comment ]

Posted by Anonymous (193.237.xx.xx) on Tue 12 Jul 2005 at 19:00
What disability? It makes a big difference.

I have no disability, but I often work with big fonts (breaks lots of web pages).

A big part of it is knowing what is possible, Firefox "ctrl-'+'" and "ctrl-'-'" to increase/decrease font size is dead handy if you need big fonts. These things are possible in other OSes and distros, but if no one tells you how....

The last thing the visually impaired want is to be squinting their way through a manual to know how to do things easily.

So find a community for him to share tips with.

GNOME covers magnifying, and problems with hands (sticky keys, slowing mouse acceleration), which is great if these are your problem.

I switched to my current Desktop (UserLinux, a metapackage for Debian, more on which shortly I'm sure!), although I revolted at a few of the app choices (Evolution , Mozilla Thunderbird thank you), from KDE, and I think GNOME is probably better for beginners. Even if there is no good klipper replacement, also some of the simpler desktops are nice, but I think GNOME with accessibility features is probably the way to go for slight visual, or typing problems.

[ Parent | Reply to this comment ]

Posted by what (129.89.xx.xx) on Tue 12 Jul 2005 at 20:35
[ Send Message ]
I've solicited ideas before and have come across one thing over and over: I've been told people like to "double-click" thier icons. One more thing, which has been mentioned, browser plugins are important. HTH.

[ Parent | Reply to this comment ]

Posted by ajt (82.133.xx.xx) on Fri 15 Jul 2005 at 17:47
[ Send Message | View Weblogs ]
People with Windows experence like to double click everything, my better half does it all the time.

People with more Unix/Linux experience don't tend to do it as much, I don't double click much.

People with no computer experience at all, like my father, much perfer single click. Learning how to do double click is actually quite hard - even if the tendancy is to double click everthing once you have figured it out!

"It's Not Magic, It's Work"

[ Parent | Reply to this comment ]

Sign In







Current Poll

Which init system are you using in Debian?

( 1065 votes ~ 6 comments )



Related Links