FreeBSD as a Desktop OS?

After long hours of experimenting with various GNU/Linux distributions, I decided to return to the place I truly belong – FreeBSD. Whenever I feel tired of all of the inconsistencies in other operating systems, I go back to FreeBSD, as I know it will not let me down. It’s stable, reliable and secure thanks to its Unix heritage. I especially like the fact that whatever I throw at FreeBSD, it never ceases to amaze me. Recently, I managed to compile pyMOL via Clang and get it to run on a non-Linux platform. Apparently, the fixes suggested by me were introduced and pyMOL compiled cleanly. I was simply overjoyed!

Of course, what for me sounds great, might not be so for the average Joe who just wants a stable platform, a tool to do his/her work. To be frank, for that there is PC-BSD (now TrueOS). However, if you’re not daunted by the likes of Arch Linux or Debian and you don’t mind spending some extra time on the initial setup, hear my story! FreeBSD might just be the right OS for you.

freebsd_xfce

First, we have to install the operating system. The ncurses menu of “bsdinstall” might look ugly and off-putting, though it serves its purpose well. One doesn’t even have to manually partition the drives, though I would honestly recommend doing so. Especially, that the two filesystems offered by FreeBSD, UFS or ZFS, harbor features fitting slightly different scenarios. UFS is light and quite reliable, though it doesn’t offer the safe-guarding capabilities of ZFS. I recently started using ZFS as the go-to filesystem for data storage even on GNU/Linux. Although it was originally developed by Sun Microsystems for their SUN platform, FreeBSD can be fully proud of it. It has no equals on servers (except for DragonflyBSD’s HAMMER perhaps).

Next comes package management, which is similarly trivial. “pkg” is the FreeBSD equivalent of Fedora’s “dnf” and Debian/Ubuntu’s “apt”. However, “pkg” is a new kid on the block. In former times one would rely entirely on the Ports Tree to “make” all of the programs from source code. Later, an ncurses menu was added so that each port could be configured for selected features. Although building programs from scratch can be considered fun for only some users, it is important to highlight that the Ports Tree was one of the first distribution paradigms for Unix-like operating systems.

FreeBSD offers the same selection of desktop environments as most GNU/Linux distros and some of them don’t even require in-depth configuration. While a big fan of Openbox, I decided to go with something more streamlined for this analysis, for instance XFCE4. The whole environment can be installed or built from the xfce4 meta-port. In addition, polkit is already configured so that the whiskermenu can be used without setbacks. That being said, FreeBSD does not rely on either dbus or HAL by default so these options have to be enabled in /etc/rc.conf. Once that’s taken care of, the logout, suspend and hibernate options work.

Other than that, it’s rather smooth sailing. On a fairly standard, off-the-shelf ASUS ultrabook almost everything works. Realtek, Atheros, Ralink and Intel wireless chips are rather well supported, thanks to the joint efforts of the BSD community (especially OpenBSD and DragonflyBSD programmers). Thereby, PCI wifi cards or USB dongles are fine. Surprisingly, some work more efficiently than on GNU/Linux. The current limitations I found are the lack of Steam support (though that’s in progress so there IS hope), no fully functional native video chat application and minor issues with non-native filesystems. Currently, ext4, ntfs, exfat and a couple of other filesystems are supported, though only as FUSE modules.

As I mentioned in one of my former entries, FreeBSD has come a long way within the last years and many desktop features are now available. The definite advantage over other operating systems in my opinion is that the desktop features do not taint the original server designation of FreeBSD. They’re more like helpful add-ons to an already great platform. Once the remaining limitations (Steam, video chatting, etc.) are ironed out, FreeBSD will shine as a real alternative to Windows, MacOS X or GNU/Linux.

Advertisements

10 thoughts on “FreeBSD as a Desktop OS?

  1. Thank you for words of encouragement.
    My friends say – an archaic system, which almost no one uses. Linux has wide distribution and complex Freebsd remained on the outside. Yes, there are difficulties with using common media or Internet content, but stability fails. For this I am grateful to the developers of the OS FreeBSD.

    Best regards,
    Volodymyr Goroshko.

    Like

    • I too am grateful to everyone who contributed to the FreeBSD project since its inception some ~23 years ago. Recently, I was running Debian on my desktop, though in the end I realized FreeBSD is a lot more reliable :).

      Like

      • Collectively speaking about the total time spent from the point of the original source’s inception to current BSD in general is older than 23 and older than Linux contrary to popular speculation. Remarks about Linux being older are always far subtler probably due to the fact that it’s a niche thing, but the general Linux community has matured a good bit lately. Anyway, FreeBSD (more prominently BSD) is pretty awesome and the more intuitive user land considerations as of late are incredibly nice to have around.

        Relationally, FreeBSD and others (notably openBSD) are incredibly stable; I use Linux on occasion and often deal with software breakage where I not so often have to remedy compatibility issues in the FreeBSD domain. I definitely appreciate where you are coming from -take care.

        Like

  2. I am using FreeBSD for 10 years on all my servers. I have tried many different Linux distros many times, but again and again I came back to FreeBSD. With ZFS and new pkg tool FreeBSD has become more reliable and more convenient.

    Like

    • I feel FreeBSD has always been reliable, perhaps because of its clean separation between the system and the optional userland. ZFS is definitely an added boon and I see it’s finally becoming a data storage standard that it should have always been :).

      What pains me most about GNU/Linux distributions with scheduled releases is the broken integration. If a distribution offers 2 different desktops as part of the base system, but one of them is independently a developers playground, I don’t see how this can be reliable across release upgrades. Nothing hurts the end-user as much as things breaking randomly.

      Like

  3. XFCE, KDE, GNOME, MATE Desktop-Installer Scripts for FreeBSD
    http://acadix.biz/desktop-installer.php

    Desktop-installer is a post-install script that contains all the necessary knowledge to build a typical desktop system. It automates the process of configuring FreeBSD as a desktop or laptop computer.

    The desktop-installer script installs necessary ports/packages, configures the graphical desktop of your choice (e.g. Gnome, KDE, XFCE, …), and configures services such as printing and remote login.

    Using desktop-installer, a typical desktop system on modern hardware can be fully configured and ready to use in an hour or two. Without desktop-installer, this process could take days or weeks of searching the WEB for information on what software to install and how to edit the system files required to make it all work together.

    Hope this helps make a nice desktop experience for you with FreeBSD!! :>) I wonder if someone has made a desktop-installer script for Mate or Cinnamon desktop. or Maybe TrueOS (former PCBSD) Lumina desktop.

    Comments welcome here, on your desktop-installer script experience? Me? I am posting from Ghost BSD with MATE desktop interface.

    Liked by 2 people

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s