The GhostBSD in the machine
GhostBSD is a desktop-oriented operating system based on FreeBSD and the MATE Desktop Environment. The goal of the project is to lower the barrier to entry of using FreeBSD on a desktop or laptop system, and it largely succeeds at this. While it has a few rough edges that make it hard to recommend for the average desktop user, it is a fine choice for users who want a desktop with FreeBSD underpinnings such as the Z File System (ZFS), and the Ports (source) and Packages (binary) software collections.
GhostBSD has been haunting users for some time now. The first GhostBSD release (1.0) was announced in 2010, and was based on FreeBSD 8.0 and GNOME 2.28.2. The name is a portmanteau of "GNOME hosted by FreeBSD", even though the project switched to MATE in 2013. The project also offers an unofficial community spin of GhostBSD featuring the Xfce desktop. The most recent release, 24.04.1, was announced on May 20, and is based on FreeBSD 14.
Off to the races
Installation is almost dead simple. The installer walks users through setting up the preferred language, keyboard layout, time zone, disk partitioning, boot manager, then creates a user account with administrative privileges. Disk partitioning can be as simple as pointing the installer at the disk to use; in that case, GhostBSD will allocate a small partition for swap space and use the rest to create a ZFS pool with separate datasets for the root filesystem (/), /home, /usr, /usr/ports, /var, /var/log, and others. The installer also allows custom partitioning and the creation of complex setups with multiple pools and disks. Unfortunately, the installer does not provide a help menu or documentation to guide users with this. That is a recurring theme while using GhostBSD—its homegrown tools have no accompanying help menus or inline documentation.
The initial set of software for GhostBSD is minimal, but enough to get started. It provides the MATE defaults for file manager, text editor, terminal, PDF viewer, and so forth. Users also get Firefox, the VLC media player, Shotwell photo manager, and Evolution for email.
If the default software selection is not enough, GhostBSD provides an application called Software Station manage software without having to use the pkg command-line utility. It is a no-frills application that acts as a front-end for pkg. It lets users search the more than 34,000 available packages, or browse packages by one of the many categories, and install or remove packages. Unlike more full-featured desktop software managers, like GNOME Software or KDE Discover, Software Station does not provide screenshots, links to the web sites for the software, or much else.
Software Station does not act as a front-end for GhostBSD's Ports. If users want to install packages from source using Ports instead of the precompiled packages (.pkg files), they need to install the ports, src, and os-generic-userland-devtools packages.
Everything under the sun
Generally, installing from source should not be necessary. What Software Station lacks in sophistication, it makes up for in software selection. Most of the desktop software I would reach for on a Linux desktop is available on GhostBSD, such as LibreOffice, the Strawberry media player, Claws Mail, GNU Emacs, NeoVim, GIMP, and quite a bit more. Users can choose different desktop environments and window managers as well, of course. A Google Chrome package is available, but it is the Linux version of Google Chrome released on February 6 which is badly outdated at this point: stable Chrome releases happen roughly every six weeks. A native version of Chromium, however, is available and is up-to-date.
Updates and system upgrades are handled by the Update Station
utility, but it is not entirely clear what the security-update policy
is. GhostBSD founder Eric Turgeon said
in a post on the FreeBSD forum that the GhostBSD ports tree is synced from FreeBSD's
ports tree every week or two, and packages are built from the ports
tree "about every two weeks unless there are CVEs in the default
set of packages
". Turgeon adds that he tries to stay on top of
CVEs "as much as possible
". GhostBSD users would be
wise to subscribe to the FreeBSD security advisory notifications
mailing list mentioned on the FreeBSD
Security page, or at least keep a close eye on the advisories page.
The GhostBSD folks seem to like "Station" naming: there is also a Backup Station for manually creating boot environment snapshots, and a Station Tweak utility for configuring some of the desktop options such as the panel layout and whether window title-bar buttons are on the left or right side. The Backup Station utility is somewhat misnamed; it only allows users to create boot-environment snapshots. It does not expose other ZFS snapshotting capabilities, which is a pity. Those features are, of course, available at the command line but lack discoverability. It only took about five minutes with the documentation to be able to create snapshots and try some of the ZFS rollback features, but deeper understanding and mastery will clearly take a bit longer.
GhostBSD uses fish (the "friendly interactive shell", covered here in 2020) as its default shell, and Berkeley vi instead of Vim as the default editor. The fish shell's autocomplete features seem interesting, though the time I spent with GhostBSD is not nearly sufficient to fully explore its features or overcome 20-plus years of using GNU Bash. Further exploration is in order. Vim 9.1.404 is included in the default install, though it seems to be targeted for removal at some point. Likewise, Git is included but Turgeon says that most operating systems do not pre-install Git and has marked it for removal in a future release.
Hardware support with GhostBSD is somewhat lacking. For example, it required a system reboot for GhostBSD to discover an HDMI monitor the first time. Simply plugging the HDMI cable in was not sufficient. Bluetooth is, theoretically, supported—but it is not enabled by default. The documentation on the GhostBSD wiki points to a six-year-old forum post with a lengthy set of instructions to try to configure Bluetooth hardware. These are not insurmountable hurdles, but they are things that one would expect to simply work for a desktop-oriented system.
Another problem was that the MATE desktop panel would crash/disappear sometimes when installing new software. This happened, for example, while installing Google Chrome. (My best guess is something goes awry while adding new menu items for applications to the MATE application menu.) The panel can be resurrected with "mate-panel --replace &", but it does not lend confidence when a core component crashes frequently.
Live and let ghost
GhostBSD seems like a good option for those who already prefer FreeBSD and want a distribution that's customized for the desktop, or for users who want to get a first taste of FreeBSD. It is not as polished or full-featured as mainstream Linux desktop distributions, but it is user-friendly enough for experienced Linux and BSD users.
Intrigued users can find MATE and Xfce ISOs on the download page. The project also maintains a development tracker that provides insight into the features to expect and bugs that should be fixed in releases coming soon. The next release (24.07.1) seems to be expected in July.