50
votes
What advantages does Linux have over other operating systems?
When people talk about switching to Linux from Windows/macOS, especially for those inexperienced with Linux, the conversation often becomes mostly about drawbacks: all the things you'll have to sacrifice, that don't work outright, or that aren't as smooth.
On the other hand, if you had to highlight the advantages of Linux to a newcomer, what would you say?
What might someone gain by switching to Linux, rather than lose?
What are some of the drawbacks people are currently living with on other OSes that they might not be aware of simply because they're used to them?
I think can best sum it up as, it's the one OS out of the big three that lets me feel like my machine is really mine. I am the one in control.
With the others, it's like, yeah, I may own the physical device, but I'm at the mercy of MS or Apple regarding how I use it. If they want to block me from doing something because it disagrees with their view of how I should be using the machine, they will. If they want to force me to use their services so they can extract more money from me, they will. If they want to shove ads in my face, they will. Etc.
Other things I like:
So again, I think I can summarize a lot of that as: am I the one in control, or do I "share" power over my machine with various corporations who may have a different say in what I can do?
I've been an on and off Linux user for almost two decades (but past 5 years though I've been full time). There are days where I talk to non-computer people and I have a hard time explaining why I use Linux or what it gives me. Then there are days where I'll spend hours working on a Linux specific thing but at the end I'll feel like "I've made this more complicated than it should be" (albeit I enjoy tinkering so not really wasted time).
It's those days I want to re-read your post because you hit the nail on the head. Heck I want to print that quote and hang it above my desk.
It's about control and empowerment. A big part of the joy I get from my tech is the feeling of ownership and you can't have ownership without control.
Thanks! Admittedly, the next stanzas of that poem are about solitude and being stuck "out of humanity's reach." So perhaps that's a decent parallel to the perils of of having to fix something you yourself broke, overcomplicating things, etc. Still, I'll take that any day over a nerfed OS that insists on nannying me.
Another point is that you can install more modern Linux distros on older hardware, extending its useful life. If you use Windows, the only real option is just installing an older version. But those older versions no longer receive security updates, meaning any vulnerabilities found will never get fixed and your machine will always be vulnerable. Of course you need to have realistic expectations for the hardware (like you probably won't be streaming 4k video on 20yo hardware) but Linux at least makes it possible to use it for something while remaining decently secure.
Yep! That would probably fall under the "lightweight" bullet point in my post.
I used to use a rather old machine that ended up stuck on Windows 7 on the Windows partition because I'd initially held it back from the free Windows 10 upgrade (mostly because I'd pretty much only ever used Windows for lightweight gaming for a long time.) Then stuff like Steam stopped working on Windows 7. But Windows 10 was no longer offered for sale and the hardware was too old for Windows 11. Microsoft's answer to that in their documentation: time to buy a new computer.
Meanwhile, over on the Linux partition, current Xubuntu worked just fine.
(Admittedly, I did decide that it was finally time for a new machine. But I prefer to upgrade on my schedule. I'm not a fan of e-waste.)
This was an excellent, highly informative overview. Thank you for taking your time contributing this.
-Linux Mint user, ~10 years.
It lets you customize quite a bit. Lots of versions and tools. If you have strong preferences about how your computer should behave, or look, or act, you can likely get close to your ideal with Linux.
From a server or stability perspective, you can also have very dependable and easily reproducible computing environments.
The downside is if you get into edge cases, they can be a time sink to figure out. Or if you only use the computer as a means to an end and not an end unto itself.
Edit: drawbacks of Windows and Mac OS is it's largely that you get what you get. You can configure, but not customize. You don't know what you don't know, so unless you try other platforms you don't know if they are a better or more enjoyable fit.
Edit2: I don't consider myself an expert on any one OS, but I've run pretty much everything. IBM mainframe zOS, UNIX, Sun Solaris, BSD, Linux, Windows, etc. always happy to answer questions on their differences to whatever level of detail I can recall.
Edit3: As you are finding out, being asked about Linux is like catnip for some folks. For what it's worth, you can try Linux through a VM on Windows to get a feel using something like virtual box, or if you have the pro version of Windows, Hyper-V. I suggest Ubuntu or Mint as a first time user. If you want help testing, you can shoot me a DM.
When something is giving me trouble on Linux, it's because I'm too dumb or don't understand what's happening. When something is giving me trouble on MacOS, it's because MacOS is dumb and there's just nothing I can do about it.
I think this is an unhelpful hyperbole. There are plenty of things dumb on Linux too, and there are plenty things that are smart on MacOS and Windows. This whole black and white approach is really off putting to me in the recent worshiping of Linux.
It's not recent. Linux has had this sort of reputation as long as I've been aware of it (since the mid-00s). If anything, the popular perception of Linux has become more nuanced over time.
The main problem with criticizing Linux is that the most important things that are dumb about Linux are just the things that are dumb about all mainstream operating systems, because mainstream operating systems are all fundamentally based on or inspired by UNIX, and UNIX was designed under the assumption that the entire world was a 70s mainframe. (And was designed before the field had agreed that sensible semantics were a good thing, actually.)
That's just focusing on one part of the OS. If we're talking about the desktop situation on Linux, I think it's very far removed from what the majority of people want out of an OS.
Pretty much every feature people love about Windows or even MacOS is something that has existed in some Linux DE for years. I remember when people were getting excited that Windows finally got virtual desktop support, something that every major Linux DE had for over a decade at that point.
But besides all of this what the actual majority of people want out of a desktop operating system is little more than a system that runs a browser, and Linux has been fantastic for that use case scenario far longer than Windows has been. Desktop Linux is very easy to use except for cases when a person needs a program that is not designed for it. And that’s not a problem with Linux, that is a problem with the company who made the program deciding to not support it.
I don't think it's about features. Just looking at how many people are asking which distro they should be using as a first time user, shows me there is a very large disconnect in what Linux desktop is and what people actually need. The people asking, are people that are already tech savvy enough to explore switching to Linux. Even they have a difficult time picking. And then seeing those threads, you'll end up with 5-10 different distros being pushed by different people. So even they cannot come to a consensus.
What Linux desktop could do with, is fewer options. The issue is not that there isn't a calculator application, the issue is that there are too many. And text editors. And mail clients. And window managers. Network managers. There are way to many of everything. That's so much wasted effort on development but also wasted time of users needing to figure out the differences.
I understand your argument but I fundamentally reject the premise. The existence of alternative options is a strength, not a weakness. It is not wasted development; there are clearly people who need it enough to make it and there are enough people actually using them to justify having them added into distros’ package managers.
The world does not need to have a consensus to keep on turning, and it could very well be argued that the lack of consensus is one of the reasons why technologies advance so quickly. With Linux, choice is a fundamental feature there are tons of people who hate systemd or Wayland or any number of newer things, but instead of begrudgingly adopting, they use their power of choice to reject them. That degree of choice is a luxury. What people are wanting when they ask for recommendations is to not choose. I don’t have a problem with that; if they pick the most popular answer (which people are inclined to do), they will typically get a really good answer.
Yes, the existence of choice is a great part of Linux, I definitely agree with you there. I just don't think it needs to be this diffuse. But we can agree to disagree, if you're ok with that.
Of course!
I generally agree, especially for anything above driver level.
Concensus is a useful thing in some contexts, X/Wayland being the perfect example. ALSA/Pulseaudio being another. There's a reason all the other X servers went the way of the dodo.
The only real reason we have any problems with wayland anymore is because people won't just let X die a swift death, and thus developer attention is split.
That's because asking which Linux distro to use is a lot like asking 'Which car should I buy?'
Given a large enough sample size you'll basically get every car make and model ever, with a large agreement on some good/bad options, but still a huge impracticle gulf of choices.
It's easy to take away choice for a Linux desktop: Make a new distro that doesn't offer any alternatives in the software store. But then you've just thrown another option in the 'choose a distro' pile.
The only correct answer to 'which distro' is "Choose one from the thread at random and take it for a test drive."
That's the entire point I'm trying to make. Most people don't care about all that choice, they just want an OS with a basic set of applications, and get on with their lives.
It should be noted that both KDE and gnome essentially solve this problems by having a whole suite of applications associated with them. Most “everyday user” distros will pick one and use their associated applications as a default.
This is exactly what's so wild to me. The fact that both KDE and Gnome are implementing the same exact applications is a waste. Everybody is reinventing the wheel. In the end you pick a camp, but the other will inevitably have certain applications that are just better.
But they are not the same. They have very different design philosophies behind them. Compare, for instance, gnome's Music vs. KDE's Elisa, or KDE's older option Amarok. It's even visible in their web browsers (Web and Konquerer). There is rarely ever a single perfect way to do anything, and with software as complex as desktop applications there's no way any one tool will be everything to everyone.
And thanks to decades of work and package managers, using apps designed for one DE by and large just work on the other, albeit sacrificing some UX consistency to do so.
Which most of the distros people recommend provide in spades.
If you think most users just want a UI they can learn easily in an OS that provides all the basic software they're likely to use, then Linux Mint or Ubuntu are the recs. They come with fully featured office suites, mainstream web browsers, and thanks to Proton can run most Windows games pretty easily.
I'm having difficulty understanding your complaint here.
My point is that its a literal impossible problem to solve short of accepting OS defaults.
If people are so paralyzed by choice that they can't choose one at random and take a test drive, how the hell are they able to buy groceries?
Accepting OS defaults isn't a bad thing and it's was the majority of people will do. Not everybody is looking to tailor the OS to their specific needs, and that's fine.
I'm not sure what to reply to that last sentence though. If you're serious about it, I don't think it's a fair comparison and doesn't really prove a point.
The last sentence was not entirely serious, it was hyperbole.
But there's a kernel of truth in there: Few people are fully paralyzed by choice buying groceries despite excessive options. They would simply grab one that meets their requirements at first glance at random, and then use a different product later if it didn't suit them.
And when your operating system is free, the barrier to switch between Linux distros is trivial. You could test drive a dozen inside of an afternoon.
I dunno.
What do most people use PCs for these days other than Web-related tasks and video games?
Web browsers on Linux work just as well as they do anywhere else.
And Valve has been killing it with Proton.
I think that's maybe focusing too much on the "I'm too dumb" part and not the "don't understand what's happening" part - there's plenty of stuff in Linux that's bad/dumb/ancient-decision-no-longer-fit-for-purpose that you can navigate and work around if you understand it... but often that is not the case with Windows/macOS
(I caveat this response saying that I use macOS on desktop with gnu commandline tooling, and Linux only on servers - used to use Linux desktop for work but that was a long time ago)
Specifically saying this about macOS is the thing I don't understand. I don't find it hard to tweak the OS and rarely feel like I don't have access to something. The whole argument feels like it would be something somebody says that isn't using macOS. I've felt this on Windows, but not so much on macOS.
And yet, I have the opposite experience, and that's why I don't use macOS.
On Linux, I use a tiling window manager. On macOS, these exist, but only as a layer over the builtin WM, because "replace this system component that doesn't suit your needs" isn't a thing there.
I use terminals extensively. On Linux, I have a global "give me a terminal" shortcut that's a single line in my i3 configuration. When I tried to reproduce this on macOS, I found that it really did not want to. I wound up with a comically complex solution that kind of worked as long as whatever app I had focused hadn't also defined that as a shortcut. This was like half the apps I used because macOS doesn't have any sort of consistent namespace for system vs app vs user shortcuts. (On Linux, applications generally do not use the super/windows/command key.)
I ran into several things like this during my brief time on a Mac: you can add to it, but you generally can't replace parts of it. True customizability requires the latter, because you will want something Apple didn't think of or decided didn't fit their design philosophy.
It’s worth pointing out that, in my experience, all the advanced customization of this sort that I’ve wanted on Mac has been made possible with BetterTouchTool. Granted, it’s a commercial 3rd party tool and ultimately it is bound by the OS restrictions you mentioned, BUT… it’s really good. Window tiling and snapping, global shortcuts, complex automations with conditional triggers, etc. I’ve been a Mac user for 36 years and it’s the most powerful and flexible utility I’ve come across for the platform. It’s super configurable and as fiddly as you want it to be.
Not saying it’s a substitute for a proper Linux install, but it’s been instrumental in relieving some of my personal pain points with macOS, giving me back a large degree of control that isn’t available out of the box. If you find yourself back on a Mac at some point you should check it out! I bought a lifetime license many years ago and it’s paid for itself many times over. (Seriously, I feel guilty that I keep getting updates after all this time; the maintainer is a single dev, he’s highly responsive to the user community and actively rolling out new releases all the time.)
Meh. I'm not likely to ever try a Mac again*. That someone made a cool sword I can use to more easily fight the OS does not change the feeling that I'm constantly fighting the OS.
It looks great for people whose usage patterns fit how it works closely enough! That group just doesn't include me, and I lack the desire to change that when I already have an OS I'm happy with.
* Well, macOS. The hardware is legitimately great, and if Linux support for it looks good enough next time I need a computer I would seriously consider running Linux on a used M1/M2 macbook.
Exactly! The difference for me with Linux is that it gives me a bit more issues, but I can always solve them in the end, while Windows/MacOS has fewer, but they can't be solved or Microsoft/Apple actively works against the solution (case in point: Windows 11 spyware)
There are some problems you can diagnose and fix yourself, but if the problem is an obscure bug in a device driver, I’m not sure Linux is going to give you any more control, unless you’re the sort of person who can debug device drivers.
Anecdotally I find Linux to have significantly fewer hardware errors, but it tends to depend on manufacturer support. I tend to avoid the low quality stuff, though; the weird cheap stuff that doesn’t even work well in Windows where it is officially supported. Honestly a lot of devices I have purchased actually worked better in Linux than they did on Windows.
I’ve used the big three desktop OSs quite a bit, although I will admit that my Linux experience was back in 2012 to 2015 or so. I think you can characterize each OS by how it answers the question: “Can you do this random thing?”
macOS’s answer is “maybe, maybe not, but if you can, there is a really sleek Mac only app made by a solo dev that does it”
Windows’ answer is “maybe, but it’s a pile of hacks that someone got working 20 years ago that somehow still works. If you want to change anything, good luck.”
Linux’s answer is “absolutely yes. Will it be easy? Maybe not. But you can do it.”
Linux does not limit you, as long as you have the time to figure it out and configure it. That feeling of not having limits is what Linux gives you.
It's interesting how you word it, largely I agree although with some nuances or additions.
With macOS depending on what you want there are a fair amount of open source apps available. However, a lot of the highly specialized apps are indeed solo devs, often are high-priced (for a single purpose thing) and in many cases might not be actively developed anymore but will still take your money.
With Windows there are actually many more options available as for macOS. Some of them are pretty sleek, many of them are open source and some are paid, although more often than not this is a subscription these days. However, none of them will rival the sleekness of the best solo dev apps on macOS.
With Linux, pretty much what you said. Although, I feel that the windows hack comment is more appropriate in this context. As if you are not careful you will stumble upon a GitHub repository with the “solution” to your problem everyone seems to recommend. The solution is a shell script that needs to be executed with
sudo
written in ancient runes, where reviewing what it does takes the better part of a century.It's not that the obscure questionable script is the only or best solution, it will break once a kernel upgrade or something like that comes along. But somehow the parrots on the internet forums seem to agree that this is the easiest way.
Once you learn to filter past the streams of bad advice, you'll learn that there are better solutions available. You just didn't have the frame of reference yet to search with better terminology.
I'm surprised that nobody has mentioned package managers yet. They were proto-app stores before app stores existed.
On Windows, you typically install software by doing an online search, navigating to the company's website, looking for a download button, then carefully picking your version from a list (Windows 11, 64-bit, latest version...?).
On Linux, you just search for it in your unified package manager and install. Most distros have a graphical installer that makes this even easier. You don't need to worry about dependencies or versions, since this is all taken care of for you.
Updating software is just as simple. You don't need to manually run the update checker in each program, or check their website for changes. Again you run a single command in the package manager and it'll check for updates for every piece of software it has installed. In most distros this will happen for you, and it'll automatically run in the background.
Almost never will you need to reboot after these updates, or close unrelated programs to allow the installers to run. It's just seamless.
Honestly, Linux still has a lot of rough edges, even today, but the package manager experience just cannot be beat.
As a casual Linux user, this really resonates with me. The programs are all right there and trustworthy and update in seamless ways. It feels very polished and efficient.
Meanwhile, when I’m on my Windows machine and I want to download a program, I have to double and triple check to make sure I’m getting it from the right website and that I’m clicking a legitimate
Download
button. Was the link at the top of the search results the real site, or was it a scummy ad taking me to an impostor site? Who do I trust when there are multiple “legit”-looking sites (e.g. WinDirStat.net versus WinDirStat.org). It all feels clumsy and dangerous.Things might be less dangerous on Windows these days, but I’m a veteran of the era when going to one wrong website in Internet Explorer could corrupt your entire Windows install. The hypercautiousness that produced has stayed with me ever since.
You have Winget now, which removes the dangerous website bit but it still runs installers and you still have to click okay on the admin prompt for every other effing installer. I use Windows for work and that makes me really miss Linux. Still better than without though.
I second the recommendation of
scoop
. It's not as fancy aschoco
but simpler is more reliable.Recently I had the (dis-)pleasure of being forced to use Windows. But with scoop, msys2, clink, nushell, and wezterm it isn't that bad. It feels more responsive and less hacky than something like WSL. Of course it doesn't have everything but sometimes I forget I'm using Windows
I uploaded some configs here: https://github.com/chapmanjacobd/computer/tree/main/.github/Windows
Just an FIY, WizTree is vastly superior to WinDirStat because it takes just a few seconds to analyze an entire drive. Also, Scoop package manager is perfectly safe and defaults to installing the pocket versions of the programs. You can configure it to install the programs outside the Windows structure, which is saner and probably a little bit safer.
Yes, although there are plenty of applications not found in stores where you either need to add a third party repo or find the right package from the website anyway (deb, rpm, something else like appimage, etc). Certainly if you want the latest version of software where some distros offer you relatively old versions by default.
I also feel that the situation has somewhat degraded in the past years (on the ubuntu side at least) with flatpacks.
Having said that, I do agree the experience is often still much smoother compared to that of applications on windows.
¹ I unironically think that a plurality of complaints I've seen about "Linux" as a desktop OS are actually complaints about gnome. The only thing in plausible competition is hardware support, and that's been virtually a non-issue for something like a decade now. I suspect a shocking number of people would be much happier, or not have bounced off the OS at all, if they were using xfce or KDE instead.
or Cinnamon on Mint. Almost never have to futz.
I couldn’t agree more - I had so many issues with Ubuntu and gnome that I switched to arch and i3wm for years. I never had issues with that install and now I use KDE with Wayland and still never have issues like I had with gnome
Unfortunately the benefits of Linux are pretty much exclusive to power users. If you're a regular, not particularly tech savvy, user there really aren't many benefits that matter to you.
Unless you're security or privacy conscious enough that learning curve isn't too much of a barrier. Then Linux offers complete control over your privacy and security, and a bit of security through obscurity to go with it. There are less hacking tools and exploits aimed at linux home PCs.
I suppose you could also add cost to the benefits for regular users column, but the bundled OS is a such a tiny part of the cost of most PCs. Maybe throw in no nagging or ads as a selling point for users of the latest non pro versions of windows.
For tech savvy users of course the benefits of Linux are legion. One of the most appealing to me is not supporting or participating in the corporate enshittification of operating systems.
Linux's experience is the worst for the middle. If your savvy, the hurtles are surmountable. If you're not, the gaurdrails make it easier than Windows out of box, and less likely to shoot yourself in the foot with malware.
But if you're in that in-between space, or even just an advanced user first starting out, yea its a bit of a mess sometimes.
I feel I am in this middle space. I wouldn't consider myself savvy, but I've done lots of weird shit through pure gumption, google, and cobbling random shit together where I have no real understanding of what I'm doing. I'm smart enough to avoid the malware, but dumb enough that maybe I'm actually just lucky?
I know there's no way to quantify this but I don't think the bell curve of humans who use computers is centred on that in between space. I'd guess that in between space is probably to the right of centre but who knows.
But advanced user of what? I know exactly what you are saying (and you're not wrong), but I really wish these frustrated "advanced users" would take a step back from time to time and realise how complete silly their expectations are. No violin player, no matter how advanced they were at violin would throw down a trumpet with intense disgust if they weren't able to play it immediately at the same level as their violin, or at least if they did everyone would call them crazy. Sure, their sense of pitch, and understanding of musical tone is transferable, and sure: the musical notation is identical, so they have a head start over a total novice. Everything else needs to be learnt again. This confuses no one. And yet 9/10 someone tries linux who has ever used some other operating system the first thing that comes out of their mouth is going to be a complaint that can be replaced roughly with "I had to learn". Well no shit, Sherlock. You have to decide if what you are getting is worth the effort, but there will be effort, and you will need to go back down the hill your are on to get to the top of the mountain yonder.
Oh I agree with you, most certainly. I'm half of the mind that computers shouldn't be easy to use, because it lulls people into a false sense of security.
The reason I started using Linux about 20 years ago was because it was free and way more performant for everyday use compared to Windows. It allowed me to salvage old discarded PCs and breathe new life into them.
Another thing is peace of mind regarding privacy, and security depending on your perspective. Of course, there are lots of variables there, but in general, a free and open source operating system is more transparent than one that is not.
Someone else already mentioned about customizability, which is a pro and a con depending on how you look at it (as in, those rabbit holes go deep!). I learned a lot tweaking my systems over the years, which is time I am happy to have spent that way.
One last note is that even though a lot of FOSS software does work on Mac and Windows, there is a lot that does not or that requires a lot of futzing about to get it working properly. There is a plethora of great tooling in the FOSS world, and to get the full experience requires a FOSS operating system (not necessarily a Linux-based one per se).
That said, over the past year I have started using a Macbook for work, and while it was frustrating at first, I must say that I have really come to enjoy it for what it is. I still have qualms about Apple being Apple, but it is actually much nicer than critics led me to believe over the years :b
Flexibility, across everything I do. I'll constrain it to a desktop context, but I feel like this is a golden age.
Music: I can use Linux-native instruments, Windows VSTs, and the applications I use (Bitwig, Renoise) are native and support any wrappers I need. This gets a little fiddly, but anything with non-native binaries on another OS is nerd stuff and will always require some extra work Pipewire is just.... chef's kiss when it's properly (pre)configured and gets everything talking to everything else, be it audio streams or MIDI.
Gaming: Steam is an obvious win, but the knock-on effects of it as well: Proton, Bottles, Heroic Launcher, but all of this comes back to WINE, the magic sauce. Old games just run better on it, like Sim City 2000 or Fallout 1. I can get all of this running without touching a command line these days.
I'm probably what could be considered an advanced desktop user (I'm crap on servers but getting better at work). I have decided to stop fiddling with my environment and am 100% committed to GUI-oriented workflows using Aurora, Flatpaks, and really only touch a commandline to configure a distrobox or other fiddly, legitimately geeky things like specific rare instances of scripting for file conversion.
But for what I need the command line for it's brilliant. I have an instrument, the Sonicware Lofi-12 XT that needs 22khz 12-bit samples, and can quickly use the SOund eXchange utility to convert files to the format I need. I can use Distrobox to set up tidalcycles to be called with a locally installed instance of VScode seamlessly. If I wanted (and I'm thinking about it), I can spin up a pihole container and route my traffic through it locally, and can choose docker or podman (for no root needed).
Containers. These enable Distrobox to work, and now it doesn't even matter which distribution you use. I have not missed a single thing since switching to Aurora, except libvirt VMs (which I switched to their -dev image for) because I can do everything else in a rootless Distrobox. Distrobox is such a simple technology that you can safely, quickly install it with a couple scripts, and no root. It is completely native performance. I run Bitwig, Renoise, Cardinal and Supercollider through an Arch container and you couldn't even tell. FWIW, most distros, including Ubuntu as of 24.04, have Distrobox packaged. Heck, I'm on a project at work where we're deploying Distrobox for a client who wanted a way to containerize CUDA workflows with radically different versions of various parts.
EDIT: People are talking about edge cases, but all of mine have been solved, largely due to Distrobox, and partially to maintainer communities being better about packaging and updating more stuff more regularly. I use a Fedora Atomic image, but could have a nearly identical experience on Kubuntu, OpenSuSE or Arch (except for the differences inherent in distros, mostly package/maintenance tooling).
Man, some of what you're saying just sounds so amazing, but there are some things where I just have no idea whay you're saying. Things like Docker, yeah I've heard of that, but I have no understanding of what it does or how to use it. I don't even know where to start with this stuff, but I'm definitely interested.
Simplified explanation: You've probably heard of virtual machines, i.e. using a program (formally called a "hypervisor") to execute an entire, fully functional operating system inside your current system. Effectively, a computer running inside another computer.
Containers (like Docker) are quite similar to this idea. All things considered, it feels like a virtual machine, but without needing to run an entire operating system inside it. It creates an isolated environment for running some application(s) inside it, but instead of running an entire OS, it only contains what is absolutely required, like networking, your application, dependencies for your application, etc.
When to use them? In your case I'd say these two apply:
As far as containers, if you're already on Linux do what I did: Use Distrobox first.
First: LXC came first. "Everybody" uses Docker, Redhat created
podman
as their answer to Docker, and run 1:1 without root.To add to @TaylorSwiftsPickles, a container is basically a software-defined environment on your system that shares the kernel and hardware. It uses a sandbox to keep things from crossing into or out of the container in unapproved ways. Typically a container is designed to run a specific command, like if you check the last line of this DOCKERFILE, which defines a container for deployment:
CMD ["nginx", "-g", "daemon off;"]
Everything else is to set up the environment for this, install the needed packages, and prime the container for this one task.
Distrobox is sorta like running
podman run -it
(or the longer--interactive --tty
), it'll create the container, run it, and drop you into a terminal to interact with it. In this terminal you can install packages. The intended workflow is to then usedistrobox-export
to export the command, likedistrobox-export --app Firefox
to export the Firefox application as it would appear in your desktop environment's menu, ordistrobox-export --bin /usr/bin/btop
if you wanted to expose a command that isn't in the menu. Distrobox also handles a bunch of other stuff to make the experience seamless.Distrobox also has manifests which are like dockerfiles (or podman containerfiles), but intended to be user endpoints. I have some examples in my github here for some containers I've used. I mostly live in my Arch container tbh, since Arch has a lot of the software I want in its repo or the AUR.
FWIW if you're in Windows and use WSL, you can use it there. I have a OpenSuSE WSL instance running distrobox I use for Azure powershell stuff.
I forget how horrid audio routing is on other operating systems. It's so utterly seamless to redirect different apps to different outputs, and it all just fixes itself when I undock.
When I need to do something "complex" with audio on Windows, I use Virtual Audio Cable which let's you route, merge, duplicate, and split audio pretty much however you might like. But it drives me crazy basic output duping isn't baked into windows.
I think MacOS might have a better audio system than PipeWire, it definitely has a better midi system, and Windows has stuff like loopmidi I can't find an alternative for.
I can't speak to MIDI, haven't tinkered with that since the 90s.
Since I don't use mac, heres a trivial example that I do:
Toggling any of these things to a different output is 3 or 4 clicks, and it doesn't require any support from the application. They always switch correctly when a device is missing or is attached later.
By contrast, with 3 audio devices hooked up on Windows, it's basically random which audio device gets chosen at any time. Fortnite in particular sometimes just doesn't play audio until I toggle the audio device in-game back and forth. While that's not on Microsoft, its indicitive of the general crappiness that makes me hate using Windows.
For the average user i focus mostly on:
Mileage varies though as I still think linux is pretty user unfriendly when you start thinking about people who click on the "C1CK HERE TO DOWNLOAD" links on all their websites and emails.
Further people really don't love "yeah that doesn't run on linux" as an answer.
Personally I still see linux as a viable option if you're already techy enough to troubleshoot or hunt around the 5% of the time something you want working, doesn't. Unfortunately the more techy you are, the more likely you are to run into some niche use case that doesn't work on linux. Grandma can go on facebook and look at cat meme's all day no problem, but god help her if there is an issue, while the techier people i've known have almost all had SOME pet application that "doesn't work on X" (where X is often not just linux, but sometimes modern versions of windows or mac. I believe quickbooks is my current nightmare in this regard).
The dfference between Windows and Linux is nill for them, because these people rely on help to use the operating system they've been using for years. They get completely lost if their desktop icons get sorted alphabetically.
And I always find it amusing that Linux is probably the easiest way to run these old apps. Wine is becoming the legacy rosetta stone.
(On top of what others have said...)
There are two big things: freedom, and security.
You cannot truly have much of either if your installed OS is built and controlled by a company which
Average people get by with those other two OSes because they just trust those companies with their data, their PII, their "profile" (in the valuable sense). But, put the above qualities and behaviours together with "a company which puts their profit and benefit over your interests", and we have a recipe for a very bad situation.
It runs forever. No more getting slower over time.
The only exception I'd say is that if you don't repave every few years, you miss out on a lot of improved defaults.
I love my Linux servers. They are lean and clean and easy to maintain. There are so many useful applications, whenever I need something in my home, it's there. I love the FOSS space that develops anything and everything.
I love our Linux work servers. They are secure, highly configurable and all without vendor lock in. Linux has become the industry standard in the space I work in, and I think that's wonderful.
I hated working on Linux desktops. I've had those ~7 years. I don't want to spend hours configuring things, I don't want to debug wifi network settings after a upgrade. I just want things to work. I don't care which window manager I use and I sure don't want to chose between calculator applications. In an office setting where I need to work together with Windows users, I want that to be seamlessly. MacOS fills those needs.
Not sure what crazy distro you were using but none of this has been a thing for a long time.
I did periodically have Intel wireless problems on rolling kernels for a while in the 5.x era. Never really with lts kernels though.
We have the
modprobe -r $mod && modprobe $mod
for our fleet's Wi-Fi adapter pinned in a Slack channel 🙃To be fair though Windows is no stranger to the ol' "reset network adapter" either. At least here it's a terminal alias instead of the labyrinthine Windows Settings/Control Panel procedure.
It’s always weird to me that people report having problems with WiFi on Linux because I have literally never had problems with it except for on systems that didn’t have the proper kernel modules to support it in distros packaged without proprietary blobs; something fixed easily by using the package manager, generally. And I was using Linux before WiFi was a thing (I actually remember briefly switching to OpenBSD for their early support of some 802.11b chipsets). Obviously I am discounting the early days when not many chips were supported, because today they are essentially universally supported to my knowledge.
The only problems I have had with WiFi hardware have been on Windows, typically because shitty hardware manufacturers (cough netgear cough) had shitty software to go along with it that circumvented the utilities Windows already had in place - even when it was based on chips that other manufacturers were implementing just fine without them.
I mean that's just Debian and Linux-libre-based distributions which are by far the minority.
Right, I'm not saying there were never problems. But I've touched, what... 7 or 8 distros or so in the last 5 years? Haven't had any issues (not saying that no distro has any issues). But the landscape looks pretty good these days.
Pretty much my stance. To be fair I did survive Linux Desktop for a year or two before work expensed me a Mac (Nix helped, not having to remember to do the 8 billion tweaks I do to make Linux usable every time I upgrade...) But would I voluntarily use it over macOS... not really.
Linux is the best server operating system bar none, because every company (including Apple and Microsoft) invests in people working on the Linux kernel and systemd for server use. As a desktop operating system there's just no one putting the level of investment Microsoft is putting into Windows and Apple is putting into macOS. Google and Valve do just enough for ChromeOS and SteamOS, but neither is a full desktop operating system (and mind you I adore my Steam Deck-- the KDE Desktop Mode is just that. KDE with all of its problems.)
For me the answer is quite simple. From the major os's it is the one that is a tool for me to use instead of onboarding platform to get either directly or indirectly monetized by the company.
That then has a number of knock on effects such as:
As a software developer, Linux is great because it lets you think about your operating system as an integral part of your software stack and not just some monolithic blob of code under your application. Especially with Docker an application developer can go through the operating system file-by-file and establish what is truly needed and only include that. The OS is a part of your app, so you need an OS that can be completely broken down and reorganized for bespoke purposes.
Zorin OS is great for new users. Once you get used to Zorin you might want to switch to KDE Neon.
The reason for this is that Zorin uses Gnome and Gnome has 20 year old bugs that the developers don't make a priority to fix such as file save dialog image thumbnails not showing an image preview. Or the really poor notifications from apps.
This is where KDE 6 really is far superior.
I have found there are flatpak wrappers for teams and outlook. I use Softmaker for really good compatibility with MS Office. I have Zoom, Slack and Spotify. I use Vandyke for ssh and sftp. I use expand drive to mount remote servers. I use Mega Sync for cloud backup. I can play 90% of my games through Steam. Navicat I use for remote access to databases. The only thing I am waiting on is Gimp 3 for photo editing. Linux desktop is ready for most users.
Zorin tries to be very stable, so it uses an old version of gnome. It was still on GNOME 3 until fairly recently.
I don't know what you mean by poor notifications, but the image thumbnails thing is already solved.
The reason GNOME has some missing features is not because they just don't care, but because GNOME devs usually avoid implementing something unless it is a perfect solution, which often requires changing how a lot of things work. For example, the image thumbnails issue wasn't solved by simply adding image previews to the file picker (though that was also done as a fallback). Instead, they spent a bunch of time working on the xdg file picker portal (which is useful for everyone, not just gnome users) and then using that to use the Files app as the filepicker instead of a separate tool.
This is the primary reason why I love gnome. The Linux ecosystem is a mess, and GNOME is one of the main groups that tries to make it less messy for everyone (along with Redhat, Freedesktop, etc.) GNOME's approach is "we won't add it unless it's perfect", and KDE's approach is "we'll add whatever to make stuff work".
I find Krita (and sometimes even Inkscape) to be better for image editing, even though neither of them are advertised as photo editing tools. I've also heard that it's possible to use Affinity Photo through Wine with some workarounds, but I haven't tried that yet.
The file save dialog image is not fixed. I tried distros with the lastest Gnome 40 and it still doesnt show a thumbnail image. How I test is take the browser and save an image. Then go save another image in the same folder and the previous image you saved does not have a preview. But this does work in KDE. If this works for you what distro are you using?
KDE notifications on taskbar icons show the background filling when downloading files, numbers showing how many emails and Spotify media controls on the taskbar icon like Windows and Mac.
I would probably swap KDE Neon for Kubuntu, since KDE Neon has a lot fewer packages by default. Otherwise I fully agree.
I would, except Kubuntu doesn't use the latest KDE 6 which works better in my experience. Come October I think that will change With the new 24.10 release of Kubuntu.
Yeah that's fair. Just recommended a friend Kubuntu only to disciver they don't have Plasma 6 and it is indead a major leap forward, especially with regards to Wayland. That has a knock on effect of solving the issues Wayland solves, like scaling and multiple screens.
KDE Neon never struck me as a daily driver distro, more of a testbed. Namely in their FAQ:
It has been solid for me on my laptop where I have found many other distros not solid even when they say they are.
Headlines
Detail
~/.config/$app
if it's well behaved and if not read the docs / man pages and at absolute worst open it usingstrace
and see what it's reading on boot. Once you've located the config it's very likely just a text file. Nice! No need to go dumpster diving in some sprawling barely documented global database where one wrong move can nuke your system.The absolutely blissful peace of mind you get when logging in to an OS that isn't crammed full of ads and tracking. I've been daily driving Linux for, uhh... 8 years now? I'll never go back. Linux has been easy for a long time now. And gaming just works generally, outside of companies that refuse to support it. LoL is not worth giving up that feeling, so I just play other games instead.
For me, the biggest thing is the support.
In windows world especially, it you have an issue, and you Google that issue, most of the answers are people who know absolutely nothing about how computers work posting wild ass guesses of solutions that have nothing to do with your issue. Their forums that are the official support channel for issues like that are filled with "hello I understand you are having a problem with your mouse behavior. If I am understanding you correctly you want your mouse acceleration to be turned off.
Follow these steps: boot your computer into safe mode, and if that doesn't work, load from a restore point. If this was helpful please mark it as such!"
It's less than helpful, and I don't know why Microsoft even bothers paying people from developing countries to copy and paste the same answer over and over.
You can get decent support for Windows, but only if you're a huge enterprise customer with some clout and direct access to a high level account rep. The amount of people who actually understand how windows works at a deep level is very low, and Microsoft keeps them securely locked up in their fortress where you just pay millions to be allowed the privilege of speaking with them.
The Linux community however, is filled with extremely knowledgeable professionals and enthusiasts fully willing to openly share their knowledge, albeit with a little bit of attitude at times.
Documentation is usually quite good, easily searchable and accessible, and doesn't require you to sign up for some stupid enterprise account to gain access to.
Answers are naturally filtered to people who generally know what they're talking about, because 12 year olds who just want to play call of duty don't install Linux and clog up technical support forums about how "it's probably because your computer sux".
Yes, things break, but if you're willing to put the time in,you can always find a solution. That's in comparison to windows where I've literally just hit a dead end at times and just have to live with "I guess it's broken forever now".
Even if I end up spending longer on an issue, the knowledge that the answer is out there and I CAN fix it is valuable to me.
They should behave better, but I always consider the snark of "oh, you really don't know?" a worthwhile cost to getting the perfect answer.
You forgot the whole “Welcome to the Microsoft forums. I am XYZ and I’m here to help you”
If forum members give out welcome messages to questions you just know the answers will be untrustworthy.
A lot of people here are giving you good overall answers, but I'd like to give two examples from my daily life to give a more granular picture.
The first is setting up a printer. It sucks on Windows. On my Linux machines, it was nigh-automatic. I was shocked by how little I had to do. The one time I had problems? I just removed and re-added the printer to fix them. Compared to Windows I was utterly thrown.
The second one is that I wanted to play Sims 2, which is enough of a retro game these days that you need to do finagling to get it running. As I was following the instructions for doing so, I got to completely skip a section that was basically "how to stop OneDrive from randomly deleting game files". The way OneDrive is pushed on Windows users is annoying enough on its own, but I was particularly glad to not have to deal with that issue.
I'm coming at it from a different angle than most. I left windows a long time ago for MacOS and the longer I've been away from Windows, the more I can't stand it (adds in the start menu, MS account requirement, pushing HARD to use OneDrive).
My issue with MacOS ended up being that I started to very seriously loose trust in their password manager (seperate story) and as a result started re-evaluating my usage of iCloud services as a whole. Once you stop using a bunch of the iCloud services then Linux begins to look more and more attractive. Gaming was a big push towards Linux for me as well because as a Mac user who REFUSES to go back to windows... your gaming options are really limited. Linux is not windows and I could play some games on it once in a while now too.
The longer I use linux (I still have a mac laptop btw) the more I see the annoying things apple does and it reinforces my positive opinion of linux.
Linux has one major advantageover Windows or Mac OS. You can control much more of the OS itself. So much you may actually make it unusable - break it.
This comes with another major advantage - if something breaks or you can't seem to set it up right, there are logs. You can always go for logs or errors and build on top of them - search the web, read up on it, learn and come back prepared and get it working.
These two things are very powerful and are something other OSs don't have. Having so much control actually gives you opportunity to lock systen to specific versions of everything and run it that way for say 20 years. If you don't want you don't have to upgrade. It has drawbacks, mainly security, but it may be great for some very specific usecase where you need rock stable OS and don't want to fix what new updates break every so often. Such case often oncludes running the OS not connected to the internet (ie. printserver for some old but valuable printer that you wouldn't be able to use otherwise).
This is just not true. Windows has logs, MacOS definitely has logs. There's a lot of online information. And there is much you can control on ALL OSes. And you can also break stuff and fix them too. You think you can't develop kernel modules for MacOS or Windows? Never opened the console app on MacOS to debug issues?
This whole exaggeration of "nothing is possible on Windows and MacOS" is not helpful in these topics.
You can't develop kernel modules for (modern) MacOS: anything you want to do has to run is userspace. We were definitely all forcefully reminded recently (crowdstrike) though of how possible it is to write windows kernel modules.
It is my general experience that the system event viewer on windows is barely usable compared to the breadth of information available in journald, in part because I don't think (but happy to be corrected) you have anything like the linux kernel logs directly interleaved and filterable with respect to application level logs. Admittedly it's been a long time since I developed anything for windows, so I am happy to be corrected. It's also true that typically everything I have loaded in my userspace has source available so drilling directly to the source of some interesting log message is always possible. However I'll concede the for the average consumer of PC hardware it's pretty unlikely that this leads to actionable insight. On the other hand it does lead I think to a far more readily available group of people who have direct knowledge of how the sausage is made, and I think that's where a lot of this "you can't fix windows problems" mentality comes from. I don't have direct access to anyone in Redmond. Vendors of most prop software put up insurmountable barriers to getting to talk to someone who actually knows what's up. Just not true in the world of FOSS. You either can interact with the devs, or if you have the skills you can just fix it yourself.
I mean... https://www.youtube.com/watch?v=iyA9DRTJtyE&t=397s watch 10 seconds of this video (at the timestamp provided). This is where this perception comes from, imo. AMD has no such advice for linux, because all of the scheduling is already just working, and if it wasn't AMD could (and does) contribute fixes to the kernel to make it work.
Agree.
It has also been a long time since I worked on a kernel module, but quickly glancing over the Apple docs makes me think that is still very much possible.
I guess I don't really see these as kernel modules, because if any program living in userspace that interacts with the OS via a systemcall interface is a "kernel module" then reasonably it seems like every program in MacOS could be labelled as a kernel module. I get that given the hybrid nature of the mach kernel this is perhaps unfair, but I only mentioned this as a counter to the idea that you are getting to peek behind the curtains. I'll concede it's not a particularly strong point :)
What I meant is that you can work with the OS itself, not just debug your program or framework. It is much easier for me on Linux than it is on Windows machine. Partly vecause I'm used to it and partly because Windows has this modern UI where you don't find many things and you have to go either to command line or click through to the XP era dialogs to get to what you want to change.
+1 for what @Wes said about software distribution. Yes, there is Windows Store and Mac App Store, but when was the last time you actually installed something from there? Linux is the only operating system where the "just click install" thing is widely adopted, and now it's even more so since Flatpak and Flathub became a thing.
My experience with the Mac App Store has been pretty great. But the problem with it is that not everything I need to use is on it. The same is true with the Windows Store, but the experience actually using it is middling at best, and typically much worse.