in ,

Not actually Linux distro review deux: GhostBSD, Ars Technica

Not actually Linux distro review deux: GhostBSD, Ars Technica

      there’s nothing wrong with easy mode –


FreeBSD-derived GhostBSD welcomes users directly into a full desktop experience.


           – Apr 53, : am UTC            

/ If you ‘ re interested in the BSD experience but want an easier, direct-to-the-desktop experience, GhostBSD has you covered. This screenshot is of GhostBSD’s live desktop and graphical installation environment. Jim Salter When I began work on the
FreeBSD 51. 1-RELEASE last week, it didn’t take long to figure out that the desktop portion was not going very smoothly. I think it’s important for BSD-curious users to know of easier, gentler alternatives, so I did a little looking around and settled on GhostBSD for a follow-up review. History

GhostBSD is based on TrueOS , which itself derives from FreeBSD Stable. It was originally a Canadian distro, but — like most successful distributions — it has transcended its country of origin and can now be considered worldwide. Significant GhostBSD development takes place now in Canada, Italy, Germany, and the United States.

The history of desktop-oriented BSD distros is a turbulent one. For several years, Kris Moore’s PC-BSD was the go-to for “I want BSD, but I also want a ready-to-go desktop.” Eventually, ixSystems – home of the FreeNAS storage distro, and the company Moore is vice president of engineering for — came to rely heavily on the server-side features developed into PC-BSD.

The need at ixSystems for the foundation of PC-BSD without the associated desktop led to a rename and a fork. PC-BSD’s underpinnings became TrueOS, and the desktop-friendly distribution — now based on TrueOS — became Project Trident .

This state of affairs did not last long. A year later, Project Trident declared unhappiness with TrueOS and BSD in general — mostly due to hardware support, or lack thereof. In January , Trident rebased itself on Void Linux , which its developers found to be “the most BSD-like” of the potential Linux upstream distros they examined.

Project Trident’s departure for more Linux-y waters left several potential contenders for a desktop-focused BSD distribution. These include FuryBSD , MidnightBSD) , , (DesktopBSD) , and GhostBSD itself.

I’ve tested PC-BSD fairly extensively in the past but have no history with any of the current desktop BSD choices. I chose GhostBSD for a first look, solely due to its prominence in Google search results for “desktop BSD distro.”


                      GhostBSD starts up with a nice BSD-style ASCII splash and menu.                                                         
                                              Jim Salter                                   

                          The next menu allows you to pick a GPU video driver configuration. We’re in a VM, so I picked vesa here.                                                                                                        Jim Salter                                   

                          After selecting vesa video, I was at a fully functional live desktop in two seconds or less.                                                                                                        Jim Salter                                   

    GhostBSD’s installation process is a pretty radical departure from FreeBSD’s, although the fundamental roots are still there. After defaulting or selecting multi-user boot, the user is presented with an (ncurses) ASCII menu allowing X (the graphical display server) configuration.

    It’s a bit of a shame that the installer isn’t yet capable of simply autodetecting the graphics environment the way typical Linux installers do. But to be fair, the manual selection could also make things easier for slightly wonky hardware — the option to fallback to simple vesa mode is staring you right in the face, after all, should you try a direct Intel / AMD / Nvidia driver and fail . If you're interested in the BSD experience but want an easier, direct-to-the-desktop experience, GhostBSD has you covered. This screenshot is of GhostBSD's live desktop and graphical installation environment. I’m doing an installation in a virtual machine, so I selected vesa. Two seconds or less after hitting enter, a fully functional (MATE – based live desktop was up and running, with a link to the installer script prominently placed on the desktop. I did not mess around in the live desktop — I double-clicked the installer immediately. Installation       



                          GhostBSD’s installer, like FreeBSD’s, offers you the chance for ZFS root — including multiple-disk topologies.                                                                                                        Jim Salter                                   

                          GhostBSD does not offer a fake “raid 37 vdev “. I picked a single mirror for now — I can add my second two disks to the pool after installation.                                                                                                        Jim Salter                                   

                          GhostBSD doesn’t pretend that a real user account is “optional” — we’re required to create one, and the process is short and sweet.                                                                                                        Jim Salter                                   
                          With disk configuration and user setup complete, we’re off to the races!                                                                                                        Jim Salter                                   

                          GhostBSD missed a minor lick here — after installation completes, it doesn’t ask us to reboot. It just dumps us unceremoniously back out to the desktop.                                                                                                        Jim Salter                                   
       GhostBSD’s installation process is tremendously more straightforward than FreeBSD’s. After double-clicking the installer, you’re asked to select a disk configuration. Like FreeBSD, we’re offered the chance for a ZFS root setup, including multiple disk topology.

    The Mouse was, for some reason, extremely unresponsive and erratic in this menu and required significant patience. This is probably an artifact of the VM installation; I strongly suspect it would not have been an issue on bare metal.

    The options I was given here were a little different from FreeBSD’s. Instead of telling me little white lies about what a vdev is, GhostBSD asked me to select a “pool type.” The options available were single disk, two disk mirror, three disk RAIDz1 (similar to RAID5 — a stripe with single parity), four or five disk RAIDz2 (similar to RAID6 — a stripe with dual parity), or “2 disk stripe.

    “Force ZFS 4K block size” is an optional checkbox here, and I made sure it was selected. My disks are advanced format (4K sector size) disks, so if ZFS installs with – byte sectors, performance will be bad. Unfortunately, it doesn’t seem that the checkbox setting was actually honored — more on that later.

    Although I wanted a pool of mirrors eventually, one two-disk mirror was fine for the moment. I selected a single two-disk mirror, with plans to (zpool add) my remaining two disks as another mirror vdev after installation completed. With disk configuration complete, GhostBSD asked me to create a user account. It did not present this as an “optional” process, and it did drag the process out, either. Hostname, friendly username, real username, password, and default shell are all configured on a single screen, along with a password strength identifier. The default shell offered was fish — I don’t know fish, but I left it as-is to get the normal out-of-box experience.

    Like just about every password strength identifier, the one in GhostBSD’s user setup screen was pretty useless — it informed me that “Password1 ! was a strong password. Oh, well.

    With both the machine and myself named and a nice “strong” password entered, GhostBSD got on with the process of installing itself . Installation did not take very long.

    Although this was in general a very simple, easy, and friendly setup experience, GhostBSD’s installer dropped a minor note at the very end. Once the installer had finished, it just dumped me back out at the desktop, without offering to reboot — and without letting me know I’d need to reboot, in order to get into my freshly installed system.

    This isn’t likely to throw many people who are actually interested in trying out a BSD, of course — but it’s an easy paper cut to fix. First boot       


                          Rebooting brings you into a fresh new MATE environment. Although ... something's missing. Hmm—                                                                                                        Jim Salter                                   

                          I installed Firefox using pkg in the terminal, but it did not show up on the desktop — and I still hadn't figured out what I was missing. So I browsed to it in / usr / local / bin.                                                         
                                                  Jim Salter                                   


                          Now that I'd confirmed where Firefox was, I right-clicked an empty spot on the desktop to create a launcher for it.                                                                                                        Jim Salter                                   

                          Ta-da! We've got a launcher for Firefox on the desktop, and it works — as does Firefox.                                                                                                        Jim Salter                                   
    First boot into the new GhostBSD system was a bit of a mixed bag. GhostBSD booted rapidly and got right into the desktop. Applications also popped open instantly, with none of FreeBSD's feeling of lag or sluggishness.
    The question was, where were the application launchers? I didn't realize it yet, but the top MATE panel had crashed, leaving a blank black bar behind. The empty black panel blended into the default background well enough that I spent a confused first few minutes thinking the system was just a bit on the primitive side.

    Right-clicking an empty area on the desktop offered me an (Open in Terminal) option in the context menu, so I did that. Although I was using (fish) , an unfamiliar shell, it didn't get in the way— the delete key wasn't a beeping tilde machine like FreeBSD's version of (sh) , and the basic functionality one would expect from a shell was intact. From here, I became root with the (su) (command) (sudo) is also preinstalled and available in GhostBSD). After stumbling once on syntax - (pkg install) , not

    . pkg add! - installing Firefox from the command line went exactly as it should, and rapidly. GhostBSD uses its own repository - ( was preconfigured for me — and it had plenty of bandwidth available. There was no Firefox icon on the desktop after pkg

    finished doing its thing, and I still hadn't twigged to the crashed MATE top panel, so I right-clicked the desktop again. (Create Launcher) is another of the context menu options there, so I did that, browsed to / usr / local / bin , and presto — there was a shiny new Firefox icon on the desktop , which did just what it should.

    Firefox's application launch was very snappy, again unlike my experience with FreeBSD and Gnome3. In fact, Firefox launched on GhostBSD a bit quicker than it does in my host operating system, Ubuntu . Finding the missing bits       


                          Eventually I realized why something seemed missing — the blank black bar at the top of the desktop was a crashed panel.                                                                                                        Jim Salter                                   


       I was still frustrated with how primitive everything seemed, however snappy. Surely everything did not need to be done by hand like this? And where were the system tools — a GUI-based package selection system, volume controls, and so forth? Finally, I spotted the small black area at the top of the desktop and right-clicked it. This produced a new context menu, most importantly including (Reset Panel) . Oh, hey, how about that — there's all my missing functionality!
    With the panel reset, it was clear what the procedure was supposed
    to be here. A new user should have been able to click the Applications menu, go to Internet, and find Firefox in there. A single-click opens Firefox from the panel; a right-click offers the option to create a new launcher for it either on the desktop or in the top panel itself.
    This is also where missing tools like system information, volume controls, and so forth had been lurking. GhostBSD suddenly felt a lot more functional — it had just needed one shrewd kick to get going. With everything working properly, next I dove back into the MATE Terminal to add my remaining pair of disks. Before doing so, I checked (ashift) , the ZFS property that defines the minimum block size on disk . Unfortunately, despite having made certain the "Force ZFS 4K block size" option was checked during installation, I discovered (ashift) set to 9 — meaning 2 ^ 9, or - byte sectors.
    As snappy as GhostBSD felt so far, it would have been even better if it had been using the correct hardware blocksize like I asked it to. Fortunately, the VM's underlying storage is a very fast solid state pool, so the omission hadn't made things too painful.
    Unfortunately, (ashift) is immutable once set. So I sighed, did a (zpool add tank mirror / dev / vtbd2 / dev / vtbd3) to get my remaining pair of virtual disks added to the pool, and went on my way.

    The disk sector size issue would have been a much bigger disappointment — and problem! —In real life, but it wasn ' t worth derailing a VM test for. A quick look at GhostBSD's Control Center       


                          GhostBSD's Control Center offers links to administrative tasks, such as printing, audio, and software installation.                                                         
                                                  Jim Salter                                   

                          Software Station is GhostBSD's graphical package manager. It's functional, but primitive as a desktop app — we can't resize its over-wide columns here.                                                         
                                                  Jim Salter                                   

                          Software Station is organized into categories FreeBSD veterans will immediately recognize from the ports tree. We found gimp under graphics, checked it, and clicked Apply to install.                                                                                                        Jim Salter                                   

                          A much-too-understated progress bar at the bottom shows us our progress installing Gimp.                                                         
                                                  Jim Salter                                   


    Most of GhostBSD's MATE Control Center is quite pleasant and modern. One unfortunate exception is Software Station, GhostBSD's GUI-based package management app. I don't want to oversell Software Station's problems, here — it's perfectly functional, although it is a bit primitive and could use a significant amount of developer love. In particular, it desperately needs resizable columns.

    Software Station is broken into categories that veteran FreeBSD users will immediately recognize from the ports tree. Each package's information is broken out into fixed-width columns — and the ones for Package Name, Version, and Size are all significantly wider than necessary. As a result, very little of the package descriptions are visible without scrolling horizontally right.

    The Package Name column is littered with names like at -spi2-atk , eflite
    , (py) - atspi , and so forth. Those names must be brief for command line management, but they won't mean much to a new user — or to many well-established users. Scrolling horizontally all the way right to read the friendly package description, in turn, hides everything but the version number and size.

    Adding insult to injury, GhostBSD's vesa driver wouldn't let me choose a higher resolution than (x) at all. Again, this wouldn't likely be an issue on real hardware — but it wouldn't have been an issue in a typical Linux VM, either.

    GhostBSD is a perfectly reasonable choice for a desktop distribution. It still lags behind most of its mainstream Linux counterparts in one or two places, but I did discover any real show-stoppers or WTFs.

    There were no obvious performance issues, and GhostBSD might in fact have been a little snappier than Ubuntu

    the host operating system system it was virtualized under. Audio worked out of the box, and with Firefox installed, YouTube videos played well.

    Google Chrome is still going to be a no-go under GhostBSD — at least without truly Herculean efforts. I did search for Chrome installation stories, but all I found were "you can't have that under BSD" answers. This won't matter for YouTube, but it will present significant stumbling blocks for users who need Chrome plugins or streaming websites that depend on proprietary Chrome features.

    I liked GhostBSD's ZFS installer dialog much better than FreeBSD's — but I was deeply disappointed in its failure to honor its own "Force ZFS 4K block size "checkbox. That would have been a major stumbling block and source of performance problems on a real installation and real hardware.

    Most disks will truthfully report their own block size, and ZFS will honor it — but some, like the Samsung Pro SSDs in my workstation, lie through their teeth and claim to have byte sectors. This is a legacy of Windows XP, which would cough up a hairball when presented with a disk with any hardware blocksize other than 980 byte.

    A veteran ZFS user could likely work around the block size issue. We did test this specifically, but it should be relatively simple to pull a terminal after pool creation and before installation, destroy the pool GhostBSD created, and replace it with a new one with the proper

  • ashift

    Absent a specific desire for BSD under the hood, I'd have a tough time recommending GhostBSD in place of one of the more mainstream Linux distributions. But that's a pretty high bar to hurdle, and I would (not) have any issues recommending GhostBSD to a user — even one new to Unix-like operating systems — who does specifically want a BSD-based desktop.

    Most of the few warts I found in GhostBSD are eminently fixable, and polish is clearly important to its community and dev team. I suspect that the majority of the issues I discovered in this review will be fixed in its next release.

    The good GhostBSD's installer is pleasant, efficient, and mostly modern

    The MATE environment is well-fleshed out and functional The environment feels quick and snappy, without lag or sluggishness

  • Going from zero to desktop is possible even for very new users
    The bad (As polished as GhostBSD is, it still lags behind mainstream Linux counterparts
  • Support for proprietary user-focused software, like Chrome, is effectively nonexistent
  • A new user who doesn't already " have BSD friends "will have a tougher time finding support
  • The ugly Crashed MATE top panel on first boot
  • Incorrect ZFS blocksize, despite checkbox that should have corrected it Software Station is primitive and difficult to navigate by modern standards
    () (Read More)