Wednesday, November 02, 2005

How low can a daemon go?

Well, I thought when I wrote this post that my opinion of FreeBSD's documentation was about as low as it could get.

I was wrong.

It's one thing to be hard to find information. But when the information is downright WRONG - sorry, but that's not even shoddy any more, it's downright pathetic.

It all started with the mouse. She set it up during install so that the mouse would work in text-only mode (I believe GPM does this in Linux, butI hate it so don't use it or care what it's called). It worked fine.

We ran startx and X11 popped up, mouse still worked fine.

We set up X11 properly using xorgconfig, and the mouse stopped working. I realized it was almost certainly a conflict between the console mouse software and the X11 mouse software. Commenting out all the lines referring ot the mouse in xorg.conf made the mouse work again, but the scroll wheel wouldn't work. To make it work, you need some configuration in the X11 file. Catch-22.

So we go looking for the solution, as there must be one. The FreeBSD handbook specifically covers the situation, and says:

Then edit /etc/XF86Config and make sure you have the following lines.

Section Pointer
Protocol "SysMouse"
Device "/dev/sysmouse"

This is where my real gripe begins. Because this is utterly wrong. What it should say is:

Then edit /etc/X11/xorg.conf and make sure you have the following lines.

Section "InputDevice"
Option "Protocol" "SysMouse"
Option "Device" "/dev/sysmouse"

In other words, all we had to do is go into the xorg.conf file that xorgconfig generated and replace "PS/2" with "SysMouse". This makes X11 use the same mouse software as the console, and therefore removes the conflict.

After I worked this out, we made the tiny change, added the ZAxisMapping bit that sets up the scroll wheel, and re-started X11. Hey presto, a fully working mouse!

We also got Ubuntu-like sudo set up with the line "username ALL = (root) ALL" or something similar; got KDM as part of the default startup by a quick edit of /etc/ttys, and created a couple of simple shell scripts so she can update ports and update her software through it without having to remember all the command syntax to do it.

In other words, we've gotten her almost entirely up to the same level that she had with Ubuntu, only using FreeBSD and a lot of manual configuration.

I think she's enjoying it, actually - being a Windows user living with a longtime Linux fan, she was somewhat reliant on me doing it for her when Ubuntu didn't do what she wanted. Since I don't know FreeBSD, and it doesn't do the setting up for her, she's actually learning how to make it do what she wants, and isn't reliant on me for it any more - in fact, she knows more than me about some aspects.

So, I'm still optimistic that we'll get her set up on FreeBSD, and it'll all be worth it.

But I still think the documentation for it sucks, big time.


titanium said...

The thing that jumped out at me: mentioning that since you are a freebsd newb aswell, she doesn't soley rely on you for info (like with linux). She's learning to walk on her own two feet. COOL! that tip might be the one that gets my parents to switch.

12:24 AM  

Post a Comment

<< Home