It is not easy to recommend a distro (i.e. a combination of stuff including Linux).
There are maany factors, and balancing between them is the only way to get the right distro
After having tried a lot of them, these are the main factors I would think of, when looking for the right one for you.
1. Desktop Environment
expand
The software that you use should be the same on every distro. But the desktop environments that you use to interact with the PC are less or more supported, or even available.
Generally, KDE Plasma and GNOME are the best, most modern, biggest communities, quickest maintenance, most features etc.
Some distros have specific support for an environment. GNOME had the reputation of being more stable than KDE Plasma, but this improved a lot. Due to this reason (and because GNOME is simpler) many distros have GNOME as "main variant"
- Ubuntu
- Fedora
- RedHat Enterprise Linux, CentOS Stream, AlmaLinux
There are distros with KDE Plasma as main too
- Manjaro
- OpenSUSE (kinda)
- TuxedoOS (Ubuntu based)
- SteamOS
- Bazzite, Nobara (Fedora based)
KDE and GNOME are generally well supported on all bigger distros. Other desktops might differ. Fedora has a Cinnamon variant, but Linux Mint likely has better integration, presets etc.
So as a beginner, decide between GNOME and KDE, they are both nice but different.
| GNOME | KDE Plasma |
|
|
|
|
|
|
2. Release cadence
expand
This is a big difference. On Windows you have each software release on it's own, and the desktop and OS being extremely stable, barely releasing any changes.
On Linux, traditionally you install your software from the same repositories as your kernel, core tools and desktop environment.
Quick Updates
So if you want up-to-date software, you often need to choose a distro with fast or rolling releases. These typically have a shorter support span, so version upgrades every 6 months or year are common.
Downsides are potentially more bugs, as the software you use is newer and less tested. But if bugs are fixed, you get those fixes faster too! You get way quicker features and many security updates not arriving in "stable/stale" distros.
Examples:
- Arch
- NixOS unstable
- OpenSUSE Tumbleweed
- Gentoo
- Debian testing
Semi-fast:
- Ubuntu
- Fedora
- OpenSUSE Slowroll
Slow, "Stable" Updates
If you prefer stability and reliable software (so that you dont need to update often, or change scripts or tools if software changes features), you should use something with long support and slow upgrades.
Note that stability is not natural to most software. Most is released when it is ready and shipped.
- Only very few projects release on tight schedules (like GNOME, Firefox, Thunderbird).
- Way fewer developers "backport" all security fixes to old versions. This means they apply only the security changes to older versions, while leaving out feature changes (which could break compatibility). The issue is that most devs dont care, dont introduce these random version freezes (Debian, RHEL, Ubuntu LTS often use different versions too). So you have potentially broken software until there is a distro upgrade
Examples:
- Debian stable
- Ubuntu LTS
- OpenSUSE Leap
- RHEL, AlmaLinux, CentOS Stream
3. Project Size And Structure
expand
Size
The Project size often implicates 2 things
- Bigger projects (Ubuntu, Debian, Fedora, Arch, OpenSUSE, Gentoo, NixOS) have the most software support. This becomes less relevant through technologies like Flatpak (a unified packaging format for all distros)
- Smaller projects (while nearly always being based on bigger ones) will add more quality-of-life changes, cool features and innovations. Take Nobara, CachyOS, Garuda, Pop!_OS or Bazzite, which have more or less fundamental improvements for gaming (more or less at the cost of stability). Bigger projects are mostly more conservative, with a focus on stability.
Structure
Most Linux Distros come from a "community". This is fundamentally different from Windows, MacOS, ChromeOS or Android.
But there are also corporations:
- RedHat does their stable distro RHEL.
- The "upstream" (the newer stuff that is not as tested and arrives later in RHEL) is CentOS Stream, which technically is already a community project, together with Oracle, AlmaLinux and RockyLinux contributors.
- The upstream of that is Fedora, which is a known, free and up-to-date "community" distro. But also Fedora is built and maintained in part by RedHat employees, so this is a mix.
Other examples
- Canonical - Ubuntu
- SUSE - OpenSUSE, SUSE enterprise Linux
- System76 - Pop!_OS
- ZorinOS, EndlessOS: payment models
The projects differ in how you interact with developers, contributors and how people in the community help each other. The "communty" is not as simple, as often the developers communicate in some Matrix, IRC or even mailing lists, and users might interact with them through bug reports. Meanwhile, forums are often users helping other users.
4. Software Modifications and Additions
expand
Distros differ in how the projects modify the software they ship, and if they add additional stuff on top.
Some may focus on fast updates and little modifications, like Fedora, Arch or others.
Others like Ubuntu might add a completely custom theme, font, iconset and other extensions (they do that to the main Ubuntu variant, but Kubuntu, Xubuntu, Lubuntu are also all customized).
Some distros might change software, like Fedora or Debian who only ship free software. Debian also modified Firefox in the past, to remove antifeatures, which resulted in a ban to use the name, they used "Icecat" instead.
The Linux Desktop is only somewhat standardized through organizations like Freedesktop.org, who host
- (flatpak](https://flatpak.org/), a technology to ship apps to all distros, while also using an Android-like sandboxing system.
- portals that allow applications to access system components while asking users
- Wayland, a display and input/output technology that all modern desktops and toolkits use
Examples of differences
- Fedora and Ubuntu use different tools for power management.
- Most distros use systemd, a component that does a lot of useful things nowadays, but is criticised for being too centralized. Very few do not use it, at the cost of doing many things nonstandard, missing features and requiring more experienced users.
- Ubuntu uses Snap for their packages, most other distros use Flatpaks. All distros have their own native packages, but there are a ton of different ways to do those.
5. Deployment Model
expand
This describes how you get the stuff.
Installation
Distros are mostly installed in the same way, you flash a .iso to a pendrive, run a graphical installer, select between more or less options, and get the thing.
Some may not have a GUI installer but a terminal based one. Many advanced distros like Arch, Gentoo or NixOS (which also has a GUI though) direct you to a wiki, where you learn the steps you need to setup the system you want.
This is a great learning opportunity, but without guidance it is easy to break things. So not recommended for beginners, for the main system.
Software installs and updates.
Keywords:
- learning curve
- stability over time
Unlike Windows, these are nearly all done through package managers. Do not go in the browser and get random installers. These might exist, and there is an abomination called "Appimage" that pretends that this is fine, but dont.
There is the mentioned release cadence, but also how the software is placed and managed on the system. Most distros are "chaotic" and imperative.
You write
sudo apt install libreoffice
And the package manager searches the repo, gets the files and places them somewhere. Over time, "state" builds up, which describes the amount of custom stuff that differentiates your system from what Ubuntu would present you.
This graph from this master thesis describes this process, called "Divergent".

You enter that command, and the package manager not only installs Libreoffice but a ton of more stuff.
There are many tools that try to tackle this resulting "chaos", that would make you panic if your PC break down, or you needed to setup that system on 10 different laptops. The most common one is Ansible, and it is described as "Convergent". The system is a chaos, but the more you configure and "fixate" you through Ansible, the easier it gets to reproduce.
There is a wave of new "immutable" distros, that try to solve this issue:
Oh when you open the app it crashes?
Well, it works on my machine...
They do that by either preventing you to change the core system at all, or making it pretty tedious to do so.
This model somewhat works, and with Flatpak, Homebrew and other fun stuff you can get most stuff working normally, while not worrying about the base system not being able to upgrade, or crash if you open the wrong app (hyperbolic).
Systems like NixOS are deterministic instead of imperative. To install software, you write down what you want into a file, and the management tool reads it, checks it for errors and builds the system that way.
Coming from regular chaotic distros and then an "immutable" distro (Fedora Kinoite and uBlue Aurora), this is honestly pretty great. This is "congruent" as the graph describes.
While the learning curve might be a little bigger (I will make a repo soon to make it easier, and there are a bunch of nerds willing to help), your system complexity grows steadily, and all is configured in a single – or a few – files. You can taks these and recreate your system anywhere, so you see a bunch of NixOS configs on Github and elsewhere. If your PC breaks, and you have your data, it takes a few minutes and you have your system back!
Conclusions
Done! So these are the points you need to keep in mind when choosing a distro. Do not just go to distrowatch of other random places and install what is hyped the most.
Examples for logical fallacies of "this distro is the best for beginners"
- Ubuntu has a big community, good software support and is easy to install. But personally I had maany issues with it over time and upgrading it. They also to biased choices and modifications. Their snap store is not what everyone else uses (but they have flatpak support).
- Fedora also has a big community (and a nice one!), an easy installation and stays with standards more. Their model of "immutable" (i.e. managed) systems is among the best. Meanwhile the traditional variants usinf the dnf package manager are a total mess. I had many extremely complicated and undocumented issues when upgrading and having issues. Also, if you want a congruent, long-time-stable system, it is kinda annoying.
- NixOS is unconventional and may be more difficult to setup. Their community is big though, and they produce a ton of guides every day! They have a bunch of packages, support flatpak, all (?) Desktop environments and much more.
So personally, if you want a very cool distro that might take some learning to setup, but is extremely rewarding and... organized to maintain, I recommend NixOS!
I will upload my configs soon, stay tuned.
Good thing I use sudo-rs or run0
I am not brave enough to ditch sudo yet, should do that. TTY to root always works, just use a strong password. No sudo, su and other suid binaries needed