Skip to content

Instantly share code, notes, and snippets.

@grahamperrin
Last active June 19, 2025 16:26
Show Gist options
  • Save grahamperrin/a65f5d819a6a8c54aff6079f63db33f6 to your computer and use it in GitHub Desktop.
Save grahamperrin/a65f5d819a6a8c54aff6079f63db33f6 to your computer and use it in GitHub Desktop.
FreeBSD, GhostBSD, NomadBSD, Ubuntu, Kubuntu, KDE Plasma

A concise comparison of operating systems. Some focus on root-on-ZFS, and on Plasma. Not intended to be comprehensive.

Describing availability is not necessarily a recommendation to install what's available.

The systems

UX (user experience): first run, after installation

FreeBSD

Whatever you chose to install, using pkg, before exiting the installer.

GhostBSD

Firefox is available.

Approved:

  • remove Firefox
  • have ungoogled-chromium alone.

NomadBSD

Firefox ESR is in the dock (Plank Reloaded).

Ubuntu

Firefox is uppermost in the dock.

Dual boot

Ubuntu

The installer includes a GUI to resize partitions.

Installation to removable media

GhostBSD

Boot of the installed system is likely to fail. A known issue.

Root-on-ZFS

FreeBSD

The default.

GhostBSD

The default, no other option.

NomadBSD and Ubuntu

Optional.

Device and file system encryption

FreeBSD

During installation:

  • GELI is optional for OS and swap partitions
  • OpenZFS encryption is optional for home directories.

For an encrypted home to work with SDDM, additional configuration may be required.

GhostBSD

Not possible during installation. A known issue.

NomadBSD

GELI is optional for the home partition.

Ubuntu

LUKS is optional during installation.

Desktop environments and display managers

FreeBSD

A commitment to KDE with Wayland.

Packages can be installed whilst using the installer for the OS.

The largest of the operating system installer images includes packages for SDDM, KDE, Sway, and X.Org. The FreeBSD Project builds these images for RELEASE, but not for CURRENT.

GhostBSD

The official installer image boots to MATE, and will install MATE.

Plasma and other desktop environments are available.

A non-official image will install Xfce.

NomadBSD

Xfce by default. Alternatives are available.

Ubuntu

GNOME and GDM by default.

Switch to Kubuntu (for KDE, SDDM, and so on):

  • sudo apt install kubuntu-desktop

Alternatives that are installable with tasksel:

  • Cinnamon
  • GNOME Flashback
  • KDE Plasma (less comprehensive than the apt approach above)
  • LXDE
  • LXQt
  • MATE
  • Xfce.

Software installation and updates

FreeBSD

Available applications include:

The installer for FreeBSD-CURRENT can use packages to install the OS.

ports-mgmt/pkg version 2.1.2 is the norm.

GhostBSD

Installation of the OS includes Software Station and Update Station.

pkg 1.21.3 is the norm.

2.1.2 is:

  • installable
  • not recommended for use with Update Station.

Ubuntu

Discover is available.

Synaptic may be recommended.

Management of ZFS boot environments

FreeBSD and NomadBSD

bectl(8) is integral.

Also available:

GhostBSD

Installation of the OS includes Backup Station and bectl.

Also available:

  • beadm
  • bemgr.

Ubuntu

Available:

Architectures, platforms

FreeBSD

Multiplatform. Tier-1:

  • amd64 – 64-bit x86
  • aarch64 – 64-bit ARMv8.

NomadBSD and Ubuntu

Multiplatform.

GhostBSD

AMD64.

Recommended proprietary software

Ubuntu

Optional during installation:

  • third party software for graphics and Wi-Fi hardware, including but not limited to NVIDIA drivers and similar
  • support for additional media formats, including but not limited to MP3, MP4, MOV and similar.

Credit

Adapted from parts of https://forums.ghostbsd.org/d/327.

@grahamperrin
Copy link
Author

@grahamperrin
Copy link
Author

@grahamperrin
Copy link
Author

@grahamperrin
Copy link
Author

grahamperrin commented May 10, 2025

Packages can be added from a GhostBSD repo:

  • pkg add https://pkg.ghostbsd.org/stable/FreeBSD:14:amd64/latest/All/backup-station-0.5.pkg
  • pkg add https://pkg.ghostbsd.org/stable/FreeBSD:14:amd64/latest/All/software-station-2.0_1.pkg
  • pkg add https://pkg.ghostbsd.org/stable/FreeBSD:14:amd64/latest/All/update-station-6.2.pkg

Beyond simple addition: for updates to be detected, a GhostBSD-specific pkg.conf(5) file must be used.

@grahamperrin
Copy link
Author

@grahamperrin
Copy link
Author

grahamperrin commented May 15, 2025

GhostBSD is marketed as simple and user-friendly from the start (out of the box).

2025-05-12: "… approved the move from firefox to ungoogle-chromium"

First run of ungoogled-chromium on GhostBSD:

ungoogled-chromium first run page - Chromium


How-To

Install and update extensions

NeverDecaf has created an extension to make this process easy:

  1. Set chrome://flags/#extension-mime-request-handling to Always prompt for install and relaunch.
  2. Then click on the latest Chromium.Web.Store.crx link on the extension's Releases page.

Please check out the chromium-web-store repo for further details and alternate installation methods for the extension.

If you do not wish to install this extension, there is still a way to install other extensions albeit without the ability to easily update them. In this case, please refer to the entry on the wiki for installing extensions manually.

Enable spellcheck

  1. Go to https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries/+/main
  2. Find a bdic file for the language you want and click on it. You will see a mostly empty page aside from "X-byte binary file".
  3. On the bottom right corner, click "txt". The direct link for en-US-10-1.bdic is: https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries/+/main/en-US-10-1.bdic?format=TEXT
  4. This is a base64-encoded file that needs to be decoded. Use the button below to select the .txt file you saved and save/move the resulting bdic file to your Dictionaries directory. Default locations:
    • Linux: ~/.config/chromium/Dictionaries/
    • Mac: ~/Library/Application Support/Chromium/Dictionaries/
    • Windows: %LOCALAPPDATA%\Chromium\User Data\Dictionaries\
  5. Toggle spell check in chrome://settings/languages, or restart the browser for the dictionaries to take effect.

Check out the FAQ on the wiki for information on other common topics.


The table of contents for the FAQ:

  • Why do I have to login to websites every time I open ungoogled-chromium?
  • Can I install extensions or themes from the Chrome Webstore?
    • Downloading the CRX file
    • Installing the CRX file
  • Will extensions auto-update?
  • Do plugins work?
  • Why are there URLs with the qjz9zk domain in them? Why use domain substitution?
  • Does domain substitution break the HSTS preload list?
  • Why is Safe Browsing disabled?
  • Why can’t I change settings because of a message like “This setting is managed by your administrator” or “This setting is disabled on managed browsers”
  • How do I install Widevine CDM?
    • Linux
    • Windows
    • macOS
  • How do I get the Namespace Sandbox to work on Linux?
  • How to get FIDO U2F security keys to work in Google sign in?
  • Why is my microphone not working?
  • How do I fix the spell checker?
  • How do I enable Chromecasting?
  • How do I fix WebRTC?
  • I have a problem building ungoogled-chromium

@grahamperrin
Copy link
Author

grahamperrin commented May 15, 2025

Installing packages with the installer for FreeBSD – May 2025

Some packages will require configuration, post-installation. For the KDE Plasma example:

service dbus enable && service sddm enable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment