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 @[email protected] 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 @[email protected] 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 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)
Manjaro has a graphical app for installing and upgrading software, as well as one for managing kernel versions and one for drivers. You don’t need to know about the command line options if you don’t want to.
Are those the apps you’re taking about?
Manjaro usually ships two versions depending on the DE you choose, one is minimal which doesn’t even include flatpaks and the other is full which what sounds like you had.
Also you don’t have to be typing pacman -Syu if you use the GUI tools like pamac to update the system, and if you still want to use the terminal instead of type yay which does a pacman -Syu and also updates your aur packages.
Hmm… I may have to try Manjaro again, but the simple fact that there are 2 GUI package managers is not a great sign for total noobs. The main reason I’ve been staying away from it tho is the cert controversy and the arch repo ddos.
There were no arch repo ddos, there were cases where the AUR went down because pamac was searching Aur packages as users were typing package names on it and turns out there were way too many users going into the Aur. It is actually quite sad how much disinformation there is about manjaro that even the manjarno snorlax repo recently corrected a bunch of critism it had about manjaro before being taken down lol.
Also Manjaro only ships pamac with KDE in both versions, no idea if gnome includes their store in their packages. Manjaro also includes already functional and useful versions of window managers like i3 that are already setup, if it wasn’t for it I would have never discovered how useful i3 is because setting i3 from the beginning is very difficult.