Updated: April 11, 2025
I don't often test UNIX-like operating systems on Dedoimedo, but when I do, I usually like the hardcore nostalgia that these systems brings. Well, to an extent, that is. On one hand, you have the nerdy, spartan approach to system administration, how it should be mind, none of this systemd nonsense. On the other, there's an attempt to make the usage relatively simple and approachable, with this or that level of success. There's always the ultimate question, can they do better than Linux?
Five years ago, I took GhostBSD for a spin. 'Twas quite decent. Not as approachable as your common distro, but not that far off, either. Behind the scenes, GhostBSD is FreeBSD, which means tight, no-nonsense security. Usually, security and functionality tend to clash, and it's hard having an everyday system that's also locked down to the max. Well, let's have a fresh look, and see if this UNIX can perhaps serve your daily needs, or at least, some of them. It's both a question of could and should. Let's begin.
Preparations, ponderations
When it comes to UNIX-like systems, I always wonder how to go about the testing. I'd like to do proper dual-boot tests on physical hardware, alongside Windows and/or Linux, but I'm usually hesitant to do so, for three reasons. If you want to use ZFS, it's sort of "greedy", and it wants entire disks, the more the merrier, that is. Give it a massive RAID, and it will be happy. UFS is an option, but then should one use GRUB, if available, or try one of the available "native" BSD bootloaders? I also don't have enough information if things are going to work fine on UEFI systems, not that I care about TPM or Secure Boot, but still. The last question is regarding the swap partition. My IdeaPad test laptop doesn't have one, but the GhostBSD wiki tells me I ought to make one.
In the end, I decided to do a virtual machine test. Not perfect, but good enough for starters. Perhaps this will give me enough confidence for a physical installation. It's not that I'm afraid to ruin the partition table, as the Windows 11 test install there is just that - a test instance and a nonsense operating system, at that - but I'm not in the mood to do any major reinstallations or bootloaders games.
Installation
GhostBSD offers a live session, so you can get a taste of what it feels like before installing. During the first boot process, the system will check if your underlying hardware has sufficient RAM, and if it does, it will copy the entire image into memory, for faster work. I dedicated 8 GM of RAM to the guest operating system, and so, it took a few minutes copying data into the memory. After that, the Xfce session launched.
It was tiny, 1024x768px, and I couldn't resize it. I tried all sorts of games, including running various VBoxClient commands, followed by xrandr, but nothing helped. I then changed the graphics adapter, and on next reboot, GhostBSD resized itself fully, to the size of the maximized VirtualBox window, slightly smaller than the native 2880x1800px equity of my Slimbook Executive laptop. The virtual adapter change is similar to what I've shown you for Linux clients not that long ago, too. GhostBSD likes VBoxVGA, it does not like VMSVGA.
You will also notice the clock positioned in the center of the screen. Weird. After I changed the scaling to 200%, everything sorted itself out nicely. There's no fractional scaling, it seems.
I used the default settings for the installation, which means ZFS. It only let me select the FreeBSD BIOS loader. The FreeBSD boot manager and rEFInd boot manager, which is supposed to be able to handle dual boot just fine, were grayed out.
The installation was fairly quick - about 10 minutes. Easy peasy.
First steps
I had to repeat the scaling configuration, and then, I spent a good hour or two tweaking the MATE desktop. It's not ugly, far from it, but there were a lot of weird little choices. First, the default theme is a little bit dark, so I went with a brighter wallpaper. Second, luckily, MATE lets you easily change the look and feel, including full, individual control over window borders, fonts, even the mouse cursor you use. Indeed, I had to change the default one, as it was tiny and had not scaled up correctly. But this wasn't an odious ordeal.
I struggled more with the panels configuration. The top one lets you pin shortcuts, fine. But I've sort of gotten spoiled using Plasma and its icons-only task manager. No problem. I tweaked the bottom panel to serve as my shortcuts bar, but this was somewhat clunky, as there was no easy way to combine launchers and open windows.
Enter Plank. Yes, GhostBSD comes with the dock, and it should solve my problems, right. In a way, it did, but there were a handful of problems. First, you need to launch its preferences from the command line, as a flag. There's no option to edit the dock behavior from within the dock. I changed the hide behavior, width, size, zoom effect, and theme. I also noticed that the default pre-pinned apps look different from manually added (locked) icons. Firefox is the best example here, but not just. You will also need to make Plank auto-start, which isn't trivial, if you want the dock to open on every login.
Now, Plank could never really dock LibreOffice Writer. Other programs in the suite, yes. But Writer, nope. Interestingly, the default system menu does not show it. If you use the Compact menu, the sub-menus get all scrambled, and won't open. You can also use Brisk, which is a more "modern" alternative, and it works fine, and it shows LibreOffice Writer just fine. But as I've noted in many an Ubuntu MATE review, Brisk defaults to a hard-coded British English variant, and Favorites are always spelled Favourites.
But then, in the end, I had a presentable system:
Package management
Arguably, the most critical part of any Linux and UNIX-like experience is how they handle software installations and updates. Nowadays, few Linux distros offer good, sensible stores. At best, they have somewhat clunky catalogs or package managers. In this regard, UNIX-like systems are way behind.
Using GhostBSD's Software Station was a bit ... hard. This was 2005 through and through. Yes, you can search and find stuff. For example, LibreOffice (which isn't preinstalled). The actual program will be somewhere in the middle of the list, preceded by a dozen-plus translation packages. Sorting stuff out can be a bit difficult. There are no screenshots, and your only information is a single line of text comment. You basically need to know what you want before you want it. So, not for exploration, then.
Software Station is merely a frontend to pkg. On the command line, pkg does the job just like apt, dnf and friends. It's very fast and responsive. I also enjoyed using the Fish shell. Old school, but not annoying.
System updates worked just fine. Fast, no problems.
Everyday usability
GhostBSD challenged my Linux sensibilities. While most Linux distros are quite clunky, they are still more streamlined than how the average UNIX does things, at least when it comes to day-to-say stuff. Here's a brief rundown of some of the things I tried.
I wanted to see if I can install Steam. Well, as it turns out, you can. But then, there's this - a big, alarming warning that you should run this program under a separate account:
steam-install
Please, consider setting up a dedicated OS user account for Steam.
Otherwise each and every Steam game will have unrestricted access to your files.
If you really couldn't care less, you can suppress this message with
--allow-stealing-my-passwords,-browser-history-and-ssh-keys flag.
steam-install --allow-stealing-my-passwords,-browser-history-and-ssh-keys
Downloading Steam...
fetch: http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.79.tar.gz: Not Found
steam_1.0.0.79.tar.gz
3877 kB 2336 kBps 01s
Extracting bootstrap...
Creating symlink root -> steam
Creating symlink bin32 -> steam/ubuntu12_32
Creating symlink bin64 -> steam/ubuntu12_64
Creating symlink sdk32 -> steam/linux32
I am also worried about the whole Not Found error, although supposedly, Steam installed just fine. Then, I tried to run Steam, and it told me to change a bunch of system configurations:
/usr/local/steam-utils/bin/steam
Please, make sure the following requirements are satisfied:
* Unprivileged chroot must be enabled
* nullfs.ko must be loaded
Run (as root) `sysctl security.bsd.unprivileged_chroot=1`.
Add the setting to /etc/sysctl.conf to persist it.
Run (as root) `kldload nullfs` and `sysrc kld_list+=nullfs`.
Basically, your BSD is a hardened system, not designed for "too much" fun. You will probably feel much better if you use your Ghost for serious things, say like banking, perhaps, but everyday indulgences get in the way of the security design.
Next, I wanted to copy files in and out of the virtual machine. With NAT, you can use port-forwarding, and with SSH, this has been my favorite method of shuffling data from my host to my Linux guests and back without using a bridged adapter (if at all possible). I also wanted to do the same thing with GhostBSD.
I had to do some reading to get SSHD enabled. Then, I had to play with the firewall - you either disable it or create a rule - so that you can actually connect. It's all working with RC files, and I find this method much better than systemd unit files.
service sshd start
Cannot 'start' sshd. Set sshd_enable to YES in /etc/rc.conf or use 'onestart' instead of
'start'.
What is missing, though, is a simple, friendly frontend to manage these settings. Eventually, SSHD was accessible, but from my Kubuntu, the initial ssh/scp connection was slow. This could be a security mechanism, perhaps, but GhostBSD took about three seconds responding. After that, everything worked just fine.
I played a bunch of MP3 songs, and they worked great (in VLC). But then, the audio began to stutter. Sort of like rising/dropping volume every 2-3 seconds. I even found a thread on this, on FreeBSD forums. The exact type of problem I had. Disabling VFS prefetch for ZFS helped, but it didn't fully alleviate the issue. I guess ZFS is simply too intensive to use in virtual machines.
Here, I faced a wee Linux vs. UNIX way of work. If you want to reload sysctl, the -p flag doesn't work.
Now, the system volume isn't linear. If you push the volume slider up/down, the sound changes logarithmically, and that's jarring, because, effectively, you can only use the top fifth of the slider, and you go almost instantly from a whisper to a sonic boom. Everything else is basically too quiet.
The file manager, Caja, wouldn't rename files. Go figure why. Right click > Rename, nothing.
Since I had to consult the documentation a fair deal to figure out some of the woes, I discovered that there's a dearth of information in the BSD space, compared to Linux. The mainstream engines would simply spit out the common Linux answers most of the time. In this sense, you appreciate how much more user-friendly Linux is, and how much Ubuntu is ahead of every other distro, too.
And here, my testing ended.
Conclusion
In terms of your Average Joe usability, GhostBSD is far behind the common Linux distro. Saying otherwise would be distorting the time-space continuum. In many ways, notably package management and administration, BSD is harder, more difficult, less compromising. The feeling is equivalent to how Linux was roughly fifteen years back. Since, Linux has gained lots and lots of GUI tools to do things, but then also added lots of unnecessary abstraction that makes classic administration harder, and became a lot less stable. On average.
BSD is BSD, and it never claims any fluffy usability. Some of the incarnations are more geared toward the everyday usecase, but you still need to work hard. In the end, you can get the job done, and if you must tinker, then you will appreciate the simple UNIX philosophy. Files are files. No tomfoolery. Now, I don't really see any conflict. It is possible to have this robust approach AND have fun everyday stuff. Sure, it takes investment and time. But technically, if BSD had a nicer package management tool (say like Plasma's Discover), and a complete Control Center, where you can manage 90% of everyday stuff, BSD could potentially be a contender to the common distro. But then, we get to major problems no.2 and no.3: hardware support and availability of common software. Perhaps this won't ever be truly resolved, and BSD is more suitable for somber, serious usage that limits the everyday fun factor.
GhostBSD 25 treads the fine line between its Old School DNA and the modern vices. Sometimes superbly, but not always successfully. There were a few issues and snags here and there, and these ought to be resolved. However, at the end of the day, I got most of my work done, and I am pleased with the results. The only question is, if and when a new issue arises, how quickly and simply will I be able to resolve them. After all, the purpose of operating systems is to support the user's needs, not to be constantly administered. Right now, I don't have a good, long-term answer to that question. But overall, I like GhostBSD. It works well, it's robust, and it could potentially be a serious challenger in the desktop arena. We shall see.
Cheers.