AliceOverZero

Rogue Trans Void Witch

  • she/her

To evolve, to flourish.
To let die that which makes you dead.
My short fiction
Tag for my longform posts.


apocryphalmess
@apocryphalmess

So with Microsoft not only making Windows shittier and more intrusive as time goes on ("Microsoft Creates Dedicated Keyboard Key for Copilot AI" etc), but also attempting to force people to upgrade their perfectly functional hardware next year ("Windows 10 support to cease in 2025, posing risk of 240 million PCs as e-waste"), a lot of otherwise non-technical people are looking into alternatives. And Macs are expensive, and have their own forced upgrade cycle as well.

And Linux is free! It'll run on your older PC hardware and nobody can force you to upgrade! There's nothing spying on you or trying to make you use "AI" nonsense! Surely that's appealing? Right?

Well, no. For most people, the very word "Linux" suggests the stereotypical neckbearded computer nerd, the guy who runs an alternative operating system because he thinks he's above other computer users, who uses nothing but a command prompt and posts to Usenet via a VT420 terminal from his couch. It suggests people for whom their PCs are a lifestyle and not a tool.

And those people do exist. But the real reasons that most Linux users made that choice are more understandable: they want to have full (or at least more) control over how their computer works, they want to enhance their information privacy in a world where that's becoming more and more difficult, they want to be able to customize their work/play environment, and they want to avoid generating more e-waste just because some C-level exec wants a larger bonus next year. And those motivations are becoming relevant to more and more people as the other options are getting worse and worse.

I'm not an evangelist for Linux. I have Windows, Mac, and Linux systems at home. But I want people to have the information they need to make informed choices, even if those choices are different from mine. And honestly, speaking as somebody who supported Linux systems professionally until recently, it's difficult for a non-technical user to even consider Linux as an option because there's so little in the way of material that explains what those choices really mean.

So I want to talk about what Linux actually is and what you should know before thinking about it as an option. Windows 10 is going end-of-life in late 2025, and last-minute decisions are always frustrating and scary, so if this is something you want to consider, now's a good time to start. And if Linux doesn't work for you, either because it sounds too annoying to even try, or because you tried it and didn't like it, that's absolutely fine. You get to make those choices.

A very long effortpost lies behind the cut:


What exactly is Linux?

The first thing that we need to talk about is the major difference between Windows and Linux: Windows is a product by a single company, while Linux is a community of software developers. When people talk about "running Linux", they are talking about a wide variety of operating systems that share a common baseline, OSes created by many different groups with different motivations and intentions. Those "Linux distributions" or "distros" collect together all the various kinds of software required to have a useable system.

There's three real parts to a Linux system:

  1. The Linux kernel itself

This is that common baseline. The "kernel" of an operating system is the part that sits at the very bottom, it's the software that talks directly to the hardware, and every other piece of software (like the UI or the applications) talks to the kernel. And the Linux kernel is an open-source project that forms the basis for numerous distributions that build on top of it.

  1. Linux distributions

A distribution is the collection of software that makes the Linux kernel useable. It includes the installer, to get the operating system onto your computer hardware in the first place. It includes the rest of the operating system, such as all the OS services, the initialization system, etc. And most distributions provide a number of different "desktop environments" that can be chosen from (see below), as well as many different applications.

Linux distributions are usually defined by the "package manager" system they use. Package managers are the tools for managing the software on the system, including the kernel, the desktop environment, and the applications; the software is broken up into "packages", easily-transferred files that contain both the software itself and the information needed to manage it. Distros that share a common package management system are likely to be similar under the hood, and can often (but not always) use the same package files.

The package system typically talks to a software repository, or "repo", which is a server (or collection of servers) that provides access to system updates and applications. For many applications under Linux, you don't have to actually download the software yourself, you can just tell the package manager to go find and install it, similar to an app store but non-commercial.

  1. Desktop environments

Some distributions focus on a specific desktop environment, which is the actual day-to-day user interface, developing both the distro and the DE together. Some distros come in multiple "flavors" with different DEs, but are developed and supported by the same team. Others provide multiple options to choose from within the base distribution, to be chosen during installation or even afterwards, often allowing the user to switch between them at login.

Desktop environments provide what we think of as the UI: the appearance of the system, the way applications are launched, the file management tools, the system settings, etc. Two completely different distributions can both provide the same DE and they will work 99% identically on a day-to-day basis. Different DEs have different goals, different development systems, and can be radically different in the way they handle basic tasks, but most of them should be comfortable enough for someone used to Windows or MacOS.

This seems complicated.

It is, to be fair. But it also gives you a huge number of choices, because different distributions are developed with different target audiences, different priorities, etc. The guy who wants to use nothing but a command line can use a distro and UI that's absolutely bare-bones and that looks like a hacker computer from a Hollywood movie, while a person who wants something easy-to-use and aesthetically pleasing can choose something designed for them instead. And both of these distros are still Linux under the hood, and can run most of the same applications.

And yes, this is the point where I think most readers are going to nope right out of this post. And that's fine. If this is more than you want to deal with, I totally get that.

So how do I try out a Linux distro?

I'm going to go into some detail about choosing a distribution later in this post, but I want to talk about how to try it out first, because different distros have different features for this. There's several ways to start using Linux, with varying levels of complexity and decision-making.

First, you can create a bootable "live" USB drive, which you can use to restart your PC and try out a Linux distro without affecting your current installation. This can be a good way to make sure that a distro runs on your hardware, and that you find the user interface tolerable, without making any permanent decisions. You usually won't be able to access your existing data from the live environment, the performance will be much worse than if it was installed on the computer itself, and you won't be able to save anything, but you can load a web browser, check out the default applications, etc. If nothing else it can feel like taking a vacation from your Windows install.

Many but not all Linux distros offer this as a feature. It's definitely something to consider when looking at your choices; the most popular distros like Ubuntu and Fedora have this feature, where you can boot from a USB stick and choose the live environment instead of the installer. This is the the method that I recommend for giving things a quick look, and distros that have this feature will also have instructions for creating the USB drive.

Second, there's setting up a Linux virtual machine on your Windows system, creating a copy of Linux that runs inside Windows itself. This doesn't require building a USB drive or rebooting your system, and it will have better performance than booting to a live environment on a USB drive, but it's substantially more complicated to set up. It also doesn't necessarily give you a feel for using a Linux distro by itself, since what you have is basically Linux as an application under Windows. It also won't tell you if your PC hardware is Linux-compatible, since the virtual machine is emulating the hardware specifically to make sure it runs properly.

Options for creating a virtual machine under Windows include VMWare Workstation, VirtualBox, and Microsoft's own "Windows Subsystem for Linux". If you're on a Mac and want to try out Linux, there's also UTM.

Third, there's installing Linux side-by-side with Windows on your PC, so that you can choose which one you want at boot time. This requires some technical chops to set up in the first place, has the risk of accidentally deleting your Windows setup (and all your files and data) if you do something wrong, and Windows doesn't like it so it tends to be kind of fragile. I am only mentioning it here to say that I really don't recommend doing this.

Finally, there's taking the plunge and just installing Linux on a PC, wiping out Windows and the existing files and starting over from scratch. This is actually very simple! Linux distro installers and live USB drives make this almost as easy as reinstalling Windows (assuming nothing goes wrong, but that's no different from Windows either). If you have a spare PC and you don't have any files on it that you haven't backed up or copied elsewhere, this is by far the most effective way to try things out, as you'll be getting the full experience.

If you only have the one PC, then I don't recommend doing this until you've tried out the distribution first using a live USB drive or a virtual machine, and definitely don't do this unless you're absolutely sure you've got all your data backed up (to a cloud service or on another USB device or whatever).

Can I run Linux on my old Mac? I can't install a recent version of MacOS on it but it's still functional.

If you have an older Mac with an Intel CPU in it, it will almost certainly run Linux. You may have to do some things after you install it to get it fully functional (such as manually adding a driver for the wireless card), and some hardware features may not work (like some integrated webcams), but older Intel-based Macs are one of the most popular targets for Linux installs these days. Everything else in this post should apply.

What distro should I choose?

There are quite literally dozens of different Linux distributions, but for your average user who's new to Linux there's only a few good choices, in my opinion. I'll explain why as we go ahead.

The most popular distros:

[edit 01/05/2024] @plumpan prompted me via a comment to correct some details about Ubuntu:

Ubuntu is where most people start. It's a very popular Linux distro for a number of reasons: it's mature, it's well-supported, and it has a good default UI. And because it's popular, Linux applications probably receive the most testing on Ubuntu. It has a Long Term Support version which receives only security updates, so things don't change out from under you without warning, which is very popular for servers and desktops in large organizations. It defaults to the popular GNOME desktop environment (see below) but has a number of "flavors" available that use other DEs.

It does have a number of downsides, though. Ubuntu is probably the closest thing to Windows or MacOS in the Linux space, being a product of a for-profit corporation whose motivations may not match yours. They have commercial support services, they have paid add-on services that they really want you to use, etc. Nothing forces you to use any of these services, but they sort of loom over the OS, which annoys some people. It also uses an application installer (called "snap") which many people do not like.

That said, Ubuntu is a solid distro and there's no absolute dealbreakers as far as I'm concerned. Its installer USB can also be booted into a live mode to try it out.

Fedora is a good, solid distro with a somewhat unfortunate name. It's descended in a complicated way from the classic Red Hat Linux distribution, and is now the basis for the corporate Red Hat Enterprise Linux distro in a strange reversal of roles. It's stable, relatively popular, receives regular updates, and is the primary development platform for a number of major Linux application and desktop environment projects. Instead of having multiple desktop environments built in, it ships as different "spins" with different DEs that provide different UIs.

It's also Not Ubuntu, which has its good and bad sides. It's similarly corporate (being part of the Red Hat corporate structure while theoretically run independently) but doesn't have Ubuntu's issues with trying to upsell you on their services. (They know that if you want to pay for it, you'd be running Enterprise Linux instead.) It doesn't have quite the popularity of Ubuntu so things are somewhat more likely to be untested. It uses a less popular package system and may not necessarily have the same software easily available for it.

But if the shiny corporate nature of Ubuntu is a turn-off, and you like having different "spins" to try out, Fedora is friendly enough for new users and I can recommend it without any real hestitation. It has live USB drive versions of most spins to test with.

ChromeOS is technically a Linux distro, albeit a very custom and restricted one, as it uses the Linux kernel. It was created by Google for Chromebooks but it runs on more hardware than that, via a separate product called ChromeOS Flex. This is really intended for corporate or educational users who want an easily-managed fleet of low-end systems by re-using their old business laptops, but it's available for end-users as well if they want to try to extend the life of a system.

The major advantages of ChromeOS are that it's extremely difficult to break, it has a very familiar UI, and has low hardware requirements. The disadvantages are obvious: you are locked into Google, their browser, their application ecosystem, and their privacy-eating business model. If you're already neck-deep in Google's products, then ChromeOS might be a good way to convert your old laptop into an ersatz Chromebook. It does not have a live USB drive version, but you can go to any old Best Buy and test out a Chromebook to see what it's like.

Less popular distros that are still good for new users:

Linux Mint is a distro designed specifically for new users. It has its own desktop environment (called "Cinnamon") which is developed alongside the rest of the operating system, and is good at providing a place for Windows refugees.

Its downsides are that it's got a smaller development team than the Big Two, it often has older software available (similar to an LTS version of Ubuntu), and not everybody actually likes Cinnamon. But it has a live USB version and may be worth looking at.

Elementary OS is another distro designed for people migrating from Windows or MacOS, with its own custom environment (called "Pantheon"). It's visually quite nice and easy to use, and has an excellent "app store" tool called AppCenter that has been adopted by other distros as well.

Like Mint, it has a small development team, and I'm a little annoyed by its default "pay us $20 to download" link on the front page even though it's actually free. It also doesn't have a live USB drive version to try out. But I'm including it here as the purely aesthetic choice.

Pop!_OS is a modified version of Ubuntu created by the hardware company System76, who design and manufacture PCs specifically to run Linux. The modifications to Pop!_OS are intended to make it somewhat easier for new users, and easier for System76 to support on their hardware; it has a recovery system similar to MacOS and includes drivers for the equipment they sell, although you can install it on any old PC or laptop.

The ease-of-use and recovery features of Pop!_OS make it attractive for new users, but I find their support is somewhat lacking (if you don't own System76 hardware) and their development is focused on their business customers and not other users. It does have a live USB drive version if you want to have a look.

Other distros not recommended for new users:

Debian is the old, cranky grandfather of Linux distros, who is still hale and hearty and still works for a living. Debian's package system is used by many other distros (including Ubuntu), and the choices Debian makes affect the whole Linux community. It is largely neutral about desktop environments, and has numerous options available during or after install. Its major advantage is its stability; major Debian releases come out every few years, and those releases undergo extreme amounts of testing before the system is considered stable. Its security team provides updates very quickly when problems are found and it has highly sensible default settings.

This is also its major disadvantage. Having a highly stable, unchanging system that gets security updates and almost nothing else is great for servers and high-security environments, but it can be frustrating for an end-user who wants new features and can't get them without switching to an unsupported development branch of the OS. It's not as popular for desktop use as other systems, so applications don't get as much testing on it. It's also completely non-profit, which is good from an ethical sense but which means it often doesn't have the resources that corporate-backed projects like Ubuntu and Fedora do.

I like Debian, it's what I run on my home server and it's what I tend to fall back to as a desktop system, but that's because I know it very well and I can get it to do what I need it to. I want to recommend it, but not necessarily to a new user. But if you want to go whole hog into Linux, learning how to fix stuff when it breaks? This is a good place to start.

Arch Linux is a distro focused on technically proficient users who want the most recent software available. It's a "rolling release" distribution, where there are no major version updates: software is simply updated as it becomes available, and a date signifies the "version" of the current system. This obviously has its advantages, and Arch has some of the best documentation available for any Linux distribution, but I can't recommend it for a first-time Linux user unless you want to learn a lot about how things work under the hood. In that case, go for it, but be prepared to break things a lot as you experiment.

Alpine Linux is somewhere in between building your own system from scratch and using a traditional distro. It is designed to be extremely compact and secure, which makes it very good for embedded systems and some kinds of servers, but it's also very minimalist, requiring the user to install and configure nearly everything by hand. It's a very good distro if that matches your needs, but it's absolutely not for new users.

The rest of the distros:

There are far, far too many other distributions for me to list here. Most of them are targeted at very specific user types, like Kali which is designed for security researchers, and so are not really appropriate for new users. But who knows? Maybe there's one out there that looks intriguing to you.

[edit 01/05/2024] @obspogon has recommended distrochooser, a tool for researching Linux distributions that I was not familiar with. It presents a series of questions about how you want to use Linux, your level of technical knowledge, etc and presents a list of distros that might be appropriate. (original post)

What about desktop environments? What should I know about those?

Desktop environments are the most subjective part of choosing your Linux experience. Unless you're going for that minimalist hacker look, most DEs are going to provide the same functionality, differing largely on the details and the appearance. If a DE doesn't work for you, you can try a different one, although in some cases that will require a reinstall or changing distributions.

Aside from the custom DEs in some distros (like in Mint and Elementary that I talked about before), the big desktop environments are the following:

GNOME is far and above the most popular Linux desktop environment right now. It's the default on Fedora and Ubuntu, and is the most compatible with Linux applications. It's very usable, but it's also very different from Windows or MacOS in many ways, which is why distros targeted at new users often use something else or create their own from scratch.

KDE is the runner-up, and is somewhat more like Windows or MacOS than GNOME is. They are to a large degree identical in terms of functionality, with people generally preferring one or the other. If you try out GNOME and you're not fond of it, give KDE a look.

XFCE is a desktop environment that's designed for lower-end hardware, for heavy customization, and to provide an alternative to the big two. It's my personal favorite (which is why I bring it up) but I don't necessarily recommend it for new users.

Other alternative DEs include MATE, LXQT, and Enlightment, but there are many others.

What about my applications?

This is where things get trickier. Many of the most commonly-used applications have Linux versions, including most web browsers (Chrome, Firefox, etc), and communication tools like Discord or Slack. There's even Steam for Linux (which is the basis for the Steam Deck), that has excellent compatibility tools for running Windows games. And anything that runs inside a browser (like Google Docs) will work without a problem.

The problem is when there's a specific piece of software you need that doesn't have a Linux version at all. There's two ways to manage this.

  1. Find an alternative to the application

Many Windows or Mac applications that don't have Linux versions have excellent (or at least functional) alternatives. Many of these tools are even available for Windows, so you can try them out ahead of time. I'll go over a few of them here.

There's many more, and online listings like AlternativeTo can help find them, as you can filter your results by target operating system.

  1. Run the Windows app via compatibility layers

A surprising number of Windows apps can be run under Linux these days via tools like WINE, which provides a Windows compatibility layer for apps to use. WINE is also the basis of Valve's game compatibility system "Proton", which is integrated into Steam for Linux.

WINE itself can be tricky to set up, but there are tools like Bottles which can simplify the process significantly. Older versions of Windows apps tend to run better, so if something like Photoshop CS6 is part of your workflow, you're probably golden.

That was a lot to take in.

I know! Switching operating systems is not a thing you do casually (unless you're someone like me who does it as a hobby) and there's a lot of decisions to make.

If you've gone through all this and all you can think is "this is not for me", that's fine. You've made a more informed decision, and that's all I was really hoping for.

If there are any other Linux nerds who took the time to read all this, I am aware that I drastically simplified a lot of things, and left a number of things out completely. (I'd be here all year if I went over every distro and DE.) But if you see anything here that feels factually incorrect, feel free to comment.


You must log in to comment.

in reply to @apocryphalmess's post:

It [Ubuntu] also really wants you to use their choice of desktop environment (which is GNOME, see below) and isn't going to work as well if you want to use something else

I've had good luck with Ubuntu's flavors in the past.

Now, trying to change the default DE in whatever version of Ubuntu you run is for sure a bad idea, and also just introducing the idea of "well also some distros are available with multiple DEs" is getting a bit into the weeds for an introduction post. But if for whatever reason you really want to use Ubuntu, but don't want to GNOME, they have an option for that. I ran Xubuntu for many years, my only issues were Ubuntu specific rather than Xubuntu specific.

Hey, I just wanted to say thanks for this post, I know it probably took a while to to make. A handful of years ago I put Ubuntu on an old laptop just for funsies, and while I had fun tinkering around with things, it never went much deeper than that. Fast forward to the present, where I've been mulling over making the jump for a while now but never had much motivation to do so... until all the recent Microsoft news REALLY started pushing me over the edge.