GhostBSD 10.1: Ghost in the machine



Earlier this year the GhostBSD project released version 10.1 of their desktop-oriented operating system. According to the project's website, "GhostBSD is a user-friendly BSD operating system built on top of FreeBSD. FreeBSD is known to be a solid, powerful, secure and stable server operating system, providing an excellent base for a desktop operating system. FreeBSD seems to be aimed at more experienced or technically inclined users. As such, newcomers to the BSD platform can be confused, especially for those who lack the technical expertise required."



GhostBSD aims to lower the bar for entry into the FreeBSD community. The project does this by providing users with a FreeBSD-based system that ships with a pre-configured desktop environment (MATE and Xfce editions are available) and GhostBSD offers users a graphical system installer which looks nicer and requires fewer steps than FreeBSD's text-based installer.



The most recent release of GhostBSD includes a number of new features. The release notes mention the return of the project's Xfce edition, a new graphical package manager and several other improvements: GhostBSD ISO image is hybrid that can be burned on a DVD or USB stick.

Xfce is coming back.

Users can choose to install the BSD boot manager, GRUB boot manager or simply None and use their Linux GRUB.

Station Tweak, a fork of MATE Tweak.

OctoPkg GUI front-end for pkgng written in Qt.

Station Update Manager to update FreeBSD base system and third party software .

Software from pkg or ports can be installed in the live DVD/USB session. available in 32-bit and 64-bit builds for the x86 architecture. I decided to try the 64-bit MATE edition of the operating system. The ISO for this edition is approximately 1.8GB in size. Booting from the project's live media brings up a boot menu asking if we would like to perform a graphical installation, launch an installer in safe graphics mode or start the installer with no ACPI support. Though the boot menu's wording suggests it is going to immediately launch a system installer, taking any of the above options boots a live graphical environment and we are brought to the MATE 1.10 desktop.



The MATE desktop is decorated with some leafy wallpaper that contains nice shades of green and blue. The Applications, Places and System menus sit in the upper-left corner of the screen while the system tray is placed in the upper-right corner. At the bottom of the display we find the task switcher panel. There are icons on the desktop for opening a file manager, launching an IRC client which will automatically connect us to the GhostBSD support channel and there is an icon for launching the project's system installer.



GhostBSD's graphical system installer has a visual style similar to Ubuntu's installer. We begin by selecting our preferred language from a list. Then we select our keyboard's layout. The keyboard layout screen has a text box where we can practice typing to make sure we have selected the correct keyboard. Next, we select our time zone from a list. The following screen asks if we would like to have the installer take over our entire hard drive or if we would like to manually partition our disk. Taking the manual option presents us with a nice, easy to navigate partition manager. One thing I especially enjoyed about GhostBSD's installer is it will suggest a good default partition layout for our disk based on the space we have available. In my case the installer suggested a large partition formatted with UFS and an accompanying swap partition. The following screens get us to create a password for the root account and then create a regular user account for ourselves. We can choose which command shell our account will use with options including fish, bash, csh, tcsh, zsh and ksh. I opted for bash since it is also the default shell on most of my Linux-based accounts. Once the installer has copied its files to our drive, we are returned to the live MATE desktop where we can explore until we decide to reboot the computer.



When we first boot our new copy of GhostBSD we are brought to a graphical login screen decorated with grey wallpaper. From here we can sign into the account we created during the installation process. This is assuming, of course, the operating system boots. I tried running GhostBSD in two test environments. When run in a VirtualBox virtual machine the operating system ran very well. GhostBSD integrated with VirtualBox, allowing me to make full use of my screen resolution and the operating system worked quickly. Sound, networking and mouse integration all worked smoothly. However, I was unable to boot GhostBSD on my desktop computer. Immediately after passing the GRUB boot screen, GhostBSD would run into a kernel page fault and immediately come to a halt. I ran into the same problem recently while testing PC-BSD 10.2, so I suspect the issue lies with the underlying FreeBSD kernel common to both projects. When GhostBSD was running in its virtual environment, the operating system used about 200MB of active memory and 150MB of wired memory while logged into the MATE desktop. A fresh installation of GhostBSD took up 5.5GB of storage space on my disk.





GhostBSD 10.1 -- The Control Centre and Station Tweak

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



While exploring the MATE desktop and its features, one component I kept coming back to was the Control Centre. The operating system's Control Centre panel presents us with a one-stop location for configuring our desktop and various aspects of the underlying operating system. The Control Centre includes modules for changing the appearance of the MATE desktop, changing our power settings, selecting our preferred applications, managing printers and configuring file indexing. We can also change our mouse settings and the keyboard's layout from the settings panel. One module which I found especially helpful was called Station Tweak. This tool enables us to change several aspects of the desktop. For instance, Station Tweak enables us to change which common icons appear on the desktop, such as the Computer icon and the Trash icon. Station Tweak will allow us to enable/disable compositing, switch window managers and move the window control buttons to the left or right side of application windows. Perhaps my favourite feature though gives us a way to quickly change the position of the desktop panels. By default, MATE displays an application menu and system tray at the top of the screen while window management is handled by a panel at the bottom of the screen. Using Station Tweak we can switch to using one unified panel which can be placed along any screen border. We can also set up one panel at the top of the display and have a launch bar placed at the bottom of the screen, similar to the way the OS X desktop is arranged. This gives us an extra level of flexibility when it comes to organizing our desktop.





GhostBSD 10.1 -- Running MATE with the Purity layout

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



GhostBSD ships with the OctoPkg graphical package manager. The package manager is divided into two main parts. At the top of the window we see a list of packages. This is where we can browse through packages we have already installed or see the results of searches we have performed for packages we want. At the bottom of the window we see information on selected packages, dependency data, indication of available upgrades and other information. OctoPkg will also display news that has been posted to the GhostBSD project's blog. OctoPkg enables us to search for packages by name and see a list of installed items sorted in alphabetical order. Using OctoPkg we can perform installation, removal and upgrade actions on packages. I found OctoPkg worked well. The first day I was using GhostBSD, OctoPkg let me know there were five upgrades waiting (totalling 16MB in size) and OctoPkg installed these updates without any problem. I was also able to install new software and remove unwanted packages. OctoPkg pulls software in from FreeBSD's repositories, giving us access to over 20,000 software packages. The one feature of OctoPkg I found strange was that the application would not display all available packages in the repositories. We are shown installed items and we can perform searches for packages in FreeBSD's repository, but I could not get OctoPkg to display a full list of available software that had not yet been installed locally. This might be a settings issue, but even with the "show local only" filter turned off, I wasn't able to browse the remote repository.





GhostBSD 10.1 -- The OctoPkg package manager

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



So far as I could tell, OctoPkg will not update the base operating system, only third-party packages installed on top of GhostBSD's core. I was not able to find any other graphical utility to perform updates to the base system either. The release notes mention a tool called Station Update Manager, but I did not find any utility with this name. To update the base system I used a command line tool called freebsd-update. During my trial I ran freebsd-update a few times. The first time I ran into errors indicating missing files, but subsequent runs of freebsd-update completed without any problems.



GhostBSD ships with a collection of useful desktop software. We are treated to the Firefox web browser (without Flash support), the HexChat IRC client, the Pidgin instant messaging software, the Thunderbird e-mail client and the Transmission bittorrent application. The operating system ships with LibreOffice 5, a dictionary application and the Atril document viewer. We can also find the Cheese webcam application, the Exaile audio player and GNOME MPlayer for watching videos. GhostBSD ships with the Xfburn disc burning application and includes multimedia codecs in the default installation. The operating system also includes a simple image viewer, the Shotwell photo managing software, an archive manager, a calculator and a text editor. The Plank application launcher (which gives the desktop an OS X style program launcher) is available. The Caja and Midnight Commander file managers are included in GhostBSD as are a system monitor and the MATE desktop configuration modules. Unlike most Linux distributions, GhostBSD ships with the Clang compiler rather than the GNU Compiler Collection. Behind the scenes, GhostBSD ships with the FreeBSD 10.1 command line utilities, documentation and kernel.





GhostBSD 10.1 -- Running LibreOffice 5

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



Conclusions



I like the GhostBSD project and its goal. I think, in the past, there has generally not been enough work done to make FreeBSD a good operating system for desktop use. FreeBSD works well in the role of a server operating system, it's stable, fast and the project evolves in such a way that it is fairly easy to upgrade a FreeBSD system over time. However, FreeBSD (while it can be used as a desktop operating system) lacks many of the characteristics one might want on the desktop, such as a graphical installer, multimedia support, a graphical package manager and an attractive, pre-configured desktop environment. While these features can be added or enabled on FreeBSD, most users will want those tools to be in place and to just work right from the start.



There are two projects which are working hard to provide an attractive desktop solution built on FreeBSD. The PC-BSD project seems to be aiming at the workstation and power user market. PC-BSD supports 64-bit x86 exclusively, offers ZFS and lots of administrative utilities. GhostBSD is taking a different approach. While both PC-BSD and GhostBSD offer graphical installers and nice package managers, GhostBSD seems to be aiming at a different market. GhostBSD offers 32-bit and 64-bit builds, the installer has fewer options which streamlines the installation process and GhostBSD offers fewer administrative utilities. GhostBSD ships with UFS as the default file system which has fewer features, but requires less memory when compared next to ZFS.



In short, GhostBSD has a different feel and approach to things than its cousin, PC-BSD. The PC-BSD developers are adding options, providing a lot of tools power users will want and making their platform very flexible. GhostBSD is going in another direction, simplifying and offering us a clean, streamlined desktop solution.



GhostBSD still has access to lots of options for power users through the project's software repository. If we so choose we can install the same components PC-BSD offers through the package manager, but by default GhostBSD appears to be aiming at the home user market more so than the professional/office market. GhostBSD sweeps as much configuration and clutter as it can out of the way so we are left with just the MATE desktop and a handful of useful applications. I think taking this approach will make GhostBSD quite attractive to home users, especially those who are comfortable using Linux and want to try something different. * * * * * 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