This article is also available as a PDF download.
Over the last few years, various Linux distributions have aimed to provide a pleasant user experience for the desktop user who may not be very computer savvy. The BSD camp has usually stayed out of these efforts. While GNOME and KDE are supported under BSD, no BSD distribution of note is specifically aimed at the needs of desktop users. Enter PC-BSD. PC-BSD is based upon FreeBSD 6 but adds a nice graphical installer and a prebuilt KDE installation and introduces a new software package system (PBI) that eases the pain of installing software.
The initial installation and configuration of PC-BSD was about as easy as a standard Windows XP installation. The default settings were sane and the installation went smoothly. Compared to FreeBSD's text mode installation tools, PC-BSD was an absolute delight. It also lacked the absolute control of FreeBSD's text mode installation, but that is the tradeoff made for user-friendliness.
Figure A shows the login screen. Figure B and Figure C show a sample desktop, with minor modifications from the defaults. Although many aspects of the KDE installation are sharp, the look and feel is not quite as polished as Windows XP or Mac OSX is, and it is certainly not as showy as Windows Vista with the Aero interface enabled. That being said, KDE is constantly being updated, and a huge number of free themes are available for it. It's only a matter of time before KDE is as sharp as Vista. More important, KDE is much more configurable than Windows. The defaults look and work fine, but users who like to have their system set up "just so" will be much happier with PC-BSD than Windows.
Along those lines, PC-BSD really shines in its use of FreeBSD as the underlying operating system. This means that any software available on FreeBSD (which is quite a lot) will work under PC-BSD.
PC-BSD also adds a new packaging system, the PBI file. PBI works much like MSI files in Windows, as a standard installation system. Installing a PBI is just as easy as using a standard Windows installation file. There are a number of packages already in the PBI format, enough to satisfy many desktop users. For those who want or need something that has not been packaged in the PBI format, the FreeBSD ports/package system is still there. PC-BSD is even nice enough to keep it up to date for you via portsnap.
Since PBI is just a way of installing software without using the command line, installations done though ports/packages work just as well as PBI packages. By extension, if it's available for FreeBSD, it's available under PC-BSD. FreeBSD includes a Linux compatibility layer that extends its software reach even further.
PC-BSD also takes security seriously. In addition to being based upon FreeBSD 6.1, which enjoys an excellent reputation for security, it does not run users as administrators automatically. Instead, if an operation requires root privileges to run, it brings up a window asking not just for permission, but the root password to proceed (Figure D). I have mixed feelings about this scenario.
On the one hand, I like that unlike Vista's UAC system, there is the option to store the password for future use, to avoid being prompted for that particular operation. On the other hand, I do not feel that it helps to be giving the root password to a user who wants to do some basic system administration tasks. Nevertheless, the system works, and it ensures that users realize the potentially damaging nature of a task that they are about to perform.
In terms of system administration, PC-BSD is very configurable. One item I like is that it allows you to easily select which kernel (single processor or SMP) you want to use. I had some difficulties with the graphical portsnap system, forcing me to use the command-line version, which was a bit of a disappointment. It also had a graphical tool for downloading the full FreeBSD source, in the event that you ever need to compile something from source.
PC-BSD has an automatic update system reminiscent of Windows Update. But although it has a setting to run at system startup, which seemed to work, it seemed to always "forget" that I had set it to run nightly. Every time I checked the configuration screen, my selection to run it nightly had been unselected. While I consider this to be a minor bug that should be easy for the PC-BSD team to correct, it is an oversight that could throw users off if they make the selection and never return to the screen, thinking that regular updates have been scheduled. Aside from that, the update system works fine and is rather unobtrusive.
Another small surprise was that the version available from the PC-BSD Web site is not quite the latest version (1.3.0 on the Web site, as opposed to 1.3.3, which is the current version), so it was necessary to run the update system a few times after the initial installation to catch up. Although this is routine for Windows users, where Microsoft has one version of the installation media that it sells and keeps in inventory for years, it was surprising for an open source system. It's not a big deal, but just be aware of it should you decide to try PC-BSD.
The applications that come preinstalled with PC-BSD are of good quality. A common complaint with open source operating systems is that there are simply too many choices for a beginner to make sense of. I found that the application selection with PC-BSD included one of everything (Web browser, text editor, file manager, media player, instant messenger, etc.), and between the PBI system and repository and the FreeBSD ports/package system, there are enough possibilities out there to satisfy any user.
The PC-BSD project seems to have only a few core members. That being said, I believe that they made a wise decision to have PC-BSD build directly upon FreeBSD instead of trying to be a completely separate distribution or code fork. This allows the PC-BSD team to focus on the value it adds to FreeBSD (namely, developing a good installation and management system, creating and maintaining the PBI collection, and providing a sane default KDE installation) instead of spending a lot of energy with the underlying operating system and its components.
Overall, PC-BSD is definitely worth a spin if you're looking for a Windows replacement, an alternative to Linux desktop-oriented distributions, or an easy way to have access to the wide range of applications available for UNIX. It ran superbly within Microsoft Virtual PC 2007 for me, and it offers a risk-free option for trying it completely free.
FreeBSD's hardware support tends to lag behind Linux's, so be aware that cutting edge devices may not have drivers available. While the multitude of configuration options may be heaven for some, it may also be a bit intimidating for others. The quality and quantity of the help available in the system is not quite as substantial as it is in Windows, but that is frequently the case with open source software. Regardless of whether PC-BSD is for you, it's good that there is a BSD equivalent to the desktop Linux systems currently available.
Justin James is the Lead Architect for Conigent.