I have been using Windows my entire life, but since I got my Steam Deck I’ve been considering trying to get into Linux.
I obviously don’t have much of an idea where to begin, other than that I’m currently also trying to learn Javascript. I’d like a basic workstation I can code on and mess with, that doesn’t run more than a couple hundred. Could use some recommendations for hardware plus where to begin.
Something thing to keep in mind when getting started is to manage your expectations. You’ve spent all this time using Windows so you already know where everything is – for Windows. In a lot of respects you are going to be starting over from scratch, learning new ways to install software, get around the desktop, and doing simple things like changing your settings. Don’t get discouraged, you’ve done this before, you can do it again.
One way to cope with the initial frustration is to start out loading up something like VirtualBox on your Windows desktop, and installing a linux distribution there. Then you can play around, take your time to find a desktop that’s right for you, and learn how to actually DO things in linux that you already do daily in Windows. That way you eliminate the pressure of trying to figure out how to do everything at once.
Another reason to start with a virtual machine is that there are a LOT of possible linux distributions to choose from. There are also quite a number of different desktop environments to choose from. It pays to take a bit of time and play around with different options to find out what you like. You also need to decide if you want something running the cutting-edge releases, or if you prefer stability with slightly older software. For example, Ubuntu is a good choice for the absolute latest releases but can introduce bugs that the devs refuse to fix. On the other hand, Debian (which is actually the base system that Ubuntu is built on) only releases slightly older software that has been tested over the past few months. However in all cases, you will always get immediate patches for security issues.
As already mentioned, any old computer laying around is a viable candidate for Linux. Until last year I was running internet-facing web servers on 1GB of memory and a single core. If you have something built in the last 20 years it will work for your purposes. Hell my desktop is someone else’s throw-away because under Windows they considered it “too slow to get email or browse the internet”. I use it for writing arduino code and building models for my 3D printer.
I never considered the backend could have different frontends. So is Ubuntu just a different desktop environment for Debian? Or is it like I could just install a different desktop environment on top of my old PC’s Ubuntu installation?
The core of Ubuntu is built on Debian, but the maintainers create a lot of their own packages based on the latest versions of software available. So for example both distributions have a version of Python available, but the one in Ubuntu might be the very latest release while the one in Debian may be several months old because it goes through more testing. I like to compare their usage to the difference between using Ubuntu for a desktop computer (where it’s not the end of the world if something breaks) to using Debian for a server (where you absolutely need rock-solid services that will never fail you). And of course Ubuntu and Debian are not your only choices, there are even other distributions which are based on Debian or Ubuntu, several distributions based on Redhat, and plenty of others which are completely built in other ways. If you really want to learn the nuts and bolts of it, check into the Linux-from-scratch project which walks you through building your own system completely from compiled source code.
Now the desktop environment is a whole different thing, and Linux gives you a lot of choices there too, from very lightweight desktops that could run on a twenty year old computer to much heavier desktops with a ton on features which require more modern hardware. The nice thing about desktop environments is you’re not stuck with just one. You can actually load up several and choose which one to load when you log in to the desktop, then later on dump the ones you don’t like. So the important thing is finding a base OS you like first, then everything on top of that can be changed as you learn more about Linux.
Slackware, Ubuntu, Mint , Debian… They’re called distributions and they’re well… Distrubutors of software. Imagine they’re like different app stores.
Not all software is present in all distros, but the most used ones are. And for everything else, there’s Flatpak, which is sort of a distro-agnostic app store.
So there are several desktop environments (DE) out there, the big ones being GNOME and KDE. And distros will usually pick one as the default but will also offer others.
As an example, Debian doesn’t lean much on its default DE, you’re very much free to pick whatever you want. Mint, on the other hand, will only truly support Cinnamon, even though it packages other DEs.
Another thing is that not all software will be at its latest version on all distros. The stable branch of Debian is favored by server usage because they take a very deliberate approach to updates, making sure what they distribute is rock solid before shipping. The side effect is that packages are often quite a few versions behind the bleeding edge. Rolling releases like OpenSUSE Tumbleweed are always updating, so you’re close to the latest software, but also closer to bugs.
Hope I helped.