How to pick a Linux Distro

Home About Codeberg

In brief:

Many people who first become interested in Linux first learn that they have a variety of Linux distributions or distros to choose from. Many begin shopping around for a distro that suits them best, which means visiting a website like DistroWatch.com, looking at the various screen shots, and picking one that looks nice. But you should really not choose a distro based on how it looks. Any Linux distro can be made to look like any other distro without too much effort, what you see in the screen shots is just the default look. Really, the the screen shots should be the least of your concerns.

What is a distro?

A distro is a service that distributes Linux OS, and Linux apps, to you over the web. (In the old days they used to distribute installation CDs or DVDs as well, not so much nowadays.) So a distro is a web service, a distro is not just an operating system in and of itself.

So how do you choose a distro? Well, you should choose the one with the best web service, and the best apps. But really you can choose any of 4 (or more) really big Linux distros which all provide completely reliable service, which satisfy the following requirements:

These are the things you should consider when choosing a Linux distro, not whether or not it looks nice. What makes a Linux distro look nice is the desktop environment (DE). Each distro has it's own default DE, and hopefully the software maintainers have spent some time making their default DE look nice. But you can install any DE onto any Linux distro, you can make it look however you want. You can even install multiple DEs side-by-side and switch between them without even rebooting your computer (just logout and login again) and it will feel like you are using an entirely different computer.

Don't stress it, don't over-think it

This may seem like a lot to consider, but fortunately, there are really 4 main Linux distros that are sure to satisfy all of the above requirements for you, and all 4 you can use freely, without signing up for anything, without paying a subscription:

So choosing one of the above 4 Linux distros, and you really cannot go wrong. You will be able to install without any problems (most likely), you will notice all of your peripherals (WiFi, BlueTooth, camera, track pad, touchscreen, graphics card) will all work properly. You will be able to install apps from the app repository, and get regular security updates.

What about Manjaro, Endeavour, Garuda, or Arch?

Also known as rolling release distros...

These are all excellent distros that also satisfy all of my requirements for a good, reliable Linux distro. However I hesitate to recommend them to beginners. They are all based on the Arch Linux distribution, which uses a software distribution model known as a rolling release. The goal of a rolling release is to always provide the most up-to-date, cutting-edge software.

Apps on Linux are developed by many different groups of people around the world, and as soon as any single one of their apps are updated by the developers, the updates are pushed out to users. End users (you) you may find many software components are updated every day. As a result, it is incumbent on you, the end user, to regularly (meaning every day) install software updates from the distro's web service. This can be done automatically, of course, but people with irregular Internet connectivity, or people who get tired of accepting daily updates and decide to manually install update only after some weeks, may find that parts of their computer software inexplicably broken one day after a software update runs.

One of the hardest engineering problems to solve in computer software is keeping a collection of inter-dependent software on your computer system up-to-date as various separate groups of software developers around the world all update their own applications. The 4 big Linux distros I mentioned above (Fedora, Ubuntu, Pop!_OS, Mint) use a cyclical release schedule, meaning at regular intervals (usually 6 months) all software updates from around the world that have been made during that time period are gathered together, and the most critical pieces of software are more rigorously tested to ensure everything works together properly, then they mint a new release, with a new version number.

Ubuntu names each release after an animal, and they also provide long term support (LTS) releases which are guaranteed to function, and will have regular security upgrades, continuously for 2 years without having to update after 6 months. This is one big reason why Ubuntu is one of the most trusted Linux distros, the quality of their software is as good as it gets. I would venture to say that Ubuntu and it's derivatives (Mint, Pop!_OS) are of even higher quality than for-profit operating systems like Microsoft Windows or Mac OS.

What about Nix OS, or Guix OS?

Unless you are a software engineer, don't even try these. These are rolling release distros, but they use novel, cutting edge algorithms for solving some of the problems I alluded to in the previous section in making sure all software in an operating system are using the latest version of software packages, and that all interdependent software components are working together properly.

You could call the Nix and Guix software package repositories a form of expert system, which by 1980s standards would be considered a form of artificial intelligence. Although nowadays no one thinks of expert systems as AI (the definition of intelligence is always changing), still it is a highly advanced algorithm for building software. Unfortunately, most software nowadays, especially the Python and JavaScript ecosystems, are not well equipped to facilitate declarative package management, and Python and JavaScript are among the world's most often used programming languages. Therefore I think it is safe to say, the world is not yet ready for Nix and Guix, these distros are ahead of their time.

For the curious, I have a separate article on Nix, Guix, and declarative package management.