So I finally decided to take the plunge and install Linux. To be honest I wasn’t particularly phased by the thought — when I started using computers as an 8 year old, it was all about the DOS command line and I missed that a lot when Windows rocked up. Windows seemed very limiting and the interface always annoyed me … and as you might have picked up by now, I’m no fan of Micro$oft. So I backed up all my data, put together a Linux box and wiped the old 10GB hard drive that I’d put inside it.

I’d been told that you needed to make sure you had another machine with net access alongside the one you were installing on, to look things up, create rescue disks if everything went pear-shaped etc. On this machine I had a look at the various distributions, chose to install Debian, partly because I’d heard good things about it, but mostly because my housemate runs it (and our home LAN) and I figured he’d be happiest helping troubleshooting his favourite distro if it all went wrong. (Me? Predict disaster? Never)

I had a read through of the installation manual and chose to make a minimal bootable CD and install the rest over the net. I chose the LordSutch.com version and burnt a bootable CD with no problems at all once it had downloaded.

On the destined-to-be-Linux box, it booted fine and went straight into the installer. Although this required some fairly detailed info, it was hardly brain surgery and quite well structured. So base system installed, I then just had to try and get the rest off the net.

Ah, right, the net. Whoops.

So we have a home network, yeah? My (extremely technically able) housemate runs it and its rather complex really. So it didn’t really shock me that my fledgling Deb box didn’t want to play with the home network … or that the network wouldn’t talk to it. I went through the usual routine : check the cables, check it’s plugged into the right part of the network, check the little flashy lights, trying pinging a Google server, try traceroute anything.

No dice. OK, call in the sysadmin of the house. No problem, he reckons, just manually configure the network using ifconfig. OK fine and it works, for a while. So I run tasksel and get the basics that I want to start out with: desktop environment, C, LaTex and the other cool useful-to-a-computer-scientist things that were my reason for finally getting the whole Linux shebang going.

So it should all work now, right? WRONG.

Now, the first thing to mention here is that although this seems very compact and 1, 2, 3 steppish when I write it here, what I describe above took about 3-4 weeks. Since I live in London in the week for work and only get back to Bath at weekends (I’ll refrain from explaining just how fun 6 hours a week commuting on British railway transport can be for now) … given that I usually work for at least a day out of every weekend and I have to spend as much time with Elly as her course permits, there’s really not a massive amount of time left for the Debian box. Add to this that the sysadmin of the house is a largely nocturnal animal and we have something of a timetabling issue. But I digress.

Where was I? Oh yes, so now I have a basic system installed and tasksel has somehow managed to get the essentials of the Linux experience that I want. Or so I thought. When I booted up, apart from the little Tux picture going a bit haywire, everything seemed fine. Except that the X server didn’t work properly and although the installer was very helpful and even showed me the (blanK) output from the process init, I had no idea what was wrong with it.

So what did I do? I searched on the error messages:

/usr/X11R6/lib/X11/xinit/xserverrc: /usr/bin/X11/x: No such file or directory
/usr/X11R6/lib/X11/xinit/xserverrc: exec: /usr/bin/X11/X: cannot execute: No such file or directory giving up.
xinit: No such file or directory (errno 2): unable to connect to X server
xinit: No such process (errno 3): Server error.

Now, the reason that I’m posting this here is that it took me a while to wade through the support forums and find a solution, so I thought I’d post a simple analysis of the problem and solution here.
Problem: X is not actually installed
Solution: Install X by typing apt-get install xserver-xfree86

Basically, the Debian installer appears to assume that you will install X yourself, but when tasksel gets you a desktop environment, it assumes you already have X. Which I had assumed as well, which was why it took me another 2 weekends to work out what the hell was wrong. Unfortunately by the time I had realised what was wrong and how to fix it, it was the middle of the Easter vacation uni-wise, so sysadmin housemate had gone home for the holidays and the network had fallen over. Only he can fix it, so we had unplugged all the machines from the normal house network, put them into a different switch, used my XP box to connect to our broadband service and shared the connection (everyone else runs XP too). Worked fine … until I tried to get the Debian box to connect to the internet through the XP connection. I’m sure it’s possible to get a Linux box connected to the net through ICS in XP, but I couldn’t get it to work in less than 5 hours, so I just gave up and waited the couple of weeks for the normal network to be restored.

Right, so net restored I install xserver-xfree86 and use dpkg-reconfigure to configure it to something vaguely resembling my set up. X starts and I can even log in to Gnome or KDE (both are installed with Debian). Unfortunately my mouse doesn’t work for jack, which is fine in a console environment, but not great with a choice of two desktop environments I don’t know and my shortcut keys are wildly inaccurate for. Also it takes me a while to realise that my assumption that my keyboard want to be configured as ‘br’ (for BRitish) when the installer wouldn’t accept ‘uk’ was completely wrong … I have a Brazilian keyboard layout until I ask the sysadmin housemate, who helpfully reckons it might be ‘gb’, which of course it is.

So what’s wrong with the mouse? For a start, it’s a USB mouse connected through a PS/2 adapter to a KVM switch that then connects to the relevant USB ports on the Deb box itself. I’d had similar problems with the mouse-KVM combination when using my laptop previously — I had always assumed the problem was due to the KVM, since when I positioned it just so, it would stop making the mouse race to the top right hand corner (you know, where all the app close icons are in Windows) and double-click violently. However trial and error and a lot of frustration seem to indicate that the problem is not the KVM but the adapters — both the USB–>PS/2 that connected the mouse to the KVM and the keyboard-mouse splitter that goes into the single PS/2 input on my laptop.

So I have a working Debian box, complete with X and desktop environments, but with a mouse that can’t do much but double-click in the top right hand corner of the screen. Brilliant. The mouse is a Logitech Optical Netscroll, so I mess around using GPM as a repeater, as was suggested on some forums, varying the message protocol from PS/2 to ImPS/2 to Netscroll PS/2 (logical, no?) and a variety of options in between. No chance, top right hand corner is the only place the pointer wanted to be.

So how did I resolve it? Well, I haven’t managed to yet — I had to give in and just connect a normal PS/2 mouse to the box direct and mess about with the settings. So now it works, although scroll wheel events only seem to be handled properly in KDE, and I have something resembling a Debian box, a lot of experience in reading and researching error messages, a pretty shitty looking desktop (I have still to work out how to get better, prettier fonts) and a deep conviction that Linux is staying a niche market as long as things are this frustrating. When I compare to installing XP (which took 1 hour, total), for once I have to give Micro$oft credit — they may build shite that is unstable as all get out, but at least it installs itself and autodetects your hardware pretty well.