Considering Starting Linux

https://ttrpg.network/post/3917660

Considering Starting Linux - The TTRPG network

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.

I should add that I’ve been interested in getting a small, portable notebook for coding separate of this, and making it Linux seemed a good idea at the same time.

Generic answer for this is to get a refurbished corporate laptop. At least in here we have several companies which buy previously leased computers and give them a refurb (new hard drive, good cleaning, things like that) and sell them for pretty good price.

W, T or X series Thinkpads are pretty safe options, my T495 was 300€(ish) on sale. L and carbon are something I’d avoid, L (at least few years back) weren’t built as well as T-series and X1 carbon doesn’t have options to expand/swap out ram.

Contrary to what most people here are saying, I would highly recommend getting a Linux-first / Linux-friendly hardware at first instance, if possible. If not, that’s fine, you could just go for any random off-the-shelf PC, BUT you run the risk of certain things not working or perhaps not fully optimised. For instance, for laptops, one common issue is standby/sleep mode not working properly - either you may experience battery drain during sleep, or things like the graphics or audio might break after resume (or worse, might even crash). Or you may experience higher battery drain in general compared to Windows, or certain things like some Fn keys may not work, etc. Certain sensors not working is another common issue, which may cause your fans to run at 100%. And if your system has an nVidia card, there’s a good chance you may run into issues - if not during installation, perhaps after a system (kernel) upgrade.

The general rule of thumb for buying Linux-friendly hw is: avoid nVidia. Both Intel and AMD onboard graphics are fine (for the most part - at least, they have a better track record than nVidia anyways).

There are PC/laptops which come with Linux support out-of-the box. I call these Linux-first machines. Examples of such machines include System76, Star Labs, Slimbook Fedora, Tuxedo, Purism… to name a few. There are also laptops from HP and Dell which come with Linux, such as the HP Dev One and Dell XPS Developer Edition. You can’t go wrong with any of these machines, as they’re Linux-first machines and have been tested by the OEM.

Then there are Linux-friendly laptops - these are laptops which may not necessarily come with Linux, but have been either confirmed by the OEM in some capacity that they’re Linux compatible, or they’re widely supported by the community due to their Linux-friendlyness and popularity. Examples of these include the Framework laptops and Lenovo’s ThinkPad series. You generally can’t go wrong with these either.

Finally for other machines, your compatibility can be a hit-or-a-miss. Some laptops may work fine, but might need some extra configuration steps to get it all working - eg Microsoft’s Surface laptops need a special kernel to be installed (and some additional steps to be followed, depending on your distro). If Linux-first/friendly laptops aren’t an option for you, you could go for something random, but you’ll need to do your research (Google/reddit search etc) and see what their compatibility is like, whether everything works, if there’s any issues etc. In fact, this would apply for most of your hardware purchases going forward. Eg, say you’re buying a printer or some external webcam, you should check for it’s Linux compatibility first before buying it.

This is probably the most helpful advice I think I’ve gotten so far. Thank you, I’ll look into these options.

I’d say don’t use debian because GNOME environment feels restrictive. No window snapping was my biggest turn off.

I use Fedora - KDE which is really comfortable to me. Others have said Mint Cinnamon is a good one to start with.

Whichever OS you choose, when you install it, for the love of God, plug in a network cable so you can use internet on the thing as it installs. This will save you much trouble during set up.

Not using Debian because gnome seems silly to me. Why not just install plasma if that’s what you want?

If your budget stretches to a new laptop, framework make laptops (light weight or serious game machines) that come with Linux installed.

If you have no budget some second hand high end Chromebooks can be converted to mainstream Linux (video)

The other comments suggesting old ThinkPads are fine, but they’re heavier than I like to carry

37C3 - Turning Chromebooks into regular laptops

YouTube
I also recommend getting a refurbished ThinkPads for their excellent Linux support, especially newer models like the X1 Carbon. No need to worry about such and such hardware not working on Linux. Avoid models with Nvidia GPU for less maintenance headache.
You should really edit your post with what your budget is and what your requirements are if you want anything other than brand recommendations.
Pinebook Pro is rather nice, though it is low powered and some tasks will feel slow on it.
If you want to go low budget and play around there’s lots of SBCs that can run Linux. Check here for example : www.armbian.com There’s also ones that come as light weight keyboard, for example the pi400 Easy to carry around and put into a HDMI monitor. A drawback is that when using ARM there is some software which only runs on amd64 family. Other option is to look at refurbished laptops. If you skip the chromebook ones (Which can be cumbersome to run plain Linux on unless you want to play with Linux and Android on top of ChromeOS) you can find them for 90 Euros or more.
Welcome - Armbian

Get the latest Armbian news, updates, and tips — straight to your inbox! Generic / UEFI ARM64 RISC-V Intel / AMD * Suitable for hardware that supports UEFI boot mode. Ever wonder who the great people are that make Armbian what it is? Check out the project authors page to learn more about them!

Armbian - Linux for ARM development boards
It wasn’t that hard for me to flash a Chromebook with Linux using this guide
How to convert a generic Chromebook to Linux OS

You can perform this on many chromebook not just sunsetted ones that are no longer taking updates from google. A big exception is ARM based...

iFixit
Sure, but just like with flashing custom ROMs on phones, people may break their Chromebook and not get help with it and be stuck. For a Linux beginner a good first and smooth experience may be the best start.

You can essentially use any hardware. If you already have an old pc or laptop, you can (probably) use that. If you get a new one, the only major recommendation for usage with linux is: don’t get something with a nvidia graphics card.

And where to begin: Probably some linux distro like Linux Mint or Pop_OS. They‘re reasonably beginner friendly. But, if you have some more specific questions (or need more help finding hardware or don‘t know what a distro is), feel free to ask.

You don’t even need any hardware to get started. Fire up a virtual machine in VirtualBox or VMWare or use WSL. Start playing around, find a distro/DE you like and start learning.

After some time, look into dual booting your existing machine. You can try this in a virtual machine first before making any changes to you hardware.

You don’t get the same experience installing on low end hardware or in a VM though

I didn’t properly get hooked until I bit the bullet and just installed it bare metal on a higher end laptop and gaming PC

Worth noting that you don’t necessarily need new hardware, you can install Linux on your currently Windows PC in either a dual boot configuration (both OS installed) or replace Windows. You can also run Linux in a virtual machine to test the waters.

For a decent, x86_64 PC for Linux, the Steam Deck is ironically a pretty good deal for what you get. The Deck will run VSCode just fine, maybe just add a monitor and keyboard/mouse.

Linux can be pretty lightweight, it runs beautifully on my cheapo netbook from a couple years ago: WinBook CW140. I’ve done a good chunk of professional web work on that thing. The Deck beats it in every way, but it does web dev perfectly fine.

I second the VM approach. You can mess around, try different distros and generally just get a feel for the whole thing. If you want a dedicated machine, any old box will do. A cheap mini PC or whatever you have lying around. One of the great aspects of Linux is that a lot of old hardware that may look obsolete suddenly gets a new lease on life.
I sold my laptop and used my Steam Deck exclusively as my PC for a month before I collected all the parts for my new PC. If you’re going to use it for gaming then it makes an excellent multiple use device.

The beauty of Linux is that it’ll run on almost anything. I recommend second-hand office desktops for your use-case, you might find a good deal and get peripherals with it. If you somehow manage to come across GPUs at your price bracket, avoid Nvidia; poor drivers, support, corporate hostility etc.

My first distro recommendation is going to be a bit different from the usual, purely based on my experiences with other popular go-to distros. I’d recommend you try Fedora KDE, Fedora is a wonderful distro that always makes you feel welcome. KDE is a lot less resource demanding than Gnome, and is the desktop that ships with the steam deck. Personally I don’t like Gnome since it’s a bit Fischer-Price my first DE for me, but I encourage you to try everything.

I’m using the Budgie DE by the way, it’s a good middleground between Gnome and KDE. Fedora provides “Spins” for all major desktops.

If you’re feeling brave I’d like to quickly mention a version of Fedora called Fedora Kionite, it’s whats poorly named an “immutable” distro (Atomic is a better name but don’t worry over that right now). Very basically these distros restrict access to the core, or base, system files; which massively improves security and reliability. I use Fedora Onyx which is immutable with the Budgie DE, Kionite is KDE. Immutability is very new in the pseudo-mainstream and very much in it’s infancy, so it will annoy you at times if you choose this path. But it has massive benefits and, I think, is the future of the Linux desktop.

I’m assuming this is your absolute first adventure into the FOSS world, which I know is probably wrong since you’re on Lemmy, but I’m also still going to mention you should use the Firefox web browser as you said you were doing JavaScript. Firefox is the absolute most popular browser on Linux and has amazing developer features.

We’re all eager to help budding penguins on their journey, so feel free to message me directly anytime for support or make posts right here.

Even a smol potato like the Orange pi zero 3 (which -still- has zero linux support) can run Linux, so don’t worry about it.

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.

… there are a LOT of possible linux distributions to choose from. There are also quite a number of different desktop environments to choose from.

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.

But literally any PC that’s within your budget. OK maybe that’s not true, there might still be some crap WiFi cards out there with weird firmware that don’t support Linux very well. Find an older name-brand PC within your budget. Before buying it Google “[make and model] Linux WiFi” and see whether there’s tons of complaints about the WiFi. If not, go ahead and get it, put Ubuntu or Linux Mint on there, start banging out JavaScript projects, profit.

Hardware wise, you'll be hard pressed to find any even half-way popular computer that can't run some form of Linux. So I'd say just get something that's within your budget. Those x86 APU-based "mini pcs" that you can find for ~$200 are becoming pretty popular for projects these days. Something like a Raspberry Pi or Orange Pi or whatever might also be fine depending on what you want to do with it, just keep your power expectations in check. If you want to spend more money on something with graphics hardware, I'd recommend going for AMD over NVidia, just because the drivers are built into the kernel and essentially no-hassle.

When it comes to software, especially if you're on x86, just arbitrarily pick one of the reasonably popular distros like Ubuntu, Fedora, PopOS, or any of the other ones you've probably heard of. One of the first things to learn about "Linux" is that there's a whole ecosystem of software projects behind it, and there is a lot of overlap between the software that each distro runs. Yes, there are some meaningful differences between, for example, Ubuntu and Fedora, but I think they are much less meaningful to a noobie (who is just learning the basics of Linux) or an expert (who probably knows enough to bend and customize just about any distro into whatever they want).

Another thing to consider is just using what you already have. For example, playing around with Linux in a virtual machine, setting up a Linux-based server on one of the popular VPS services, or just plugging your Steam Deck into a dock with a keyboard and monitor attached and playing with something like distrobox (which you can probably find a guide on how to set that up for your deck).

I recently bought a used LG Gram to install Arch on after a few years of not having Linux…so recently did similar research, albeit with more Linux knowledge. I do NOT recommend Arch as a first distro unless you are willing to put in time for troubleshooting. That said, looking up a model of laptop you are considering + Linux in a search engine can be valuable in determining how much ease you will have getting basic (trackpad, Bluetooth, webcam, WiFi) items working. I dabbled with a CD distro as a gateway to Linux and the “live disk” option is still the best way to experiment. Nowadays it is on a USB stick. This method allows you to play around without actually installing. Others here have already given good advice. If you go the USB stick route, do be careful with anything related to disk partitioning and formatting. I accidentally wiped my dad’s hard drive once when I was not being careful!
I hope that people aren’t seriously recommending Arch. You should at least start with Linux mint and honestly you can just stick with it.
I haven’t seen Arch recommended to new folks outside of the Arch community circles and even most of them express caution. I always recommend Ubuntu or one of its variants for a person starting out, but it does help for the person to try a bunch of distros to see what they prefer. When I was starting out everyone was recommending Debian or Fedora. The more user-friendly distros didn’t come out until much later. Since then even the mainstream distros have improved a ton concerning usability, though I will say documentation always leans a bit too technical for my taste…for Arch especially. Too many holes for people that have no experience.

Tbh, I don’t recommend beginners to try out multiple distros in the beginning. Realistically, if you don’t have in depth Linux knowledge already, all you’ll be able to differentiate is the look of the DE and the wallpaper.

I find, too much choice tends to confuse beginners more than it helps them.

So I’d rather recommend something simple like Ubuntu and let them try out the flavours with the different DEs.

Choice is better for later when people actually understand what they are looking for.

I would say this probably varies by person. I learned a lot by using multiple distros. When I put the dots together that yum, apt-get, and (later) pacman do the same thing, that was a huge ah-ha. Sometimes seeing the differences in how they work in command line especially helps you understand larger concepts. If you stick with one distro (like I did for too long) you may have trouble comprehending these concepts for longer. Some beginners may find choice overwhelming, yes, but I do think it can be useful having exposure to two or three distros out the gate…even if just on live USB.

Most people I helped getting Linux to work are actually not techy at all and they haven’t touched the CLI at all so far…

I guess it differs if you use Linux because you are interested in the technology or if you use it because Windows 11 doesn’t run on your PC.

Sometimes people unironically recommend Arch to newbs because “you’ll learn so much about Linux while installing it”.
Linux from scratch was my third Linux, after RedHat, and Debian. That seemed a reasonable point in an interested person’s Linux journey to try a difficult “learning” system
You should be aware that fur suits are pretty expensive.
You can make your own for just moderately expensive

Try NixOS. Snowflake is a good start.

Having a mutable Distro may be better suited than immutable. Containers are annoying.

But having a system that does what it is supposed to do, and if you remove a package its gone and if you add one its there is a big thing.

Did you seriously recommend nixos to a person who never use linux?

Yes. If you are new, no reason why you should use “sudo apt install xyz”.

NixOS has a GUI setup, a GUI package manager etc.

Never recommend any random “supposedly working” Distro. It will break some day, get cluttered with useless files, have broken dependencies or whatever. I broke every Distro before.

I am on Fedora Kinoite now, which I consider a good Distro for most people especially beginners (the ublue variants). I guess layering all the development stuff could work. Using Containers for everything does not work well with IDEs, you need to run these in the container too…

So in the end for someone that wants to code I would not use any random traditional Distro as in my experience all break. But a real immutable distro might also not fit if you need to layer so much.

So why not NixOS? Its very easy to setup and you need to learn everything new anyways.

As I NixOS user, I will definitely not recommend beginners to use this distro. It’s just a poorly documented, not user-friendly Linux.

I use it because I really hate .config and dotfiles, like why do I need to edit several files for just one thing?

Overwhelming someone who’s learning something new will increase their chance of giving up. Not only they have to learn how to use Linux in general, now they’ll have to learn about nixos declarative configuration model on top of that. When they eventually get stuck with some issue (which is normal when learning something new), there are less resource to help them on the internet because they’re using a niche distro.

This happens on Ubuntu too. Just that there the best tip will be “try reinstalling the system”, because traditional distros are so unmanaged, that they pile up unused files and packages over time, and simply random things happen.

Believe me, I broke Ubuntu, Linux Mint, Manjaro, Fedora. MXLinux was so old that I my Nextcloud was not compatible. I was a beginner and every Distro sucked.

If i would have just learned any of the managed Distro models (rpm-ostree, A/B root, transactional-update, NixOS, …) I wouldnt have needed to switch

Distrohopping makes no sense, you should try Desktops but the Distro should just work.

Sudo apt… is not the problem. Home-manager and a list of packages are so much better and easier to manage. That’s why I’m currently running nix on top of Debian.

The problems start when you want to modify something, or when you want to use tools that expect fhs complience. Then you run into a skill mountain and discover that the documentation is not great.

At least that’s my experience with guixos and nix. I haven’t tried nixos, and if I do, it’ll be only to generate docker images and such.

For a workstation, in most cases, there are simply not enough benefits to deal with the bs that comes with a declarative os.

Install Debian, and if you’ve got a reasonable powerful computer, install NixOS in a virtual machine. Then, when it breaks and you get frustrated, you aren’t down to zero OSes.
I would never recommend installing Debian. Everything is soo manual. Fedora has the way better user experience with everything preconfigured.
Ah. You haven’t tried installing it since 1902.
Nothing exists before 1970-01-01. This is the *nix epoch!
I literally upgraded 6 PCs to Debian 12 and it was a pain in the ass
I’m honestly baffled

They dont even have a “sudo apt system-upgrade”, while this is a fully automateable process.

I needed to follow some random blogpost because I could not find any official (big advertized) documentation.

I agree, one friend installed Debian because he saw that everyone recommended it, but he couldn’t understand how to make VirtualBox work, even less when I explained the reason to him. He ended up returning to Windows because of more issues and he didn’t like troubleshooting as much as I do lol

I’d say Linux Mint is pretty good too, Debian alone may be harder for new people who wants a system that just works out of the box.

In this thread: a bunch of people making it more complicated than it needs to be.

Grab an old laptop, grab a user oriented distro that has a live-USB boot option. Play and learn.

Live USB options that should be user friend enough. Choose at random – because you like their logo or whatever.

pendrivelinux.com/put-mandriva-2010-on-a-usb-flas…

en.opensuse.org/SDB:Live_USB_stick

ubuntuforums.org/showthread.php?t=2230389

…readthedocs.io/…/burn.html

Create a Live OpenMandriva USB (Windows) ▷ Pendrive Linux

Make a Live Mandriva USB Flash Drive from Windows using YUMI. Create a Bootable USB that can be used to try out OpenMandriva Live on USB

Pen Drive Linux

Debian + Gnome. The debian wiki is full of great documentation. If you prefer watching, there’s so many great (and not-so-great) courses on YouTube. I personally found tutoriaLinux’s series helpful. Please understand that is merelyy what helped me at that point in my journey not necessarily the best tutorial series for you or anyone else.

My biggest tip is, regardless of the teacher or the lesson: follow along. Learn by doing, not by watching someone else doing. If you find yourself thinking anything like “couldn’t I have done this” or “but what would happen if I changed this parameter”: Do It. Try it out. Seee what happens.

Coincidentally, my second biggest tip is: use a test environment to do anything that you don’t fully understand. Even if it’s only a new folder with a bunch of empty files to practice file manipulation commands, it’s way better than losing your important files. Anything that affects software configuration should be backed up first, anything that affects the OS should be tested in a VM

The Linux Basics Course: Beginner to Sysadmin, Step by Step

YouTube
Linux Mint and any computer of your choice.
Second this. I only have Windows on dual boot because I need office for work. Mint just works.

Ebay, T470, T480, T490. $200-300. Good laptops with great Linux compatibility. Cheap and reliable.

For your distro, Linux Mint. The stock, normal edition right on the website. Cinnamon desktop edition.

Simple and reliable, and very windows-like.

etcher.balena.io is good and simple software to create a bootable USB.

Use the Mint .iso as the file, burn to the USB stick of your choice.

balenaEtcher - Flash OS images to SD cards & USB drives

A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers around the world.

haven’t heard much good things about the t490

Only issues I’ve heard with the T490 is with models that have the Nvidia MX mobile gpu.

Most of that is old news. TLP for power management, and just don’t get the Nvidia model honestly, integrated Intel graphics are plenty for basic uses like coding and light browsing.