Friday, July 7, 2017

OpenBSD 6.1: XFCE 4 posing as MATE, the joys of syspatch, doas mount and no-fi connectivity

About seven months have elapsed since the last time I shared any episodes from my ongoing UNIX adventures. This prolonged silence, methinks, was probably due to the fact that I was on a single installation (OpenBSD) almost the whole time, which is quite a feat considering my distrohopping tendencies. I was so busy using UNIX for my own day-to-day tasks, rather than endlessly reinstalling and tweaking entire systems, that I simply felt like I had nothing to say, UNIX-wise. (The important thing to note here, for those who are quick to write OpenBSD off as some "security only" distro with no desktop potential, is that I have been getting along just fine using it as an all-purpose desktop system for tasks that were often multimedia in nature. So there!)

Within the past few days, however, I had succumbed to some old bad habits, and took OpenIndiana Hipster for a spin after an extended absence. I installed from the 2016.10 iso and then was able to patch it up to whatever was current as of July 2. And while some bugs and hiccups (not to mention a lack of some of my favorite multimedia apps) sent me scurrying back to OpenBSD before long, I nevertheless enjoy the overall feel and aesthetics of that system's iteration of the MATE desktop environment (which itself is a successor fork of Gnome 2).

OpenIndiana Hipster's default MATE desktop, as shown 
from a 2016.10 live DVD session

Once I had OpenBSD (version 6.1) back up and running, I installed the XFCE 4 desktop environment with the intention of going for the default configuration (as usual), but after an errant mouse click found myself faced with the prospect of configuring it from scratch, one panel at a time. Still longing for OpenIndiana's aesthetic, I proceeded to see just how much I could tweak XFCE 4 until it bore a passing resemblance to OI's default MATE desktop configuration. (One essential part of this task included downloading and installing the "Nimbus" window theme. It also helps that the default typefaces for xfce4-terminal, Monospace Regular 12-point, is the same as that for mate-terminal.) After a few hours that felt more like 20 minutes, here is the fruit of my labor:

OpenBSD 6.1 running XFCE 4, tweaked to somewhat resemble MATE.

Akin to an Elvis impersonator, the above looks like like Solaris/OpenIndiana MATE if you squint your eyes and don't look too closely at the applications button. (I should note here that I haven't tried installing MATE on OpenBSD yet, as I'm not 100% certain yet that a polished version is available on that system. Nevertheless, it appears to be in the "work-in-progress" stage.)

And for anyone who has fiddled with Oracle Solaris 11.x, all it takes is a simple change of background wallpaper to make the above look even more familiar:

And the "Desktop Least Likely To..." award goes to OpenBSD 6.1
pretending to be Oracle Solaris 11.3.

The above pic is the exact configuration of my XFCE desktop as of this writing. The visual aesthetics of Oracle Solaris crossed with the speed of OpenBSD is sending conflicting information to my brain, though not in an entirely bad way. (File under "Recreational High".)

Odds and ends

syspatch - As of OpenBSD 6.1, you can use the syspatch command to scan for system patches (syspatch -c) or to simply let 'er rip and apply all available patches (syspatch with no options).

doas mount/umount - While running OpenBSD 6.0, I had been using hotplug-diskmount for mounting and unmounting of usb drives/devices. This time around (after reinstalling from scratch with 6.1 DVD iso), I somehow couldn't get that utility to work, but came across a simple method in an excellent online article, Installing OpenBSD 6.1 on your laptop is really hard (not). The steps, as shown by that author and followed by me, are to first append the following lines to /etc/doas.conf (or create a new file with those lines if it doesn't yet exist)

permit nopass jed as root cmd mount
permit nopass jed as root cmd umount

Next, create a directory from which to access your USB content (in my case /home/jed/usb), and then mount or unmount as follows:

$ doas mount /dev/sd1i /home/jed/usb
$ doas umount /dev/sd1i

Brother, can you spare a compatible wifi card? - I love my current laptop, but the one blind spot is that it uses a Broadcom BCM4215 wifi card which, as far as I can tell after much Googling, only works with Microsoft Windows. (That may not be entirely true - it appears Ubuntu has a driver, firmware-b43legacy-installer, but my particular card may not be covered.)