Using OpenBSD as a workstation
1974 words, 10 minutes
With the upcoming release of OpenBSD 4.9 and my previous testings with SOGo, I decided to give it a try as a workstation environment. I used OpenBSD for quite a while ; but this was decades before. If I’m right, this was about 2002. I was using stuff like WindowMaker, Sylpheed-Claws or Mutt (depending on the day mood), Mozilla or Lynx and XMMS. At this time, I was a SysAdmin so this was perfect are far from enough compared to Windows 2000. But nowadays, I’m a father storing loads photos and rendering personal week-end movies. I’m still a bit of a g33k ; after all, who would blog on using such OS…
But let’s see if Open Source software can do the trick.
Introduction
I’ve always been an Open Source fan ; maybe not for the “good” reasons though. One day, my father brought me a Linux CD and this is how it all started. I was just bored with Windows crashing very often and having to reinstall the whole system every two weeks. And I really liked the UNIX way to use.
I’ll use the term “Open Source” rather than “Free Software”. Just because it may not define the same kind of software. There are load of free software that are not open source. And in the OpenBSD world, that makes a huge of a difference.
So I’ll run OpenBSD on a (old) Dell Latitude D430 (Intel Core2 CPU) with a 30GB SSD and 2GB of RAM.
Installation
The Dell D430 doesn’t have a builtin CD drive. So I installed OpenBSD using a USB stick. The installation went smoothly.
I plugged the USB stick, hit F12
to select the boot media and told the
bootloader to run bsd.rd
.
One GREAT feature I discovered was installation option over WiFi. The
installation process saw my wpi0
interface and I could specify my access
point, security protocol (WPA-PSK) and passphrase. Sadly, I got the wpi0: error, 2, could not read firmware wpi-3945abg
message. This is because, AFAIK,
Intel didn’t release the wireless firmware in terms that allows OpenBSD to
include it in the system. On a installed system, you have to download that
firmware and install it by hand.
So I took a network cable, plugged it in the laptop and did the installed using the wired LAN interface. Read this to learn how to fully install the system. It’s quite straight forward.
This installation process simple. It is text-based ; so it might seem a bit
g33ky. But truly, except the disk layout configuration which could be a bit
tricky to understand, the installation process can be used by anyone ; since
he/she’s not scared by non-graphics interface. You can nearly hit “ENTER
” or
defaults for every question. It does not look like as user-friendly as a Ubuntu
installation process, but it is definitively simple to use.
Once done, you get to a prompt which tells you to reboot. Hell guys… you
could have offer the option to reboot with a final y / n
question… What’s
the point, even if it is so simple, in having to type reboot
by hand…
Anyway, I used halt
, took the USB key out and Strike a key to reboot
.
The first boot
The BIOS screen, the boot loader screen, the kernel messages… Tada, the XDM
login window! Yeah, I enabled xdm
during the installation process. For the
mass, the installation question Do you want the X Window System to be started by xdm(1)?
means do you want a graphical login window on boot.
Enter the credentials you created during the installation process ; of course, Thou shalt not log as root! You now have a graphical environment running FVWM. It’s a bit bare in fact… And, in fact, it is not the bare window manager that I like best. I would rather use WindowMaker but that’s personal habits…
Setting up a Desktop 2.0 environment
Don’t get me wrong, FVWM is probably a great environment. But I wan’t to see if my grand-ma can run OpenBSD… So let’s install a few “simple” tools.
First of all, we want to install an easy package manager. Click on the “xterm” window and enter the following text:
$ su -
Password: xxx
# pkg_add pkg_mgr
Note that xxx
would be the root password that you configured in the
installation process.
Now run pkg_mgr
, select the x11/xfce4
category, check every entries using
the SPACE
bar and hit a
. Watch the installation process and select the
options when prompted.
This is definitively complex for an average user… Being able to decide which version of ghostscript or vim we need requires a bit of knowledge.
While we are here, let’s replace the login window with something simple that
has a bit more features. In the term
window, do the following:
# pkg_add slim
# vi /etc/rc.conf.local
#xdm_flags= # enabled during install
# vi /etc/rc.local
[ -x /etc/rc.d/slim ] && /etc/rc.d/slim start
Let’s allow to auto-login with our preferred user. Note that this is quite unsecure:
# vi /etc/slim.conf
default_user jdoe
auto_login yes
As a final touch, let’s configure the system so that XFCE starts as our default graphical environment:
$ echo "exec startxfce4" > ~/.xinitrc
Here we are with a nice workstation environment. We’ll now check what software to use for various specific tasks.
BTW, I forgot to configure the major laptop feature : Advanced Power
Management. One of the big change it’s do is manage CPU speed according to our
use. This will allow to keep the laptop cool and quiet when we don’t need the
CPU. Once again, we’ll have to use the g33k way. Open a Terminal
and do the
following:
$ su -
Password:
# sysctl hw.cpuspeed hw.setperf
hw.cpuspeed=1200
hw.setperf=100
# apmd -C
# vi /etc/rc.conf.local
apmd_flags="-C"
# sysctl hw.cpuspeed hw.setperf
hw.cpuspeed=800
hw.setperf=0
You’ll see that the CPU speed is lowered when no power is needed. It will automatically raise when required and lower when not needed anymore. Wh00t!
Accessing my file
The file manager shipping with XFCE is called Thunar. I quite like it because it fast. Unfortunately, it is not able to access remote filesystems like Windows shares… Or at least, I didn’t get how to do it. Apart from this, it’s a nice tool that should cover 99% of your needs.
Note that it is able to render image thumbnails.
Dealing with USB keys, I didn’t find how to easily mount them.
What has to be done, I not that hard though. Open a terminal and issue the
dmesg
command. You should see a line about sd0
or sd
with a number. This
your USB device. If you then issue the disklabel sd0
command, you’ll see how
it is formatted. Most of the time, you’ll see a line starting with a i:
and
ending with MSDOS
. This is the partition where the data lies. Issue the
mount -t msdos /dev/sd0i /mnt
command and goto to /mnt
with your file
navigator. See the files ? ;-) You can know add/remove/rename/… with Thunar.
Do not unplug the USB key without a call. Go back to the terminal and issue a
umount /mnt
command. Then you can unplug it.
The Web browser
The XFCE installation I did comes with the Midori
Web browser. This is a
lightweight browser based on the WebKit rendering engine ; which is, if I’m not
mistaken, the rendering engine used by Apple’s Safari.
If you want more Web features, you may install Firefox. It comes as a binary
package and can be installed with pkg_mgr
. Just look for firefox
, then
select your language pack. Start Firefox and configure the about:config
as
described in the installation message.
Using Midori on OpenBSD, you won’t get Flash-based web sites such as YouTube.
Video in Web browser
Using pkg_mgr
, you can install gecko-mediaplayer
.
This enables watching video in Firefox. I could watch videos from Apple’s
Trailers but YouTube and DailyMotion didn’t work. Trailers from AlloCiné did
crash Firefox.
To enable Flash video, you can install gnash
. It does render the flash video.
Unfortunately, it is quite slow.
If you really need YouTube access, you can install Minitube
which is an
application that browses and displays video from YouTube in non-flash format.
It actually work nice. It lags a bit but this may be because of my (poor) video
card.
Another tweak is to install “User Agent Switcher” in Firefox and configure it to use the “iPhone” user agent. This forces some of the website, like dailymotion, to render the video in MPEG.
There is an option with Opera and Flash but, AFAIK, it is a quite old version
of Macromedia. So it may not render all the “new” web blobs. Furthermore, to
install it, your have to go for the ports
option. It is not that complex but
I planned to write a review for the grannies.
E-mail client
There is an easy choice here : Thunderbird. There are loads of other mail client in OpenBSD. But as a generic user, coming from the Windows world, you should definitively use it.
Install it using your favorite language. I used the thunderbird-i18n-fr
package which give me version 3.1.8 in French. In some other graphical
environment, you may choose something like K-Mail or Evolution.
The media player
By default, the XFCE environment comes with “Parole Media Player”.
Unfortunately, it doesn’t seem to be able to read ISO files. If you store your
DVD as iso dumps like me, you can use pkg_mgr
to install VLC
. It will
render those dumps perfectly.
The only thing VLC lacks, at least on this revision, is the ability to connect to the (French) Freebox TV service.
BTW, on that Dell D430, the volume buttons work out of the box.
Dealing with photos
XFCE ships with a software called Ristretto
. It is very basic but it will
enable you to view, rotate, delete and run slideshows on your photos.
Should you require more than this, you can install The Gimp
and/or F-Spot
.
Production tools
If you require Office like tool, you can rely on LibreOffice. This version of
OpenBSD comes with libreoffice-i18n-fr
, in version 3.3.2.2, which can be
installed from pkg_mgr
.
Most of the time, OpenOffice.org did well ; especially with Microsoft Office compatibility. Sometimes, there would be some issues. Having this piece of software running on OpenBSD definitely make it desktop friendly.
One more thing
You may wish to try some other more complex graphical environment. There are
two major alternatives : Gnome and KDE. OpenBSD comes with Gnome 2.32 and KDE
3.5. Have a look at their websites and install/test those using pkg_mgr
;
it’s quite simple to install.
I personally prefer Gnome. Mostly because KDE used to be quite slow and I liked the Gnome look better. But my father uses Ubuntu in the KDE edition.
One nice thing with Nautilus, the Gnome file manager, is the ability to connect
with remote filesystems like FTP, SSH or WebDAV. Should you not forget to
install the gvfs-smb
package, you also be able to deal with remote Windows
shares. Either browse them or connect to the share using the
smb://SERVER/SHARE
location. Note that VLC can’t read theme ; I guess it
doesn’t know how to deal with GFS libraires. The Totem Movie Player
can play
the video from the remote GFS filesystems.
A last about Gnome and the USB key : I couldn’t found how to enable automatic mount/unmount. There may be some things to dig on with HAL but I didn’t understand it (yet).
Conclusion
Well… If you can do without Flash and automatic external device mount/unmount, OpenBSD does provide a really nice workstation. You probably won’t give it to your grandma except if you live really near or have a remote access to her home… But if you know someone who’s thinking about Linux (Ubuntu) and didn’t jumped yet, you may propose OpenBSD.