I started with Ubuntu, but got turned off my lack of stability, Snaps, old kernels, and obnoxious marketing. I switched to Debian, which fixes most of these issues (but not the old kernels). I like that Debian still uses apt-get and has a huge repository. The smaller repo is what keeps me off Fedora. If you're an Ubuntu refugee looking for a compatible distro, give Debian a try.
A long time ago there were good reasons for Ubuntu to exist. Debian releases were very slow, sometimes years apart, and focus was on servers. But slowly Debian has incorporated all the things that make Ubuntu better than Debian. It also has a much faster release cycle.
There hasn't been a good reason to use Ubuntu over Debian for years.
It just works. It's stable, I don't need to worry about breaking updates and changes anymore. I'm at peace for at least 2 years.
And all the software I care about have their own deb repos or are self updating (Firefox, Chrome, VS Code, Cursor, Signal, Slack, etc), so I always have up-to-date versions. There is flatpak as well but I really didn't have any need for it for now.
It's the best combo, stable unchanging base and up-to-date apps.
Been on testing for years without problems. Super reasonable choice for a personal machine if you need recent software versions.
Always use a separate partition for /home, have backups in place and your golden.
You can also use apt-pinning to set priority for which release to use.
A long time ago I ran stable, and pinned testing at low priority.
Across the decades I've slowly upgraded my stance. Now my machines run Debian Unstable, with testing and experimental pinned at very low priorities. Unstable does sometimes have unsatisfiable dependencies, so it's good to have some other options. And sometimes I just want what's coming for a specific package or kernel, and experimental will often be there.
Although I love Arch and use it on my main laptop, if you’re like me and you have a closet full of geriatric thinkpads, Debian is great. The one thing Arch / pacman struggles with is long intervals between updates, so if I boot a machine every three months, I’d rather have an OS in a state that was planned to persist for years.
NixOS suffers a little from rapid upstream changes like Arch. You can pin nixpkgs and bump when you feel like it (or when a version of something isn’t recent enough), which is great.
However, bumping every three months always renders my configuration broken because of some expression being deprecated. One time it was how pulseaudio got enabled. Last it was how nerdfonts were organised.
I like how nixpkgs gets better. I don’t like thinking “I guess I’m not upgrading packages tonight, I’ll just roll back.”
This is so true. I had wondered if it was just me somehow messing my various manjaro/arch machines.
Coming back to a hobby laptop and finding it unable to function because mirrors have been updated or whatever was a really painful thing to find out after a few months away.
I've used ubuntu on and off for a while now, and I've been debating switching over my main computer from windows to ubuntu. Would you recommend Debian instead? Are there any downsides/incompatibilities I should be aware of before doing so? I've used Raspbian a reasonable amount, but mainly for normal raspberry pi things instead of as a desktop system so I've don't really have much hands-on experience with it
I would recommend Linux Mint first. It's definitely one of the best distros out right now and great for people coming from Windows.
There is also a Debian edition of Mint called LMDE. I would recommend Debian second and I wouldn't recommend Ubuntu at all, mostly because of the SNAPs but also because they really gave up trying to provide a good desktop experience when they stopped Unity many years ago now.
As someone who has not used Windows for years now, Ubuntu is fine, but personally I ended up switching to Fedora after a while. But I think people will always have problems with any OS and you'll hear about those more than the people that are running without issue.
It's not just the command that one types. DEB packages are more widely available than RPM. The Debian repositories are larger. And for all its flaws, I find dependency resolution is done better on apt than the alternatives.
Well yes: if Canonical cared they could make most of their snaps work almost as good as the Debian packages they dropped, and then it would be the same to the user.
But also no: even if they spent years catching up they would not reach the level of not-sucking that .deb get without extra effort, as a result of decades of policy ossified into the supporting tools. Such as the strong expectation that apt deals with packages that can be (re)built from their declared inputs and share common build-essentials. Whereas snapcraft does not even provide the tools yet to easily rule out building from ephemeral inputs or merely-accidentally working rust versions.
I moved from debian to ubuntu because stable was too slow and testing was too unstable. Been on ubuntu on my laptop for 15 years, just seems like a hassle to move now, despite the straws (snaps etc)
I started off liking snaps, then ran into all its failure modes. Like constantly getting a warning from IntelliJ IDEA about a new version being available, but only if I quit out and manually upgraded the snap (now I use Jetbrains Toolbox). Or the snap version of Docker taking _minutes_ to shut down on every reboot and resetting the owner/group on the docker socket every time it restarts.
My desktop now runs Aurora, which is itself a respin of Fedora Kinoite. Anything that's genuinely "system" level is installed with rpm-ostree, there's the occasional flatpak, but most things are installed with linuxbrew. But most days I'm just using my MBP (my desktop isn't even powered on right now).
I liked linuxbrew up until it set up python in a way that broke a lot of apps for me. I keep meaning to give it another try, but there are only so many hours.
Ubuntu used to be what Fedora is now - a common-sense desktop distro for regular people. At some point though it completely jumped the shark and started inventing things nobody wanted (typical of corporate-controlled software).
Fedora 22 (released 2015) switched default package managers from yum to dnf. dnf is faster, and better at resolving complex dependency chains. Additionally, its better at rollbacks on the rare occasions these are required. apt-get might still be a hair faster, but they're pretty comparable at this point.
If I had a nickel for every time the Linux community reinvented the wheel for things nobody asked for, but refused to implement a feature everyone asked for...
A scary amount of critical FOSS projects are just some guy's hobby, and a hobbyist will often work on problems they find interesting, regardless of whether or not they're important for the "community".
If you're coming home from work and have one hour of free time, do you really want to spend it investigating why a Meta+Shift+F11 doesn't work in your program under Wayland on Womperloo Linux 11.4?
That's the #1 reason why people need to be paid to work on important software. In a corporate environment (with somewhat reasonable management) boring but important work will land in someone's Jira ticket and they'll be paid to get it done.
> things nobody wanted (typical of corporate-controlled software).
I mean, can't you say the same thing of Fedora? Podman, Systemd, Wayland and tons of other software was created by or sponsored by Red Hat because everything has to be done their way. Canonical tried the same, to much less success, with LXD, Upstart, Unity. But it's literally the same playbook.
Well, at least all of these efforts were and are open source.
Of the three you mention, the only one where you might have a point is Podman (and even then it's not entirely black and white, for example Podman's most appealing feature is not having a daemon).
Systemd was the second attempt at a new init system. The writing had been on the wall for a while for sysvinit, it just turned out that upstart wasn't really fixable. Later, when systemd started trying to unify more aspects of the distro, a lot of the conventions that were adopted didn't even come from Red Hats distros.
And while Wayland was started by a Red Hat employee on his own time, most of the development was done by Intel if I remember correctly.
It seems to me that you confuse "Red Hat is really good at building communities where everyone can contribute what they'd like" with "Red Hat forces what Red Hat wants onto everyone else". And yes, it helps that everything's open source and without a CLA.
> Podman, Systemd, Wayland and tons of other software was created by or sponsored by Red Hat because everything has to be done their way
Not saying that you are not right, but for clarity, on Podman, and in lesser terms Systemd, there are valid points from RedHat - at least from my perspective as system administrator. I suggest you to make your own mind from this article[1].
> According to Walsh's presentation, the root cause of the conflict is that the Docker daemon is designed to take over a lot of the functions that systemd also performs for Linux. These include initialization, service activation, security, and logging. "In a lot of ways Docker wants to be systemd," he claimed. "It dreams of being systemd."
My key take - Docker's developers cared about moving forward fast and making dev's life easier, not about integrating into existing systems well (which probably alone is the reason why Docker was born - see how FreeBSD guys keep believing they have Jails and it's superior over Docker).
Their Firefox snap is pitifully slow on my relatively high-end PC. It’s an embarrassment that it was shipped so broken as a default to end users.
Distributions are mattering less and less these days, with Flatpaks looking like the path forward for the end-user applications, and docker for many services.
So all I want now is for the distribution to get out of the way, and Ubuntu has become a relatively poor choice for that.
Just curious, why not simply stop using snaps? On my machine, the whole snapd* can be removed, and mozilla offers pretty high-quality ubuntu repo for firefox.
They're doing sly things with snaps, like automatically installing the snap when you try to apt install something. I wouldn't put it past them to try to reinstall snapd without notification. It's easier to just move to a system you can trust.
Been saying this for a long time - there's a lot of reasons to not like Ubuntu: mine is that they absolutely ditched the "Linux for human beings" motto and you can no longer feel the ubuntu in it. Been more than 15 years since I used it and feels like it has been spiraling down ever since.
But for many of us it is/was the gateway to Linux and I'm grateful to it for that.
Agreed, Ubuntu is poorly engineered, they still use some sysv init scripts behind systemd units, which is embarrassing, and I have never managed a successful update.
Fedora is great, I did not have half the problems with it that I had on Ubuntu. Every single update went super smooth.
The one downside with Fedora is that you don't really have LTS and there is no rolling releaste that is intended for daily use, but otherwise it's perfect.
My first ever Linux distro (years ago) was Redhat 7.2. I LOVED it! Eventually working mostly in the corporate (Microsoft dominated) world I lost track of what was going on the Linux world. Few years ago, when I was trying to get out of Microsoft again, a friend recommended Ubuntu, and I hated it. It felt very bloated, then someone else recommended Linux Mint and I never looked back! I would highly recommend trying it out if you are done with Ubuntu, and it also has LTS releases.
I've never been able to fully use an Ubuntu desktop--the esthetics and UX always felt wrong, and the closest I could deal with was Elementary.
I've pretty much landed on Fedora and vanilla GNOME again for the past two years for many things (including some personal services), with Debian as my go-to for SBCs and servers (and Ubuntu as a fallback if what was available was too old).
Snaps completely turned me off it, and the Fedora Bluefin/Bazzite experience is much better (even if I prefer to run some apps outside flatpack due to too many path re-mappings).
Elementary though, despite the name, is so poorly engineered that distribution upgrades aren't available at all. OS 7 comes out? Format your hard drive. OS 8 comes out? Format your hard drive.
Which kind of defeats the entire point: If you set up Elementary OS for someone with elementary computing knowledge, can you blame your grandparents in 4 years for a wildly out of date Linux computer? What grandson wants to download all their pictures, tax forms, emails, and copy it all back in place every few years?
As I said in another comment, it's ironic that a Linux distribution could be said to take the crown for form over function, more than any other OS.
Here I usually get flak for claiming Linux desktop is simply still not there for my granps, and I think it's (the flak) totally undeserved: the gramps have zero chance to update it, and for me it's a whole afternoon mucking with console and packages and whatnot, regardless of distribution. I got used with the idea though, and said gramps are still more secure even if I get around updating their machines only every few months (but the food you get while updating, yum so worthy).
Yep, this turned me off from Ubuntu as well. Pop!_OS fully removed snaps, which is great, but man they're behind the times.
kde-neon fixes a lot of the problems I have with the UX of Ubuntu, but KDE is getting weirder and weirder, and (for me, specifically with zoom) is still behind other WMs in its Wayland support. Looking at this point to go back to a tiling WM like sway on top of kde-neon, which is so weird to say.
I want to love Pop!_OS but every single time I install it, I do something that completely breaks X within the first couple boots. I don't know what I'm doing but I've had this happen across multiple machines. Never had the issue with Ubuntu nor Debian.
There hasn't been a good reason to use Ubuntu over Debian for years.
Many Ubuntu 3rd party repos have no Debian equivalent. But there are more Debian repos than before.
It just works. It's stable, I don't need to worry about breaking updates and changes anymore. I'm at peace for at least 2 years.
And all the software I care about have their own deb repos or are self updating (Firefox, Chrome, VS Code, Cursor, Signal, Slack, etc), so I always have up-to-date versions. There is flatpak as well but I really didn't have any need for it for now.
It's the best combo, stable unchanging base and up-to-date apps.
This way, you can also have a rolling distro.
https://wiki.debian.org/DebianTesting
A long time ago I ran stable, and pinned testing at low priority.
Across the decades I've slowly upgraded my stance. Now my machines run Debian Unstable, with testing and experimental pinned at very low priorities. Unstable does sometimes have unsatisfiable dependencies, so it's good to have some other options. And sometimes I just want what's coming for a specific package or kernel, and experimental will often be there.
https://jaqque.sbih.org/kplug/apt-pinning.html
However, bumping every three months always renders my configuration broken because of some expression being deprecated. One time it was how pulseaudio got enabled. Last it was how nerdfonts were organised.
I like how nixpkgs gets better. I don’t like thinking “I guess I’m not upgrading packages tonight, I’ll just roll back.”
Coming back to a hobby laptop and finding it unable to function because mirrors have been updated or whatever was a really painful thing to find out after a few months away.
There is also a Debian edition of Mint called LMDE. I would recommend Debian second and I wouldn't recommend Ubuntu at all, mostly because of the SNAPs but also because they really gave up trying to provide a good desktop experience when they stopped Unity many years ago now.
Does that really make a difference? From a user perspective it's only replacing apt-get install by dnf install or pacman -S or apk add
But also no: even if they spent years catching up they would not reach the level of not-sucking that .deb get without extra effort, as a result of decades of policy ossified into the supporting tools. Such as the strong expectation that apt deals with packages that can be (re)built from their declared inputs and share common build-essentials. Whereas snapcraft does not even provide the tools yet to easily rule out building from ephemeral inputs or merely-accidentally working rust versions.
The people moving OSes in response to Snap presumably have strong opinions on package managers :)
https://wiki.archlinux.org/title/Pacman_Rosetta
I use Bodhi Linux but, besides the Desktop, this is bascially Ubuntu.
I'm more and more disappointed that packages are snaps and not directly installed via apt, myself.
if the issue with the current stable version of debian are certain packages - like the kernel -, try debian backports
* https://backports.debian.org/
they have a list of available packages at
* https://packages.debian.org/bookworm-backports/
ps. yes, using testing is another possibility, but for serious systems i personally prefer the "stable" release :))
just my 0.02€
Huh. I didn't notice that in my personal experience. And with Fedora I at least get recent versions of software.
My desktop now runs Aurora, which is itself a respin of Fedora Kinoite. Anything that's genuinely "system" level is installed with rpm-ostree, there's the occasional flatpak, but most things are installed with linuxbrew. But most days I'm just using my MBP (my desktop isn't even powered on right now).
It comes by default with the Bluefin family developer editons.
https://projectbluefin.io/
If I had a nickel for every time the Linux community reinvented the wheel for things nobody asked for, but refused to implement a feature everyone asked for...
If you're coming home from work and have one hour of free time, do you really want to spend it investigating why a Meta+Shift+F11 doesn't work in your program under Wayland on Womperloo Linux 11.4?
That's the #1 reason why people need to be paid to work on important software. In a corporate environment (with somewhat reasonable management) boring but important work will land in someone's Jira ticket and they'll be paid to get it done.
Wayland is the primary example.
I mean, can't you say the same thing of Fedora? Podman, Systemd, Wayland and tons of other software was created by or sponsored by Red Hat because everything has to be done their way. Canonical tried the same, to much less success, with LXD, Upstart, Unity. But it's literally the same playbook.
Well, at least all of these efforts were and are open source.
Systemd was the second attempt at a new init system. The writing had been on the wall for a while for sysvinit, it just turned out that upstart wasn't really fixable. Later, when systemd started trying to unify more aspects of the distro, a lot of the conventions that were adopted didn't even come from Red Hats distros.
And while Wayland was started by a Red Hat employee on his own time, most of the development was done by Intel if I remember correctly.
It seems to me that you confuse "Red Hat is really good at building communities where everyone can contribute what they'd like" with "Red Hat forces what Red Hat wants onto everyone else". And yes, it helps that everything's open source and without a CLA.
Not saying that you are not right, but for clarity, on Podman, and in lesser terms Systemd, there are valid points from RedHat - at least from my perspective as system administrator. I suggest you to make your own mind from this article[1].
> According to Walsh's presentation, the root cause of the conflict is that the Docker daemon is designed to take over a lot of the functions that systemd also performs for Linux. These include initialization, service activation, security, and logging. "In a lot of ways Docker wants to be systemd," he claimed. "It dreams of being systemd."
My key take - Docker's developers cared about moving forward fast and making dev's life easier, not about integrating into existing systems well (which probably alone is the reason why Docker was born - see how FreeBSD guys keep believing they have Jails and it's superior over Docker).
[1] https://lwn.net/Articles/676831/
If it is the same playbook, Ubuntu is wildly outclassed here.
Their Firefox snap is pitifully slow on my relatively high-end PC. It’s an embarrassment that it was shipped so broken as a default to end users.
Distributions are mattering less and less these days, with Flatpaks looking like the path forward for the end-user applications, and docker for many services.
So all I want now is for the distribution to get out of the way, and Ubuntu has become a relatively poor choice for that.
But for many of us it is/was the gateway to Linux and I'm grateful to it for that.
Fedora is great, I did not have half the problems with it that I had on Ubuntu. Every single update went super smooth.
The one downside with Fedora is that you don't really have LTS and there is no rolling releaste that is intended for daily use, but otherwise it's perfect.
I've pretty much landed on Fedora and vanilla GNOME again for the past two years for many things (including some personal services), with Debian as my go-to for SBCs and servers (and Ubuntu as a fallback if what was available was too old).
Snaps completely turned me off it, and the Fedora Bluefin/Bazzite experience is much better (even if I prefer to run some apps outside flatpack due to too many path re-mappings).
Which kind of defeats the entire point: If you set up Elementary OS for someone with elementary computing knowledge, can you blame your grandparents in 4 years for a wildly out of date Linux computer? What grandson wants to download all their pictures, tax forms, emails, and copy it all back in place every few years?
As I said in another comment, it's ironic that a Linux distribution could be said to take the crown for form over function, more than any other OS.
Yep, this turned me off from Ubuntu as well. Pop!_OS fully removed snaps, which is great, but man they're behind the times.
kde-neon fixes a lot of the problems I have with the UX of Ubuntu, but KDE is getting weirder and weirder, and (for me, specifically with zoom) is still behind other WMs in its Wayland support. Looking at this point to go back to a tiling WM like sway on top of kde-neon, which is so weird to say.
One person's "behind the times" is another person's "delightfully stable".
But yes, wondering what happens when they finally release their DE.