January 7, 2004

Simple FreeBSD installation yields functional desktop system

Author: Terrell Prudé, Jr.

Many near-religious-level debates revolve around which GNU/Linux distribution is "best." However, we are blessed with two free platforms for desktop usage, the other being BSD. If you can deal with text-based installation and a few post-install commands at the command line, you can install and use FreeBSD 5.1. I got FreeBSD fully installed on a 450MHz AMD K6-III+ system with 512MB of SDRAM and a 36GB 10Krpm SCSI hard disk in just under an hour.

FreeBSD 5.1 is a four-CD set complete with the base system, source code, precompiled packages, and the ports system. I picked it up for $20 at the local Micro Center. I chose FreeBSD because it has wider recognition than NetBSD or OpenBSD, the other two Free OSes based on 4.4BSDLite. NetBSD and OpenBSD, in my experience, don't tend to focus as much on the desktop user as they do, say, running headless or as Internet servers. Their foci have traditionally been on hardware portability and security, respectively, and thus tend to serve different audiences than Joe User. Configuring X11 on NetBSD and OpenBSD, while certainly possible, is not intuitive for an end user, and attempting to install OpenOffice.org on OpenBSD broke the MPlayer installation that I had done before it failed with seg faults. With NetBSD, running xf86config to get X11 running just plain didn't work for me; I had to roll my own manually, something that Joe User likely would not be able to do. Further, there's not yet an OO.o port for NetBSD -- working, broken, or otherwise. NetBSD and OpenBSD, as Internet servers or network firewalls, are quite good, and I have deployed, and will continue to deploy, OpenBSD in these roles when I think it's appropriate.

FreeBSD 5.1 reminds me a lot of the Slackware GNU/Linux distro, which I've used for a couple of years. Like Slackware, the installation program uses a text-based menu-driven interface that's pretty easy to step through.

I told FreeBSD to use the whole disk and selected the defaults for partitions.

During the install, FreeBSD afforded me the opportunity to create a non-root user ID for everyday use, and I did so without incident. Like some GNU/Linux distros (e. g. Red Hat), FreeBSD 5.1 puts each user in its own group. For example, if your user ID is jdaniels, you'll be put in a group also called jdaniels.

FreeBSD correctly detected my 3Com 3C905B NIC and all other essential hardware, but in another commonality between Slackware and FreeBSD 5.1, it seems like it's actually better to do the video config the "old-fashioned way" after you're done installing. There are two utilities for configuring the GUI during the installation, one text based, the other GUI-based. The GUI configuration tool (Xconfigurator) did correctly detect my ATI Xpert98 (3D Rage Pro chipset) video card, but instead of writing XF86Config to the right place (/etc/X11 directory), it put it at the top of the root directory. I manually ran xf86config afterwards and within about 2 minutes had a good XF86Config file in the right place, at the resolution I wanted (1024x768x24bit). Typing startx brought X11 right up.

Unfortunately, the old Tab Window Manager (twm) is the default window manager in FreeBSD 5.1. It would've been nice to have the opportunity to choose your desktop environment -- say, during the install -- without having to manually create a .xinitrc file. Slackware lets you do this, and for adventuresome types, it has the xwmconfig utility for changing your desktop post-install. Red Hat, which defaults to GNOME, likewise lets you choose your desktop with its Desktop Switching Tool, and also lets you choose your default during the install.

To use either KDE or GNOME in FreeBSD, go into your home directory, open your favorite editor, and create a file called .xinitrc (note the beginning period) that contains a single line -- either exec startkde or exec gnome-session. Save the file, then type startx.

When I finished that task, less than an hour after I began, I had KDE 3.1 up and running. KDE 3.1 on FreeBSD looks just like it does on Slackware and non-Bluecurve Red Hat. Applications like Konqueror and KOffice came right up.

For a fully functional desktop computer, many people need an application that can understand Microsoft Office file formats. I didn't see OpenOffice.org included in FreeBSD any more than I did in Slackware, so I had to download it. With minimal Googling, I located both a precompiled FreeBSD package and the "port" that lets you actually compile OpenOffice.org on FreeBSD if you want. I chose the latter first to see if it would work. It didn't, because of Java compilation dependencies and Sun's refusal to allow Java to be distributed as truly free software. The Java SDK port wouldn't install, even though I followed the directions in the port.

The precompiled package, on the other hand, was a snap to install. I downloaded it to a temporary directory and issued the following two commands from that directory:

	pkg_add -v openoffice-1.1rc5.tbz
	ln -s /usr/libexec /libexec

We need that second command because the OO.o package expects to find certain files in /libexec which are actually in /usr/libexec. A quick symlink fixes things. The install itself took about 10 minutes. Astute readers will note the "rc5" in the filename. According to OpenOffice.org, RC5 actually is the release version; they're identical.

To actually use OpenOffice.org, I simply typed openoff and pressed the Tab key. The actual command is "openoffice-1.1," but since I was using the bash shell, I just used the command completion feature, which csh (the FreeBSD default) also supports. Thankfully, this command is automatically placed in the path. Running this command made the necessary menu entries in KDE for me automatically, as expected, and OpenOffice.org launched very nicely from the KDE start menu.

I installed the Mozilla package after the main install of FreeBSD using the command /stand/sysinstall configPackages. I had to manually add Mozilla to the KDE menu, but that was easy and graphical. To edit KDE menus, right-click on the KDE "Start button" and choose to edit the menus. I added "mozilla" in the "command" space and "Mozilla" in the "title" space, and chose a cool icon, just because I could. Thankfully, like OpenOffice.org, the Mozilla executable is already in the path in FreeBSD 5.1. I appreciated the foresight of the FreeBSD team in pre-including in the default path applications which someone may want or need to install later.

End results

Once I was finished, it was hard to tell the difference between my GNU/Linux boxes and the FreeBSD box; I have to issue the uname command to be sure. They look the same! They act the same!

FreeBSD 5.1 seems to run snappily enough on this old box, even when running full-blown KDE 3.1. Top shows about 210MB of memory used (nearly half by OO.o). As with any modern OS/application set, DRAM is your friend -- 256MB seems to be the minimum for general office work.

So how about Joe User?

The FreeBSD installation process requires what many Windows users would likely call "a lot of command-line interaction." Coming from a Windows environment to something like FreeBSD takes a bit of getting used to, if you have to install the operating system yourself. If you're slightly above average in experience, I'd say go for it; you'll like it, and you should have no trouble to speak of. If you're computer-phobic and have no help, installing FreeBSD is not a good idea; go instead with LindowsOS, Red Hat, Mandrake, Yellow Dog, or SuSE. On the other hand, if you can get help installing the OS from your tech-savvy teenager, you'll love FreeBSD 5.1 once it's up and running. It supports surfing the Web, sending and receiving email, and office productivity applications very well.

FreeBSD 5.1 is just fine for the average end user.

Terrell Prudé is an MCSE who began using Red Hat Linux 5.2 and Caldera Linux 1.3 in 1998. Today he runs primarily Slackware and K12LTSP, with Yellow Dog Linux for his Macintosh. He has deployed OpenBSD on Internet servers.


  • BSD
Click Here!