"Help me choose my first distro" and other questions for beginners
You're about to take your first steps in the wonderful world of Linux, but you're overwhelmed by the amount of choices? Welcome to this (I hope) very simple guide :)
The aim of this guide is to provide simple, clear information to ease your transition as a beginner. This is not a be-all-end-all guide nor an advanced guide.
Preamble
Make sure your hardware is compatible
Nowadays most relatively recent hardware works perfectly fine on Linux, but there are some edge cases still. If you don't use niche hardware and your wifi card is supported, chances are you're golden. Please note that nVidia is a bad faith player in the Linux world, so if you have a GeForce GPU, expect some trouble.
Make sure your favourite apps are either available or have a good replacement on Linux
If some proprietary app is essential to your workflow and is irreplaceable, consider running it in a VM, keeping a Windows partition for it or try and run it through Wine (this is advanced stuff though).
Be aware that Linux is not Windows/MacOS
Things work differently, and this is normal. You will probably struggle at the beginning while adjusting to a new paradigm. You may have to troubleshoot some things. You may break some things in the process. You will probably get frustrated at some point or another. It's okay. You're learning something new, and it can be hard to shed old habits forged by years on another system.
What are the best resources out there?
Arch Wiki without a doubt. Despite being heavily tied to Arch, most of its content is readily usable to troubleshoot most modern distros, as the building blocks (Kernel, systemd, core system apps, XOrg/Wayland, your DE of choice etc.) are the same.
Okay, now to the most important questions
Which distro should I use?
There are a metric fuckload (or 1.112 imperial fucktons) of distros out there, but these can be broadly put into two main categories: general-purpose distros and niche-distros. I advise you to keep it as mainstream as possible for your first steps. A distro with a large user base, backed by a large community of maintainers and aimed at being as fuss-free as possible is always better than a one-person effort tailored to a specific use-case.
Beginner distros
These are great distros for beginners as well as more advanced users who just want to have a system that needs almost no configuration out of the box, just works and stays out of the way.
Fedora Workstation: Clean, sensible, modern and very up to date and should work out of the box for most hardware. Despite the community's rightful backlash against Red Hat, this is still a great distro for beginners and advanced users. Even Linus Torvalds himself favors Fedora as a daily driver. Fedora is the flagship distro for the Gnome Desktop Environment.
Linux Mint: While I haven't used it myself, there is a lot of praise here for this Ubuntu derivative from beginners and advanced users alike. Its main goals are ease of use and being the flagship distro for the Cinnamon DE, which is very similar to Windows and may ease the transition for new users.
Pop!_OS: Backed by hardware Linux vendor System76, this Ubuntu derivative shares some of the issues with its infamous parent, but its heavily modified Gnome DE looks and feels nice.
I do not recommend Ubuntu nor Manjaro: despite being marketed as "beginner friendly distros", and despite often running perfectly fine, these two have major issues in management, packaging policies or philosophy that might make your life as a beginner difficult. Ubuntu suffers from it's parent company's goal to make Ubuntu kinda-Linux-but-not-really, and there are some great derivatives like the ones cited above that work equally well but revert some of the most controversial decisions made by Canonical. Manjaro might seem appealing as a "beginner-friendly" Arch derivative and some of its tools are fantastic to remove some configuration burden, but ongoing mismanagement issues and the fact that it needs regular maintenance as updates often break stuff prevent it from being a truly beginner distro.
Advanced distros
So you've taken your first steps, you're starting to be really comfortable with Linux, and you want to get your hands dirty and really learn what's happening under the surface? These should not be installed as your first distro, unless you like extremely steep learning curves and being overwhelmed.
Debian: as one of the oldest, still maintained distros and the granddaddy of probably half of the distros out there, Debian is built like a tank. A very stringent policy of focusing on bug and security fixes over new features makes Debian extremely stable and predictable, but it can also feel a bit outdated. Still a rock-solid experience, with a lot to tinker with despite very sensible defaults. It is an incredible learning tool and is as "Standard Linux" as can be.
Arch: The opposite of Debian in philosophy, packages often come to Arch almost as soon as the source code is released. Expect a lot of manual installation and configuration, daily updates, and regularly fixing stuff. An incredible learning tool too, that will make you intimate with the inner workings of Linux.
Which Desktop Environment should I use?
This is entirely up to you, and depends on your preferences.
Gnome: Full featured yet very minimalist, Gnome is a great DE that eschews the traditional Desktop metaphor. Like MacOS, out of the box, it provides the strongly opinionated developers' vision of a user experience. Fortunately, unlike MacOS, there are thousands of extensions to tweak and extend the looks and behaviour of the DE. Dash-to-dock or Dash-to-panel are great if you want a more MacOS-like or Windows-like experience, Blur My Shell is great if you love blurry transparent things, Appindicator is a must, and everything else is up to you. Gnome's development cycle is highly regular and all core components and apps follow the same release schedule, which explains why a lot of distros choose it as their default DE.
KDE Plasma: Full featured and maximalist, Plasma does not cater to a single design philosophy, is very flexible and can be tweaked almost ad infinitum. This may be an advantage for people who like to spend hours making the perfect environment, or a disadvantage as the possibilities can be overwhelming, and the added complexity may compromise stability, bugginess or completeness. There is no single development cycle for core components and apps, which makes it a bit more difficult for distro maintainers.
Cinnamon: If you want the most "windows-like" experience out of the box, Cinnamon is great. As I have no experience with it, I'll let the Mint users praise it in the comments :D
Lightweight DEs for old or underpowered machines: The likes of XFCE, LXDE, LXQt are great if you want to ressurect an old machine, but lack the bells and whistles of the aforementioned DEs.
Philosophical questions, or "I heard conflicting stuff over the Internet and now I'm scared"
You've done your research, you're almost ready to take the plunge, you even read a lot of stuff on this very community, but people seem very passionately for or against stuff. What should you do?
Shoud I learn the command line?
Yes, eventually. To be honest, nowadays a lot of things can be configured on the fly graphically, through your DE's settings. But sometimes, it's much more efficient to work on the command line, and sometimes it's the only way to fix something. It's not that difficult, and you can be reasonably productive by understanding just about a dozen very simple commands.
I have a very old laptop/desktop, should I use a distro from this era?
Noooo!. Contrary to Windows and MacOS which only work correctly on period-correct computers, Linux runs perfectly well on any hardware from the last 20 to 30 years. You will not gain performance by using an old distro, but you will gain hundreds of critical security flaws that have been since corrected. If you need to squeeze performance out of an old computer, use a lightweight graphical environment or repurpose it as a headless home server.
Should I be concerned about systemd?
No. In short, systemd is fine and all major distros have switched to systemd years ago. Even the extremely cautious people behind Debian have used systemd as default since 2015. Not wanting to use systemd is a niche more rooted in philosophical rather than practical or technical reasons, and leads to much deeper issues than you should concern yourself with as a beginner. (Thanks @GravitySpoiled@lemmy.ml for the precisions)
Should I be concerned about XOrg/Wayland?
Yes and No, but mostly No. First off, most distros install both Wayland and XOrg by default, so if one is not satisfying to you, try the other. Remember in the preamble when I said nVidia was a bad actor? Well, most of people's complaints about Wayland are because of nVidia and their shitty drivers, so GeForce users should stay on XOrg for now. But like it or not, XOrg is dead and unmaintained, and Wayland is the present and future. XOrg did too many things, carried too many features from the 80's and 90's and its codebase is a barely maintainable mess. Wayland solves that by being just a simple display protocol with a much smaller codebase, and offloading feature development to the compositors.
Should I look for a gaming-focused distro?
No. General purpose distros are perfectly fine for gaming. You can install Steam, Lutris, Heroic, Itch etc. and use Proton just fine on almost anything. Even Debian. In short, yes, you can game on Linux, there are great tutorials on the internet.
Should I be concerned about Flatpaks and/or Snaps?
Not really. Flatpaks are great, and more and more developers package their apps directly in Flatpak format. As a rule of thumb, for user facing applications, if your app store gives you the choice between Flatpak and your native package manager version, choose the most recent version. Snaps however are a Canonical/Ubuntu thing, so as long as you avoid Ubuntu, its spins and its derivatives that still include Snaps, you should be fine. They tend to take a lot longer to startup than regular apps or Flatpaks, the snap store is proprietary, centralized and Canonical controls every part of it. If you're fine with that, have fun. (Thanks @GravitySpoiled@lemmy.ml for the precisions)
Should I follow The Way?
Yes. One does not speak unless one knows. You can take your helmet off in public tho.
Feel free to help correct, expand, or simplify this guide :)
I've updated my post with "I heard conflicting stuff over the Internet and now I'm scared" and an introduction. Those are legitimate questions for people who, like me, do a lot of research before committing to something. Some of the discussions here and in other communities might scare people off, as they might feel they've done the "wrong" choice or are afraid to do the "wrong" choice.
You mention Arch before other distros and never even explain what a distros is (e.g. 'a flavor of Linux with a choice of preinstalled software').
Then you say that it's a beginners and not an advanced tutorial, but mention advanced distros.
Also your reasons for the beginner distros are not well written:
Fedora mentions "rightful backlash against the company"
Linux Mint "I haven't used"
Pop OS "shares some issues"
Why take one of them? They all sound difficult or weird. (to a newby reader)
Then the part about Ubuntu and Manjaro which is longer than the 3 distros you recommend. This has major "Linux fanboy bashing other Linux fanboys" vibes.
The rest I really liked, maybe replace "this era" with "its era".
I am always amused by how "Linux newbie" guides are consistently tons of pages of choice paralysis and esoteric concepts but they all take a stop at "well, the UI looks kinda like Windows on this one, so that will probably help".
Look, I'm not particularly new to Linux, but also don't daily drive it. In my experience the UI is not the problem. Ever. Compatibility and setup are the problem. Every Linux distro I've ever seen is perfectly usable, nitpicks aside. The part that will make a newcomer bounce off is configuration. Especially if they're trying to mess with relatively unusual hardware like laptops driven by proprietary software, with MUX switched GPUs and whatnot. Only people deep into the ecosystem care about the minutia of the UI and the package management.
There are daily threads started by new users who say stuff like "I read that systemd is bad, should I switch to [insert systemd-less distro here]" or "My RTX 4080 runs Sim City 2000 at 12 FPS, is Linux trash?", so there seems to be a need to at least help alleviate the fears of people who read conflicting stuff (or downright flamewars) on the internet and might be overwhelmed by those conflicts.
I'd agree that can be an issue, but my guess is that trying to resolve those preemptively just adds to the perception of flamewars and drama around the platform. I'm a big proponent of not bringing stuff up to newcomers unless it's very directly in their way.
Ultimately a new user moving to a new OS needs two things: for everything that used to work for them to still work AND for at least one thing that didn't use to work to work better.
A useful guide for newcomers should drive to making those two things true, IMO. Sitting there choosing the nicest looking UI is a great passtime for tinkerers, but newcomers need exactly one option: the one that works. They can get to the fun customization later.
To me at the moment this reads less like a welcoming introduction to a exciting new alternative and more like a cautionary tale of why I shouldn't try. Oh, so my Nvidia hardware is a no-go, most of my apps may not work, I have to choose from a bunch of stuff that all looks the same to me and apparently there is a crapton of drama about things I have never heard about or understand, but that people seem to have very strong opinions about. Well, I guess my old printer no longer being supported on Win11 is not that big of a deal...
I'm not trying to be mean or anything, I'm saying this constructively. Experts have a tendency to underestimate how lost newcomers can get and to misunderstand what the real roadblocks and churn points are. I'm trying to provide a perspective on those.
Despite snaps and Canonical's BS, Ubuntu is the best distro for beginners because it "just works" in a way other distros do not. You are doing new users a disservice by telling them to avoid it.
(Note: I personally dislike Ubuntu. This isn't about fanboyism; this is about giving credit where it's due.)
Same about Manjaro, it's probably the most beginner-friendly Arch distro. Arch is inherently not beginner-friendly, of course any distro that attempts to make it more so will have to change a couple of things. It's a pity some people can't see beyond keeping Arch "pure".
I've actually had pretty bad experiences with Manjaro. No. 1, it cones with a lot of "apps" that aren't obvious in what they do, and package management on Arch and Arch-based distros is very very not obvious to beginners (Syu? What does Syu mean. Wait, you mean I'm updating my whole system every time I want to install something? Where's GNOME Software? Etc)
I've ran my gaming pc on Manjaro for about 2 years. There were too many issues to list here, but the one huge problem for me for new users is updates.
You have to wait for the semi-regular "stable update" post, check the major issues and act accordingly. This shouldn't happen in a "beginner friendly" distro. I mean, those posts are great, but all other majors distros update without intervention.
Also, I always updated from the tty as there's a weird "never update inside Gnome" policy.
I don't get the hate for Ubuntu, it just works. For those who don't care what setup in their system. Especially those who are coming from Windows or MacOS its a good stepping stone.
Any beginner guide that advises against Ubuntu does disservice to beginners. It's doing the opposite of helping beginners get into Linux. Ubuntu is still the easiest on-ramp to Linux today by far, despite anyone's feelings about Canonical. Avoiding it harms Linux adoption.
You can use the bangs !arch or !aw to search the arch wiki, e.g. !aw kde.
I don't think dash to dock is a must have extensiom. The workflow of GNOME is different to other opersting systems. That's why GNOME boots into overview and not the desktop. The overview is there to launch an app or switch to it graphically. When you boot the system the first thing would be to go into overview to launch an app, hence it boots directly into overview. Removing dash from overview defeats the purpose of it.
But "hot bottom" is important otherwise you have to move the mouse into the upper left corner in order to move the mouse to the bottom to launch an app which is nuts.
I don't like the philosophy of "if they do it, it's safe". But I couldn't explain it in one sentence either. Not only debian but all big distros have systemd. Not having systemd is such a nieche that you shouldn't bother with it as a beginner.
Snaps. You don't provide info why snaps are bad. The snap store is centralized and canonical controls every part of it. Moreover, I've never read that snaps are reproducible. Flatpaks are technically reproducible. And we all want and need reproducible builds because then we don't have to trust but know that it's the original and published source code.
Am I the only person that just uses the Super/Windows key to navigate GNOME. Super to open up the global search and dock, Super again quickly to open up the full app menu, and Super again to go back. Or just press Super and type name of the app you want to run
On the matter of Ubuntu I think the issues with the OS need to be clarified. From the positive perspective, it is easy to use and just works. From the negative side, it's become more and more bespoke over time. The Snaps being proprietary and a lot of work in the terminal to activate functions enjoyed out-of-the-box by almost all other distros is very unfriendly. And, I would suggest there are numerous other distros that "just work" but without Ubuntu's baggage. Mint, Pop_OS!, and Fedora are all easy to install, setup, and use. Even KDE's Neon is dirt simple to install and use and offers a great KDE experience, if you like that.
That said, however, I believe that Mint is the best distro for new users, though Fedora and Pop are close behind.
I strongly recommend Mint Cinnamon for those coming from Windows. It just works and feels similar, though it's not a perfect comparison and will require you to explore things a little bit. Even so, you should be able to run most things without the command line or worrying about how the OS and file system are structured
Did something similar with my aunt. She bought this laptop that had Windows 10 installed on a hard disk. Right click the Start menu to open the Properties dialog, go make a sandwich, you'll have half the sandwich eaten before the right click menu opens.
I added a SATA SSD and a stick of RAM, and a copy of Mint Cinnamon. She took right to it, especially when I showed her how the software manager worked and that it's very similar to the Play Store on her Samsung tablet.
Reminded her a lot of the WinXP and Win7 desktops she used to have.
I like that you are nuanced about 99% of the information provided, but you dogmaticaly say that snaps are bad lmao. At least provide an explanation for your opinion. It just looks like you were tired at that point or something.
Avoid Ubuntu and Manjaro: despite being marketed as “beginner friendly distros”, and despite often running perfectly fine, these two have major issues in management, packaging policies or philosophy that might make your life as a beginner difficult.
That makes no sense. Manjaro is actually one of the few distros where a beginner won't need to touch the terminal ever. You won't have to deal with adding PPAs or removing snaps like in several debian/ubuntu based distros.
I find it to be quite inaccurate depending on who you are. As a beginner, it's fine, but for me, for example, the distro I'm looking for is Arch-meets-NixOS. All the packages I need, with the packages being easy to install, avoiding compiling wherever possible, NOT immutable, and having a Stable release, with a 6-month release cycle.
Perhaps it's important to point towards resources where new users can check compatibility; like e.g. linux-hardware.org. Or even better ones that I'm unaware of.
I strongly object to this, having used neither on stock GNOME for the majority of my time on Linux. These extensions make GNOME different from intended and not necessarily better, and while beneficial to some are hardly must-haves.
This is pretty useful information as someone that has used Linux off and on (still essentially a beginner). I'd like a bit more elaboration on why it is that Snaps is bad though, as I'm currently using Kubuntu and I haven't found anything seemingly wrong with it on my end.
From what I hear, it just makes things slower, and it's proprietary. Basically exactly what OP said. It also makes a ton of loop devices, so if you're working with them yourself it's kind of annoying.
There isn't anything wrong. Many of the things that "common crowd wisdom" in the Linux community says are bad are just drama. They get into their own heads about something and lash out at anything that's different.
This is a great write up. Thanks for this. I may daily drive Fedora as a result of reading it. I recently installed it on an old laptop when I was looking for the lightest distro that comes with gnome by default. I took a liking to it immediately and I now feel validated knowing Torvalds himself is a fan :)
would recommend linking the phrase “a fuckload of distros” to DistroWatch – give newcomers a heads-up on just how deep that particular rabbit hole goes …
I love how this expansive, barely-biased summary - which is WAY above-bar, to be clear - is followed up by everyone's "this is my favourite distro and you should run it too" even if it's completely badly-matched.
Mint Cinnamon user praising it in the comments, on the case!
I switched to Linux in the earlier days of Windows 8.1. Mint was the second distro I tried out after Ubuntu Unity, and it's still my daily driver ten years later. Cinnamon felt more familiar to me An XP-Vista-7 veteran, than Win 8.1 and 10. Mint feels like someone sat down and designed the whole thing, rather than slapping layer after layer of new crap on top of the same code from the late 90's.
Out of the box Mint is very usable, the customization I do to it is stuff like change the wallpaper and default color scheme.
The Cinnamon team just gets me. They make software for people like me.
As a complete noob who installed Mint about two weeks ago, I have Thoughts™. This is a good start, I think., and I'm really glad to see it, but it still makes some assumptions and misses a couple of things I came across that I think would be helpful.
I'll try to find some time tomorrow to pull together some edits and suggestions to share, rather than a bunch of comments here.
I use KDE Neon, but highly recommend Linux Mint for new users. I'm not in the computer industry, yet I have tried a lot of distros over the past ~15 years. Out of all of them, Linux Mint had the easiest setup by far. The drivers worked without difficulty, the installation was intuitive, the Timeshift app helped me undo any problems I created while tweaking the system, and https://forums.linuxmint.com/ is quite helpful. Compare this with KDE Neon, that had me using a second computer for hours to figure out how to get my specific wifi card drivers working. Now that I have had enough time to learn about Linux and troubleshooting, I prefer KDE Neon for the desktop environment, but Linux Mint really is so easy. Again, I highly recommend it.
What are the best resources out there?
Arch Wiki without a doubt
Doubt! The Gentoo Handbook is one of the best, if not the best documentation out there. It's especially useful for beginners because it doesn't just offer code snippets to copy/paste, but explains background knowledge and how things work.
Thank you for this. After windows pissed me the fuck off on my pc last week, I have made a pledge to back up important stuff, wipe all my drives and try using Linux during the winter break. If I like it and get used to it, I'll do the same for my laptop.
I do have a couple of questions, however:
How compatible is Linux with games? I am talking about launchers like Steam, Uplay (or whatever it's called now), and Epic games. Will I be able to play all, most, or only a small number of games in my library?
How is it with... cough cough, wink wink, the big seas games, if you know what I am talking about.
Next, I am currently working on semestral work for C# with winforms. Given the name, I am unsure if I will be able to code that in Linux.
Lastly, I wonder about what IDEs I'll be able to use in Linux. Are there some that are strictly incompatible with Linux? When I finish my project in one, can I compile it for use in Windows? My professors use it, so I never had to think about it.
Sorry if these are stupid questions. I am VERY new to these kinds of things.
There are a lot of tutorials out there to game on Linux, so I won't go into details but in general: Steam has a native Linux client, and if you enable Proton for all games, you can play pretty much anything in your library as long as it's not a multiplayer game with invasive spyware anti-cheat. For the other storefronts, Heroic is available as a Flatpak and replaces a lot of them. I haven't sailed the high seas in a while so I can't help you with that, but I'm pretty sure there are other communities and people in the know and ready to help ;)
C# development can be accomplished through Mono, the FOSS implementation of the .net compilation and runtime environment. This is where my knowledge ends as I'm definitely not a .net developer :D
All major IDEs run on Linux, be it VSCode/VSCodium, IntelliJ and all other JetBrains products, Eclipse, NetBeans (do these still exist?), great text editors like Atom/Pulsar or Sublime etc.