I’m setting up a computer for the flying club’s ops room. Basically I want this to be a “web kiosk”, as idiot proof as possible, because let’s face it, when it comes to computers, some pilots are complete idiots.
My first decision was to use Linux. Not only do I know and like Linux, but it also means that nobody is going to infest the machine with email viruses, even if they were to click on attachments like crazed monkeys, which they of course will. Several club members have gotten Outlook viruses in the past, and there’s no way in hell I want that on a computer I have responsibility for.
After choosing Linux, it was time to find a Linux that was suitable. Since I don’t need it to do everything under the sun, I pretty much ruled out all the big distros. I started looking at the small ones, and one that looked good was Morphix. Ok, we’ll debate about how lame a Matrix derived name is later, fact is you don’t get far in Linux-land without encountering stuff like that.
Morphix looked good because it booted off a CD, but also had an option to install on the hard drive.
It uses Firebird as the default browser. This looks like a good choice because I know from experience that Mozilla works well on our airplane booking site, ScheduleMaster, the DUATS weather briefing site and lots of other weather and related sites. Firebird is a stripped down version which is missing an email client, and for security reasons I’d just as soon keep the email clients off this site.
It also uses XFce as a window manager/desktop, which is supposed to be small and robust, also good things.
I downloaded the ISO and booted it up, and it looks pretty nice. It’s has a nice looking bootup screen hiding all the boot messages that turn off so many Windows users. It autodetects all the hardware correctly, and with no input from me it’s running a very nice looking X windows environment with a Mac OS X looking dock/toolbar on the bottom. It is talking to the network, too. Firebird works, and so does everything else.
But it’s not exactly what I need, so I need to configure it and that means installing it onto the hard drive. I do so, and boot from the hard drive.
The first disappointment is that when you boot it from the hard drive, it doesn’t have those nice looking bootup screens. Instead there is a typical Linux LILO prompt, and a bunch of messages. The version booting from the hard drive is very different from the one that booted off the CD. Almost total bait and switch!
After it booted, however, I got the same nice looking X windows environment. Now it’s time to start hacking and slashing. First thing, I remove everything from the dock except Firebird and couple of other things I’m not sure about whether I should remove them or not. I also hack up user’s .xsession file to automatically start up Firebird. Lo and behold, it remembers the size and position when I reboot. I’m going to make a startup page, either local or on the club’s web site (local means it’ll load faster, on the club’s web site means I can maintain it from home) with links to the ScheduleMaster, DUATs and some good weather sites and make it the browser’s home page.
I’ve also modified the /etc/init.d/xsession file so that instead of starting up X as the user and then rebooting when they log out, to instead just keep starting up the user’s X session over and over again. I’m not 100% happy with this.
What I’ve got to do next is make a script so that when the user logs in, it copies its entire home directory from somewhere else and then starts up X. That way, after one pilot uses the web browser to log into ScheduleMaster, once they log out their login cookie is removed, as well as any other damage they’ve done to the setup. Ideally I’d like this to come from read-only storage, but I think a CD would be too slow. Maybe I can have the boot process copy it into a partition or ramdisk that’s then mounted read-only.
As well, I want to somehow tie into a screen saver, so when the screen blanks, it logs out the user. This will make sure people are logged out if they just wander away from the computer without logging out – since most of them are Windows users and not used to logging out.
I’d also like to provide the user a way to reboot if things go awfully wrong.
Oh well, lots of stuff to work on. Better get to it.