How to choose a Linux distribution
So what is the issue?
Not too long ago our friend Linus went through what he called the "Linux daily driver challenge" where he and his co host Luke installed Linux on their personal computers for a month. This was a way of celebrating the Windows 11 release and throughout the series highlighted the pitfalls new Linux users may experience. One of these pitfalls Linus underlies as "the utterly paralyzing number of choices you have to make before you even get started." Lets take a deep dive into why the process is so convoluted and how we can easily make sense of choosing your first (or next) distro.
The Big Three
The first step really is making a choice between the big three that just about every distribution comes from:
Debian
Debian is like that trustworthy old man that had 15 kids with his wife, and then each of their kids had 15 kids...each. With roughly 50-60% of the Linux distro market share, this is definitely the big guy.
The Good
Debian offers a stable platform, only updating after things have been rigorously tested. This means that some of the security or stability issues (like the recent ssh near compromise that could have affected many servers) Debian sidesteps completely.
With the advent of flatpak, snap, and nix packages, Debian can run just about any software that you throw at it these days if you choose to. These are separate ways of installing software, and although you give up some of the stability and security promise that the base Debian system will give you, it allows you to make the decision of how strictly you want to follow Debian's practice.
The Bad
If you have newer hardware, this might be an issue, as sometimes drivers being older can cause issues with some hardware.
Managing snaps, flatpaks, and nix packages means you have to use different methodologies for, say, starting or stopping a snap, which can make things needlessly complicated.
Red Hat Enterprise Linux (RHEL)
RHEL is very much the no-nonsense business man who wears a suit everywhere, even if he doesn't have to. With approximately 20-30% of the Linux distro market share, RHEL is a heavyweight in the enterprise sector and has funded many of the open source projects that we enjoy today.
The Good
RHEL is renowned for its stability, security, and long-term support, making it a favorite among businesses and organizations that require a reliable operating system. It works well as a desktop or a server, but is very much intended to be a work machine.
The support ecosystem for RHEL is extensive, with comprehensive documentation, certified training programs, and professional support services available. This makes it an excellent choice for enterprises needing consistent performance and professional backing.
Selinux and Firewalld are implemented out of the box, these are amazing security tools that will give you the ability to sleep easy knowing your servers are as safe as can be.
The Bad
RHEL's licensing structure has really gained it some negative notoriety in the space. You don't pay for the OS but for a "support subscription." If you don't pay, you cant even download updates or packages, and because of that Rocky Linux or Alma Linux may be the best way to move forward if you want to learn RHEL. Rock and Alma are bit for bit copies of RHEL, however they drop the branding so that you can use them for free.
Much like Debian based distros, its focus on stability and enterprise features might not always include the latest software versions and bleeding-edge technologies. This can be a drawback for those needing or wanting the most current software.
Arch Linux
Arch Linux is the mad scientist, always pushing the boundaries and building the path forward. While only accounting for about 5-10% of the Linux distro market share, Arch has a passionate and dedicated user base. Just about everything you can think of has been documented on the Arch Wiki some even call it the "Linux Bible."
The Good
Arch is known for its flexibility. It's an operating system that you build yourself, choosing every piece of software that you want giving you only the basic building blocks that you need to customize every detail of your computer. This makes it an amazing learning tool if you want to go through the entire process, and even if you don't it comes with a built in installer now days and there are also third party options like archfi that can help you get started.
Its rolling release model ensures that users always have access to the latest software updates and features. This makes it ideal for enthusiasts who want to stay on the cutting edge of technology.
The AUR (Arch User Repository) also contains user maintained software, back in the day it was one of the easiest ways to get non native linux software that a fellow linux user had built for arch. Nowadays this doesn't hold as much weight because of snaps, flatpaks, and app images, but it is still maintained and may have what you need.
The Arch Wiki is one of the most comprehensive and detailed sources of information in the Linux world, providing users with extensive documentation and guides for just about any task. This makes learning and troubleshooting on Arch a rewarding experience. Hell, I use this documentation for Debian or RHEL based distros as well, it's an absolute gem.
The Bad
Arch's DIY approach can be daunting for newcomers or those who prefer a more out-of-the-box experience. The installation process and system maintenance require a good understanding of Linux fundamentals, which can be a steep learning curve for some.
Because Arch is always on the cutting edge, it can occasionally suffer from stability issues or incompatibilities with certain software or hardware. Users need to be proactive in managing their systems and resolving any issues that arise. Things just break sometimes and you have to be ready for that.
Cosmetics
Great news, if you've made it this far, everything else is just cosmetic. Now we are going to get into the GUI experience for the operating system. This choice will dictate how we move around the operating system and what it looks like. Time for another quick choice here:
Window Manager or Desktop Environment
Any Desktop Environment or Window Manager can be installed onto any distribution even if it doesn't come with it out of the box. Usually you have the option for a minimal install anyways, but just know that aside from you base operating system (Debian, RHEL, and Arch) these things are interchangable and can be run alongside each other.
If you want something that works out of the box, you are looking for a Destkop environment.
Desktop environments come in a variety of flavors but all of them can be customized to look great.
Window Managers are another great option geared toward power users. If the arch philosophy spoke to you, this probably will too. Window managers allow you to use keyboard shortcuts to access whatever you want and employ "virtual desktops" to make navigation seemless and quick. They do require you to configure everything from the ground up, including your display manager (basically your login screen,) notification daemon, and a whole host of other things you may take for granted (like a battery life indicator.) If this is your first time with linux I hightly recommend starting with a desktop environment.
If you want to dabble with a Window Manager, or don't know which desktop environment you want, remember, you can install multiple side by side so that you can hop between them from your login page.
Desktop Environments
Let's take a look at some of the common DE's available and what they look like. If you want to find more you can check out r/unixporn for some more expertly hand-crafted GUI experiences.
Hopefully the big take away from looking at these is just how flexible any of these options are. You can truly make your window manager or desktop environment look like anything you want, on any distribution you choose.
Gnome
Gnome is one of the most widely used desktop environments. It's known for its simplicity, modern design, and ease of use. GNOME aims to provide a clean and intuitive user experience. It is simple to navigate and offers extenstions if you want to customize its look and feel.
KDE Plasma
KDE Plasma is a highly customizable and feature-rich desktop environment. It offers a sleek and modern interface with powerful tools and applications. It offers a windows-esque look out of the box, but it comes with many packages that all share it's focus on customizability and interoperability.
Xfce
Xfce is a lightweight desktop environment designed for speed and efficiency. It provides a classic desktop experience with low resource usage, making it ideal for older hardware. It may sound like something that wouldn't be very pretty, if that was your assumption, prepare to be surprised.
Cinnamon
Cinnamon is a desktop environment that provides a traditional desktop layout with modern features. It is developed by the Linux Mint team and is known for its ease of use and elegance.
Window Managers
Another great option, offering a minimalistic experience. Here are some more of the beautiful entries submitted to r/unixporn.
i3
i3 is a tiling window manager designed for efficiency and simplicity. It automatically arranges windows in a grid, making use of screen space without overlapping windows.
Awesome Window Manager
Awesome is a highly configurable, dynamic tiling window manager. It is designed for power users who want to fine-tune their environment.
DWM
dwm (Dynamic Window Manager) is a minimalistic tiling window manager written in C. It is known for its simplicity and small codebase.
bspwm
bspwm (Binary Space Partitioning Window Manager) is a tiling window manager that uses a binary space partitioning scheme to manage windows.
Sway
Sway is a tiling window manager and Wayland compositor. It is designed to be a drop-in replacement for i3, but for Wayland instead of X11.
Some Recommendations
Hopefully, at this point we know a few things. What should the distro I choose be based on (Arch, Debian, or RHEL) for my use case.
Do I want to use a desktop environment or a window manager.
As long as we have that information we are good to go. No, really. Everything else is just a customization on top of that distribution. Does Debian seem to check all the boxes? Great we can move forward with any Debian based distributions. A couple of recommendations:
The Debian Lineup
- Debian - Stable, has stood the test of time, but has some quarks (why do I have to add sbin to path every time) though they are absolutely worth navigating to get where you're going. This is the one I have to recommend first, truly amazing.
- Linux Mint - great for beginners especially those coming from windows, things just work.
- Pop! OS - Could have a better name, but implements drivers well out of the box, saving us gamers some time.
- Ubuntu - Sane defaults and a solid framework that leans on snaps to make things integrate well.
Arch Based Distros
- Arch - The godfather, this is the true option if you're looking for the untamed arch experience and I absolutely cannot recommend it enough.
- Garuda - A killer gaming distro with many different looks out of the box.
- EndeavourOS - If you just want to skip the installer but largely leave arch untouched this is a great way to do so.
- Manjaro - One of the elders, has been around for quite some time and offers a great, relatively stable experience.
RHEL Flavors
- RHEL - It's hard to recommend because of the subscription service, but if you are looking to learn sign up for a Red Hat Developers License to try it out for free.
- Alma Linux - A great way to get the full RHEL experience if you don't want to deal with subscriptions
- Rocky Linux - Another RHEL based box, honestly interchangeable with Alma.
Continued Reading
There you have it, everything else from here on is just looks and customization. Stick around for videos and articles detailing in depth how to get things working the way you want, Linux can truly do anything you want. Virtual machines, routing, gaming, and hosting all sorts of other services. If this sounds like something you're interested in, stop by again soon and take a look around!