I've been using OpenBSD as a desktop for the last 7 months and have been pretty satisfied, although I still have ArchLinux as well. (Please see OpenBSD as desktop
for details.) The choice of OpenBSD may seem a little eccentric, since most people who try a BSD for this purpose choose FreeBSD. I did install FreeBSD myself about 18 months ago but I encountered various difficulties and gave up after a week. But now I've had another go and this time my experience was much better. Perhaps this is because there is now a new version of FreeBSD (10.1) or because I'm more familiar with BSDs in general after using OpenBSD for a time.
Whatever the reason, I'm enjoying using FreeBSD in this way. I hope what I write here may be useful for any Linux users who are thinking of exploring the BSD world. I include some comments on the differences among FreeBSD, OpenBSD, and Arch.
To start with, I'll say what I want in a desktop, which may be different from what a lot of other people want. This will help to explain why I find the BSD idea attractive. In a word, it's KISS (Keep It Simple, Stupid), which is also the motto of ArchLinux.
What I want in a desktop
Perhaps I should have said "What I don't
want in a desktop". I don't want Gnome, KDE. or any other desktop environment. I don't want complicated window managers either, with lots of widgets or decorations. My window manager is spectrwm; if I wasn't using that it would probably be dwm or ratpoison. If you are looking for more fancy stuff you probably won't use any BSD, although I'm sure that both FreeBSD and OpenBSD can provide it on request.
Currently I'm using Thinkpad T60s with 2GB ram. These are 32-bit machines, which means that they won't run either PC-BSD, but FreeBSD and OpenBSD are fine. (Even if PC-BSD did run on 32-bit machines I wouldn't use it, because it installs a desktop manager by default and that isn't what I want.)
Installation of the base system is easy, although not quite as easy as for OpenBSD. Unlike with OpenBSD you are not offered the option of installing X, but this is easily done later via the packaging system (see below). Throughout, I relied on the excellent FreeBSD manual, available on line or you can download it to your system. This documentation is well-known for its high quality and I found it to be even better now than when I last encountered it in version 10.0.
Now you can install X and anything else you want, using the new and improved packaging system (pgk). This is much easier than installing everything via ports, which is what I did previously, although ports are, of course, available if you want them. Sound worked out of the box.
So far, so good, but I encountered a few difficulties setting things up as I wanted them. You will note that most of them concern third-party applications and not FreeBSD itself.
1. Blank black screen on exiting X
Af first when this happened I thought I needed to do a hard reset using the power button. Then I found I could reboot by typing the command in the (invisible) terminal, although I couldn't see anything on screen. The real solution to this problem is to put this line in /boot/loader.config:
2. Entering "Sleep" when lid is closed
This worked out of the box for me wth OpenBSD but it seems to be a problem in FreeBSD, to judge by the discussion on the Net. I found that it was enabled for me with this line:
To make it happen on boot I inserted the line in /etc/rc.conf.local. I think some machines may need something other than S3, and the command may not work for all machines.
I use fetchmail to collect mail from my ISP. In FreeBSD I got error warnings about certificates being incorrect, although the mail still arrived. The solution is given in the fetchmail man page: use these switches to eliminate the error messages:
fetchmail --sslproto 'SSL3' --sslcertck
FreeBSD is the larger organisation and this means that it has more third-party software ported to it.
My printer is a networked Brother HL5250DN. In OpenBSD printing worked fine with CUPS. In FreeeBSD I set up CUPS without problems and a test page was printed, but I couldn't get lpr, lp, or lpq to work. This seemed to be because of a conflict with the native BSD printing commands, but stopping the BSD daemon didn't help. After a day's fruitless eperimenting I followed the example of another FreeBSD user I found on the Net: I gave up on CUPS and installed apsfilter. I then got good printing, using the generic Postscript driver.
Here is my /etc/printcap.
# - don't delete start label for apsfilter printer1
# - no other printer defines between BEGIN and END LABEL
# APS1_END - don't delete this
5. Lyx on FreeBSD
I use Lyx a lot, for witing books and papers and for making slides with Beamer. When I loaded a Beamer file to edit it, Lyx complained that beamer.cls and anumber of other files weren't on the system. I therefore installed the packaged texlive-texmf, which provides the necessary files. But even after reconfiguring Lyx it still complained that the files were not there. After more on-line research I found I needed the tex-formats package as well. (It provides pdflatex.)
COMPARING FREEBSD, OPENSD, ARCHLINUX
Arch is said to be the most BSD-like form of Linux. I don't think there is any strong reason to switch from Arch to any kind of BSD. But if you like the idea of a stable core comprising more than just the kernel, there is something to be said for the BSDs on philosophical grounds.
One reason you might want Linux is to be able to use Flash, which is needed to see or hear programmes on BBC TV and radio. It isn't available for OpenBSD and although it apparently can run on FreeBSD, that is under Linux emulation and I haven't tried to set it up. Flash is notoriously liable to security risks and it seems to be being phased out in many places, although unfortunately not at the BBC. Moreover, Adobe are no longer supporting Flash for Linux so it's getting increasingly out of date there.
In practice, I find I use Flash less and less, even on Linux; for the most part I use get_iplayer to download programmes and that works on the BSDs just as well as on Linux.
Skype is another program that works on Linux but not on the BSDs, although I think it can work on FreeBSD under Linux emulation. But Skype, like Flash, has major security flaws and, anyway, I hardly ever need to use it. But I do keep at least one machine with Linux on it just to run the occasional instance of Skype and Flash.
Arch is a rolling release, so the numerous packages it offers are always up to date - "bleeding edge". OpenBSD, in contrast, has relatively few packagers and its packages (and ports) are usually a little old. This may not matter to you, but I've found it can be a problem when I want to edit a file that was made on a different machine using a more recent version of Lyx or Libreoffice. FreeBSD has a larger number of developers and packagers and its packages are consequently more up to date. It also has more packages than does OpenBSD, although I haven't found this to be very important in practice.
The strengths and weaknesses of both systems are very similar. There is a difference in how it feels to use them, although this is rather hard to articulate.
Neither FreeBSD nor OpenBSD are particularly newbie-friendly. I don't mean that they are hostile to newcomers, but neither do they make any effort to attract them (especially not OpenBSD), and asking elementary questions jn the mailing lists that could be answered by reading the documentation or googling doesn't go down well. (The DaemonForums are a better place for beginners to hang out.) In this respect they are different from the Linux mailing lists, although even in those there are variations: the Ubuntu forums have many more beginners' questions than do the Arch forums, for example.
The OpenBSD lists are particularly austere. Most of the people who post there are advanced users or are discussing topics that are of interest mainly to developers. There is relatively little that is relevant to the end user or the desktop. FreeBSD seems to be broader in its range, although even do much of the discussion is pretty technical. Anyone who is happy using Arch should feel at home in FreeBSD.
I like all three systems a lot and use them all. I shall continue to use FreeBSD along with the others for the next few months and see how I get on.