Skip to content

FreeBSD: Full details

I have a variety of computers, ranging from a desktop (Acer Veriton M460) through Thinkpads of several kinds, both 64-bit and 32-bit. All run OpenBSD but I have tried FreeBSD in the past and here I offer some comments on my experience.

Installation of the base system (no X) is easy enough although not quite as straightforward as for OpenBSD.

Now you can install X and anything else you want, using the new and improved packaging system (pkg). This is much easier than installing everything via ports, which is what I had to do previously, although ports are, of course, available if you want them. Sound worked out of the box for me.

So far, so good, but I encountered a few difficulties setting things up as I wanted them. You will note that some of them concern third-party applications and not FreeBSD itself.

1. Blank black screen on exiting X
At first when this happened I thought I needed to do a hard reset using the power button to get out. 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.conf:


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 command:

sysctl hw.acpi.lid_switch_state=S3

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.

Note added after upgrading to 10.2: lid switch and suspend to ram no longer work; in fact, they lock the computer up and I have to do a hard reset.

3. Fetchmail
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

4. Printing
My printer is a networked Brother HL5250DN. In OpenBSD printing worked fine with CUPS. In FreeBSD 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 experimenting I followed the example of another FreeBSD user I found on the Net: I gave up on CUPS, used the BSD daemon following the setup instructions in the FreeBSD manual, and installed apsfilter. I then got good printing, using the generic Postscript driver.

Here is my /etc/printcap.

# APS1_BEGIN:printer1
# - 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 writing books and papers and for making slides with Beamer. When I loaded a Beamer file to edit it, LyX complained that beamer.cls and a number of other files weren't on the system. I therefore installed the texlive-texmf package which is supposed to provide 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.) FreeBSD has been criticised on DistroWatch for failing to install all needed dependencies for third-party packages.

6. Using a scanner with xsane
I have an Epson Perfection 1650 which works well with xsane on Linux and OpenBSD. There is a packaged version of xsane for FreeBSD so I installed it, but the scanner would only work as root. This is a permissions problem. There are two methods of solving it.

Method 1: modify the permissions

1. make a usb group and add yourself to it:

pw groupadd usb
pw groupmod usb -m

2. Add yourself to the operator group:

pw groupmod operator -m

3. in /etc/devfs.conf insert this line:

perm xpt0 0660

4. in /etc/devfs.rules insert these lines:

add path 'ugen*' mode 0660 group operator
add path 'usb/*' mode 0660 group operator
add path 'xpt*' mode 0660 group operator

5. Very important: activate the entry in /etc/devfs/rules by adding this to /etc/rc.conf:

6. Reboot. You should now be able to run scanimage -L and xsane as user and have them find your scanner (assuming that it is supported by sane, of course). Note that sane-find-scanner probably still won't find it as user. (It does work as root but for some reason in my case it finds both my Epson scanner and another scanner that I don't have!)

Method 2: use the saned daemon

To do this, add these two lines to /etc/rc.conf:


Then restart the machine either by rebooting or running (as root):

service saned start

Next, add this line to /usr/local/etc/sane.d/net.conf (you may just need to uncomment it):


I'm grateful to several correspondents on the freebsd-questions mailing list, especially Warren Block and Patrick Hess, for help with this problem.

FreeBSD works well as a desktop once you get it set up as you want. But this can take quite a bit of time because in some cases finding a solution to difficulties isn't easy and can need a good deal of research on line. Some of what I needed to know wasn't documented and I depended on the kindness of people answering in freebsd-questions@. For a comparison with OpenBSD, see see the taglist below.


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
How many legs do snakes have?
Form options

Submitted comments will be subject to moderation before being displayed.