best way to learn is to dive in start with mint'pop,bazzite,fedora kintonite, or anduin as a good starting distro and just start expiermenting
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
You don't need a high level of technical skill. You can learn everything you need to get started in a few minutes of tutorials or walk throughs. The rest you learn as you go.
Bear in mind no every linux user has memorized every terminal command and the whole file structure. Lots of people are just casual users who learn what they need.
One of the things I wish someone had told me at the start of using linux is that initially your desktop environment will effect how you feel about linux more than the distribution or specific architecture of the OS.
The good news is they're all free. Try a few things and see what you like. IMO Fedora is a great, beginner friendly Gnome or KDE experience. Mint has an excellent Cinnamon and XFCE desktop either of which will feel somewhat familiar to a windows user. Mint will also run on just about anything.
Also, it's not binary. You can dual boot. If there's something you need windows for you can use it. Over time you'll eventually find that you don't really need windows anymore.
Linux is way easier than it was even 10 years ago and many games run better on Linux than they do on Windows. There’s gaming distros but I’m not sure what the benefit is other than the built-in NVIDIA drivers. I just game on Fedora. You need to enable Proton stuff in the settings and you’re off.
linux mint was super easy for me to install and i haven't had to do too much troubleshooting outside of the ui :)
and i can still play most steam games (check protondb.com to see if a game works good)
One thing I'll say is that for a lot of distros these days you shouldn't really need to use the terminal much if ever. That being said don't be scared of the terminal. It's just another way to tell the computer what to do. It takes some learning but if you want to learn things with the terminal you might eventually find it easier/faster than using the mouse for some things. Go through some tutorials and you'll probably find out that the terminal is not that actually all that scary.
Most distros allow you to try them out before you install them. You can run them from a USB stick to let you try a few out before you settle on one. You won't be able to install any programs this way but you'll at least be able to get an idea of the interface and see if there are any you like more than others. Even still you can dual boot your PC with Windows + Linux and switch back and forth whenever you need. It's not an all or nothing ordeal. I still have windows 10 on my machine but I rarely use it now.
Gaming on Linux is better than it's ever been thanks to Steam coming with proton out of the box. protondb.com is your friend for figuring out what games you can run. That being said there are occasionally some rough edges that I have run into personally. I can run most games I want just fine but occasionally I have some issues. I'm just telling you this so you know it's not like a flawless experience. Then again I've also spent plenty of time trying to get games running on my windows PC in the past too so...
My recommendation for a first Linux OS is Ubuntu because in general it's the most popular and has the most support.
Best of luck!
Adding on to this.
If you don't know what a command does you can read the manual running the "man" command. Run "man" followed by the command you want to read about. It also works for some system files too!
Also if you fix something like a driver issue for a game that took a lot of research. WRITE IT DOWN. It WILL come in handy in the future.
This is the book that got me on the train. I have so many tech books but they all started with this. I'm a terminal afficianado now; this got me started. Anyway, good luck and I hope you have a good time.
https://www.amazon.com/Beginning-Unix-Paul-Love/dp/0764579940
I'd say try Kubuntu. It's like Ubuntu but with KDE (Windows-like user interface) instead of GNOME (shitty Mac clone turned tablet like interface). It's well-supported and is easy to use. Also supports new technologies like HDR which Mint is lacking. Though you can install KDE on pretty much any distro (Mint included) but it's a good starting place.
Note to fellow Linux veterans: Yes, I know snaps suck but it is not something new users need concearn themselves with. Kubuntu is a great distro except for snaps which aren't going to affect OP's use-case (or most use-cases. Also sorry for shitting on GNOME so much. If you like it that's cool, I just don't think we should be recomending it to people coming from Windows.
- As others have said, it's possible to play most steam games, but not all. You have to decide if you like those games more than you dislike MS and Goo. I find there's so many great games out there that I'll never get to all of them, so I'm ok with dropping some bangers that usually want too much access to my system.
- Here's a useful resource if you need to understand slightly technical linux foundations https://linuxjourney.com/ It might not be necessary but it does help to have a foundational understanding, and honestly, the command line is awesome, powerful, and one of my favorite things about linux. Beyond having a basic understanding (and maybe having one of the books the site recommends on hand), before going to an LLM as others have suggested, have official sources of various components bookmarked and go there first. There's so much BS out there now, I actually like the fact that I can read technical documentation, test it out, and know if it's true.
one other tip: I'd recommend some kind of personal knowledge management (PKM) system to take notes. Linux gives you a lot of freedom-- that's what's great about it-- it can be complex and have a learning curve at times. It's absolutely worth it though. It's a totally different paradigm than windows. After a while you can really start crafting the whole system to your needs as an individual. I'm 3 years in and was using my first setup that whole time, i didn't realize how customized I had made it until trying to set it up exactly on a new workstation. Now I'm writing a script so to automate my setup (os settings, program installs, configs) by running a single command. Then I can really start experimenting.
Everybody's different and with a little basic knowledge, everyone's setup can be tweaked to their individual needs a little better than other "user friendly/polished" operating systems. I hope you find as much joy and freedom in it as I do.
you say PKM as if it's a specific thing beyond a notepad and an insane dude's scrawlings. I am intrigued. what does your PKM look like?
That's a big question, but I'll try my best to answer without getting too deep in the weeds.
I'll probably sound like a fanatic, but I use my PKMS for notes, logs, journaling, project and task management, snippets, and documentation. They all have their own structure and flow. It's a Gall's Law kind of situation where I started simple and it worked, so it was extended and slowly evolved to reach it's current complexity.
The beauty of PKMS over a notepad is the loose set of basic features (Wiki-links, tags, templates, etc) that be used in a personalized way to quickly capture, organize, and retrieve info that works best for you and no one else.
As a simple, but detailed example, in the context of learning linux, i might make a "linux" note and dump info there. I put everything in my own words unless I use md quotes (> quoted text
) and I add useful links that I also bookmarked in my browser.
When the "linux" page gets bloated, I migrate clusters of info into new notes, wiki-linked in the "linux" note. For example a "distros," note which might have some high level comparisons. I favor making new notes over md headers so it's easier to find and open notes by name (a "quick switcher" hotkey as it's called in obsidian).
When I settle on a distro I might make a note for it to contain wiki-links of default components EG "apt (package manager)," "gnome (desktop environment)," "x (windowing system)" and dump relevant notes there.
If I try wayland, I'd make a "wayland" note but also a "windowing system" note that both wiki-links "x (window system)" and "wayland," and is wiki-linked in each of those notes.
It could get very meticulous, and some folks setup is too much for me, and I'm sure mine is too much for others, but start simple, experiment, find what works, and add to it. In the beginning I had dedicated time just to developing my PKMS. The important thing is quickly recording and retrieving info.
Sometime i do have crazy scrawlings where i just need a notepad to dump info during a deep dive. That would be loosely zettelkasten style with a time-stamped name, sometime with a few extra works for context/search. Sections could be extracted into their own note later. The note itself could be linked to more organized, related notes.
As a more complex, but shorter example, to show how similar tools can be used in a different manner: I'll make a note for a command line program, for example, cat. I have a CLI template with a Useful Flags (options) section. Kind of like a personalized tldr. I'll also have specific notes for complex snippets (AKA one-liners. Real note example: "list-and-sum-all-audio-file-durations") and if it uses cat, i'll tag it #cmd/cat
. The CLI template also has a Snippets section that uses dataview to automatically list, in this case, all notes with the #cmd/cat
tag. I also have a "command line programs" note that uses a dataview query to list all notes that used the CLI template. Also, a Snippets note using dataview to list all pages created with the snippets template.
There are tools specifically for snippets and personalized tldr, and I may migrate to those eventually-- especially after I have my install script up and running with linked configs-- but the simple tools in PKMSs are really adaptable and make it easy to customize and integrate. Plus it's all md files in a folder, so it's easy to sync and access on multiple machines, including mobile.
I hope that's not TMI. Starting linux can feel overwhelming and I don't want to add to that. Quiet the contrary. I started my PKMS right before my last, permanent switch linux and I think it helped it stick, and 3+ years later I still use [my PKMS] all the time. As I said before, the simple tools that turn a notepad into a PKMS can add a personalized structure to the insane scrawings, making it quick and easy to navigate, find, edit, and add info. You just have to start simple and take your time. I hope that helps. Good luck with the switch!
What I'll say is, I've got no comp sci degree, and when I started, I had no idea how the terminal worked. But... My mindset was the following:
- I really don't like windows, I'm not going back
- I don't like paying others to "do it for me", I want to do it myself
- I want the freedom to be able to change anything to make the machine fit me, even if that means I need to learn things along the way.
If you're the type of person where this general philosophy, you're going to crush it.
But if you're more along the lines of "I just use this computer as a tool to do the things I want, I just need the computer out of the way, and working consistently so I can get on with my actual goals", you probably will hate it. Becuase all your troubleshooting experiences will be "why doesn't this thing just work, like it does on Windows?"
These folks are all giving great advice but also let us know when you're ready to really fuck around and have fun with your Linux superpowers 😀
You, in practically no time at all: "Nearly everything is working great! Now I want to make my desktop change it's background to NASA's picture of the day while also putting all my PC's status monitors on there. Oh! And I want my PC to back itself up every hour over the network automatically with the ability to restore files I deleted last week. I've got KDE Connect on my phone and it's awesome!"
Then, later: "I bought a Raspberry Pi and I want to turn it into a home theater streaming system and emulation station."
...and later: "What docker images do you guys recommend? I want to setup some home automation. What do you guys think of Pi-hole?"
"I've got four Raspberry Pis doing various things in my home and I'm thinking about getting Banana Pi board to be my router. OpenWRT or full Linux on it? What do you guys think?"
...and even later: "I taught myself Python..." 🤣
There's tons of youtube videos / tutorials on how to create a live usb of a distro, such as linux mint. This will allow you to boot into linux and play around without installing anything and get a feel for linux. It's nowhere as tech wizardry as you think.
And if all your games are on steam and don't have anti cheat things, they'll probably just all work with proton (linux compatibility tool in steam).
If you want real gaming performance then arch all the way with archinstall. Trust, it's insanely good and you can get double of what you get on windows in terms of performance. Boot times are also insane. I have used so many distros and I can tell you that arch is king for performance.
He said he's not a tech wizard. Arch, even with archinstall, asks you to be at least an apprentice tech wizard.
I agree. Arch has been my current favorite distribution for several years now, but it's almost impossible to maintain without having to drop into the shell occasionally. I have EndeavourOS installed on my wife's laptop and she's been happily using it for nearly a year; bauh helps with software installs, but I still generally drop into a shell for the full -Syu
upgrades, and you have to use the shell at least once just to install bauh as it's not a core package.
You might be able to avoid the shell to use bauh if you use the AppImage; I haven't tried that. bauh can apparently do system upgrades, but I haven't tried that yet and I need to see how it handles news; Arch is fairly cavalier about pushing out breaking changes that require extra user steps which need to be discovered by reading the news posts.
I agree that Arch isn't the best "first linux" distribution.