GhostBSD 11.1 - FreeBSD for the desktop GhostBSD is a desktop oriented operating system which is based on FreeBSD. The project takes the FreeBSD operating system and adds a desktop environment, some popular applications, a graphical package manager and Linux binary compatibility. GhostBSD is available in two flavours, MATE and Xfce, and is currently available for 64-bit x86 computers exclusively. I downloaded the MATE edition which is available as a 2.3GB ISO file.



Booting from the installation media brings up a graphical login screen where we can sign into the live desktop environment using "ghostbsd" as the account name with no password. The live MATE desktop is presented with a two panel layout. At the top of the screen we find the Applications, Places and System menus. The top panel also plays host to the system tray. The bottom panel features a task switcher and a widget for switching between virtual desktops. On the desktop we find icons for launching the Caja file manager and the GhostBSD system installer. There is also an icon which launches the HexChat IRC client and automatically connects us with the project's chat room.



Installing



GhostBSD's system installer is a graphical application which begins by asking us for our preferred language, which we can select from a list. We can then select our keyboard's layout and our time zone. When it comes to partitioning we have three main options: let GhostBSD take over the entire disk using UFS as the file system, create a custom UFS layout or take over the entire disk using ZFS as the file system. UFS is a classic file system and quite popular, it is more or less FreeBSD's equivalent to Linux's ext4. ZFS is a more advanced file system with snapshots, multi-disk volumes and optional deduplication of data. I decided to try the ZFS option.



Once I selected ZFS I didn't have many more options to go through. I was given the chance to set the size of my swap space and choose whether to set up ZFS as a plain volume, with a mirrored disk for backup or in a RAID arrangement with multiple disks. I stayed with the plain, single disk arrangement. We are then asked to create a password for the root account and create a username and password for a regular user account. The installer lets us pick our account's shell with the default being fish, which seemed unusual. Other shells, including bash, csh, tcsh, ksh and zsh are available. The installer goes to work copying files and offers to reboot our computer when it is done.



Early impressions



The newly installed copy of GhostBSD boots to a graphical login screen where we can sign into the account we created during the install process. Signing into our account loads the MATE 1.18 desktop environment. I found MATE to be responsive and applications were quick to open. Early on I noticed odd window behaviour where windows would continue to slide around after I moved them with the mouse, as if the windows were skidding on ice. Turning off compositing in the MATE settings panel corrected this behaviour. I also found the desktop's default font (Montserrat Alternates) to be hard on my eyes as the font is thin and, for lack of a better term, bubbly. Fonts can be easily adjusted in the settings panel.





GhostBSD 11.1 -- The application menu showing off the default font

(full image size: 804kB, resolution: 1280x1024 pixels)



On the subject of the settings panel, I like how GhostBSD's is arranged. The settings modules are well organized and it was easy for me to find the desktop options I wanted to adjust. Each module tends to have a simple layout with just a few options apiece, making adjustments straight forward.





GhostBSD 11.1 -- The settings panel

(full image size: 718kB, resolution: 1280x1024 pixels)



A few minutes after I signed into my account, a notification appeared in the system tray letting me know software updates were available. Clicking the update icon brings up a small window showing us a list of package updates and, if any are available, updates to the base operating system. FreeBSD, and therefore GhostBSD, both separate the core operating system from the applications (packages) which run on the operating system. This means we can update the core of the system separately from the applications. GhostBSD's core remains relatively static and minimal while applications are updated using a semi-rolling schedule.



When we are updating the core operating system, the update manager will give us the option of rebooting the system to finish the process. We can dismiss this prompt to continue working, but the wording of the prompt may be confusing. When asked if we want to reboot to continue the update process, the options presented to us are "Continue" or "Restart". The Continue option closes the update manager and returns us to the MATE desktop.



The update manager worked well for me and the only issue I ran into was when I dismissed the update manager and then wanted to install updates later. There are two launchers for the update manager, one in MATE's System menu and one in the settings panel. Clicking either of these launchers didn't accomplish anything. Running the update manager from the command line simply caused the process to lock up until killed. I found if I had dismissed the update manager once, I'd have to wait until I logged in again to use it. Alternatively, I could use a command line tool or use the OctoPkg package manager to install package updates.



Package management



OctoPkg is a simple package manager with two main views. One view shows packages currently installed on our system. The second view allows us to search for available packages in the on-line repository. We can toggle between the two views with the click of a button. We can then click on packages in either view to mark them for installation or removal. The remote package view, by default, does not show anything. There doesn't appear to be a way to show all available packages and browse through them. Instead we search for packages based on their name. Searches can be tricky because if we give too much information, we will not get any results back. For example, searching for "music" will show audio players, but searching for "music player" shows nothing. Likewise, searching for "word" will show word processors or dictionaries, but "word processor" returns no results.





GhostBSD 11.1 -- The OctoPkg package manager

(full image size: 632kB, resolution: 1280x1024 pixels)



While finding packages can be tricky, OctoPkg works quickly and can optionally upgrade all installed packages on our system. While I did not run into any errors while using OctoPkg, I think it is worth mentioning the package manager does not deal with the core FreeBSD operating system; we cannot use OctoPkg to upgrade the core operating system, just its third-party packages.



Hardware



I tried using GhostBSD in two environments, starting with a VirtualBox virtual machine. In the virtual environment, GhostBSD worked very well. The operating system booted and performed quickly, the desktop was responsive and the system was stable. The MATE desktop responded quickly and automatically integrated with my host environment, using my screen's full resolution. The operating system used about 6.5GB of disk space for a fresh installation. When logged into MATE, GhostBSD used about 280MB of active memory and 350MB of wired memory, most of the latter appears to be utilized by ZFS.



When I then tried working with GhostBSD on my physical desktop computer, I was disappointed. I could not get GhostBSD's installation media to boot. GhostBSD's boot media supports several boot options (normal, safe graphics settings and booting without ACPI support). Taking any of the options caused GhostBSD to lock up about two seconds into the boot process and refuse to proceed. This limited my experiment with GhostBSD to the virtual machine.



Applications



GhostBSD ships with a fairly standard set of open source applications. Firefox is available, along the with the Thunderbird e-mail client, the Pidgin messaging software and the HexChat IRC client. LibreOffice is installed for us along with a dictionary and the Atril document viewer. The Cheese webcam utility is included along with the Xfburn disc burning software.





GhostBSD 11.1 -- Browsing available applications

(full image size: 656kB, resolution: 1280x1024 pixels)



GhostBSD ships with MPlayer for watching videos and Exaile for playing audio files. I was able to play video files out of the box, but unable to listen to MP3 files with the default codecs. We can use the OctoPkg package manager to grab additional codecs. GhostBSD's codec packages are clearly named, making it easier to find what we need. For example, we can install gstreamer-plugins-mp3 to play MP3 files and gstreamer-plugins-ogg to play OGG files.



The operating system provides us with the Caja file manager, a desktop application for setting up printers and the Shotwell photo manager. We can also find an archive manager, text editor and image viewer in the application menu. There is a launcher called GhostBSD Bugs which opens Firefox and displays the project's issue tracker. In the background we find the Clang compiler, the FreeBSD command line tools and the FreeBSD 11.1 kernel. There was another program called GSmartControl, but it failed to open when I tried to launch it.



Other features



GhostBSD ships with FreeBSD's Linux compatibility software enabled. This means, in theory, GhostBSD will be able to run Linux executable files, assuming all library dependencies are met. I tested the Linux compatibility functionality using a Linux package for the Sublime editor available in the FreeBSD package repository. The package installed and was added to my application menu, but failed to start. I also tried a game called Nero and, while it loaded, the game quickly crashed. It seems the Linux compatibility layer can work in some cases, but it is probably best not to rely on it, especially for more modern applications such as Chrome or Steam.



Before GhostBSD starts, the FreeBSD boot menu is displayed and it includes an option to select a boot environment. A boot environment is a snapshot of the operating system, usually taken prior to a software upgrade or configuration change which might damage the system. GhostBSD does not appear to ship with any tools for managing boot environments, but the boot environment administration (beadm) package is available in the software repository. beadm is a command line tool which makes it easy to create, destroy and mount snapshots.



I tested beadm and found I could successfully create snapshots and activate them to be used at the next system restart. I also found the boot menu would recognize the snapshots I created and allow me to select which one I wanted to boot. This means, so long as I run beadm create prior to a configuration change or system update, if anything goes wrong a broken system can be fixed by rebooting and selecting the most recent snapshot from the boot menu. Short of hardware failure, GhostBSD running on ZFS is nearly bullet proof.



By default, GhostBSD makes both sudo and a root account available for people who wish to perform administrative tasks. The first user we create, at install time, is automatically set up to be able to use sudo to perform admin actions.



Conclusions



Most of my time with GhostBSD, I was impressed and happy with the operating system. GhostBSD builds on a solid, stable FreeBSD core. We benefit from FreeBSD's performance and its large collection of open source software packages. The MATE desktop was very responsive in my trial and the system is relatively light on memory, even when run on ZFS which has a reputation for taking up more memory than other file systems.





GhostBSD 11.1 -- Running Firefox and LibreOffice

(full image size: 495kB, resolution: 1280x1024 pixels)



There were a couple of weak links in GhostBSD's chain, the big one being hardware compatibility. While the operating system worked very well in VirtualBox, I could not get it to boot on my desktop hardware, a problem I typically have with FreeBSD-based projects. I can often work around little issues when trying a new operating system, but only if it will boot. The second concern I had was with the package manager. OctoPkg works, but it is very minimal and it doesn't make it particularly easy for new users to find the software they want. I'm hoping to see a more modern looking software centre in future versions of GhostBSD.



One final concern I had was GhostBSD does not have quite the range of software a Linux distribution can access. Most of the same programs are there and people who use open source software exclusively will probably find everything they need. However, people who want to run Chrome, Steam or other modern, closed source applications which do run on Linux will not find them on GhostBSD.



The killer feature, from my point of view, was GhostBSD's great ZFS and boot environment support. Full disk ZFS is supported right in the installer and GhostBSD makes it very easy to set up. Most users will be able to just click through the partitioning screen without adjusting anything. Then, once we have the beadm package installed, we can make use of boot environments, snapshotting our operating system before making any major changes. Then a restart will fix almost any issue which comes up.



I think GhostBSD has matured a lot in the past few years and it is close to being on par with Linux equivalents such as Ubuntu MATE. I definitely recommend giving it a try, if you have hardware that is compatible with GhostBSD, I think the operating system will provide a pleasant experience. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card * * * * * Visitor supplied rating



GhostBSD has a visitor supplied average rating of: 6.9/10 from 58 review(s).

Have you used GhostBSD? You can leave your own review of the project on our ratings page.



