What linux distribution do you prefer and why?

Sorry to be so dense, but how does this help a desktop user reduce maintenance burden? It seems like that one would be maintaining n+1 distros (one for each distrobox/toolbx instance) instead of one. How does this make sense? I must be missing something.

This is nice because it allows me to experiment with Flatpak versions of apps before making the transition. I tried Emacs, which calls a lot of binaries itself, currently it looks like the beginning of long troubleshooting session.

I’m speaking without knowledge of the subject, but if there was a central repository and such boxes were configured as one does docker with docker compose, it would be mostly automatic without much user input. I agree that the user mainting those boxes individually sounds like a pain in the butt and it would be much easier to just use a regular distro that facilitates user compilation like gentoo or arch.

–

Unrelated: Imo it’s counter productive to run LTS distros on desktop at the moment, especially if you run newer hardware or software. It took a few years of people constantly having troubles with outdated kernels for Ubuntu and Mint to wake up and ship newer kernels to users. I’d say recommending these distros to users is even harmful in the long term for Linux adoption and for the sanity of the developers who get constant bug reports of things that are fixed already. We should start recommending distros like fedora, tumbleweed, etc.

The so called ā€œā€œstabilityā€ā€ instead brings instability and issues to people, since they stay with older bugs that have since been corrected. That kind of thing is good in servers but imo as a whole, desktop distros need to start moving forward and offer more constant updates for the average user.

Recently a mesa developer spoke about a constant influx of bug reports from Mint, Ubuntu, etc, users about a bug which had been corrected a month after the GPU was released, but since their kernels were so old, people were still having issues unnecessarily.

5 Likes

Most desktop users don’t mess around with compiling their own software and don’t need Distroboxes. I find that there’s no maintenance burden to running an Arch distrobox for emergency operations. The files that apps running inside the box generates merges with your home directory, or goes in to a directory of your choice. Personally, stability and immutability of my host operating system is my prime motivator and Universal Blue and its derivative images (like Aurora for KDE Plasma) delivers.

Almost forgot, there’s another way to go about installing your software . That’s by installing packages via Fedora repos using rpm-ostree. Packages are then layered top of the immutable system. Removing them results in a system that is identical to where it was before you installed them. The downside (from what I’ve heard) is that updates take a little longer.

2 Likes

After reviewing the links above, conceptually I am enthusiastic about atomic solutions. The base OS being immutable and locked down sounds neat, it is not something I care too much about and I am happy that someone else has thought about the details and worked out a consistent solution for me.

I also like the idea of apps being run in their happy little containers, especially coming via Flatpak. It would mean that the maintainers don’t have to make a .deb and .rpm and whatever for every possible flavor under the sun. Everything just works (at least that’s the idea).

But in pratice, it seems like these solutions are not mature enough yet, and while they do away with some issues, they introduce new ones. Not all applications can be delivered in a neat way via Flatpak without a lot of tweaking, rebooting after rpm-ostree sounds like using MS Windows, which reboots after every trivial change.

Also, a lot of software I use relies on calling other binaries (eg Emacs calling mu, utilities from TeXLive, poppler, etc). I am not sure that the containerized model is the best solution for me, if I have to fiddle with Flatpak permissions, I might as well just compile from source and be done with it.

The bottom line is that I am simply not experiencing the problems that apparently motivate the atomic solutions. I just install a distro, and keep updating it, and it just serves neatly as my desktop as long as I want (I usually reinstall when I get a new SSD, once every 5 years or so).

Just to clarify, I think of my Linux system the following way:

  1. The core system (kernel, systemd, etc), which I expect just to work without having to think too much about it. I don’t care if it is not the latest, as long as it is stable and I get the bugfixes.

  2. Various apps and tools, ranging from gcc to TeXLive to Libreoffice, where I am happy with something relatively recent (6–12m) as long as it is stable.

  3. Programs where I want the new version pretty soon after it is released. These include Emacs, Darktable, Firefox, etc.

  4. Programs where I want the cutting edge occasionally, but these I just compile from source, eg an experimental feature in Darktable.

Debian/Ubuntu works fine for 1–2, not so much for 3.

Apparently Fedora is better, but the atomic versions struggle with 3.

Arch is the best for 3, rocks for 4, reasonable for 2, but I have to invest effort into thinking about 1 which prefer not to do.

IMO this is just what the anti-arch propaganda has made people believe :smiley: Just check Arch Linux - News. There is barely any intervention needed in the last few years, and contrary to popular belief, arch ships stable versions of software and also tests them. It’s not uncommon for a major release of gnome to be released on Fedora first, for example, than on arch. Imo it’s one of the more stable distros all things considered, and there’s always timeshift and other solutions for the fears and anxiety of breaking your system on update.

Personally on arch I never had my system break. When on fedora every major version update would completely obliterate my nvidia driver (kmod version) and make me either reinstall or lose 2 hours fighting it. This was a known bug by the developers and 100% negligence to fix it since it was ā€œnot supportedā€.

It’s not all bad though. I use fedora for work, with integrated intel graphics, and every update has gone well (as expected). But alienating a massive user base of nvidia owners is not the way to go.

4 Likes

There is some of that, but I am not talking about that.

Installing a core system for Linux requires a lot of choices (boot manager, filesystem, init system, zram or not, etc).

When I am installing, I want the distro to either make these choices for me, or narrow them down to a few reasonable options. I simply don’t have time to look into each and every one of these and make my own choices.

When better choices become available, I want some relatively seamless process for the transition (whenever possible; I am not expecting an ext4 to btrfs conversion) — eg how the transition to systemd was managed in Debian. In most cases, I am not following the details closely enough to make up my own mind, or I am not even aware of better options and practices.

Arch gives enormous freedom, but at the same time requires a lot of reading from me. I just want a working desktop that is kept up to date with good practices with minimal intervention.

1 Like

Fair point. I agree on that :slight_smile:

1 Like

So, given the above, would you recommend Fedora for me? Or should I stick to Debian?

1 Like

Yes. In my opinion it’s the best middle ground between LTS and rolling release, and having Red Hat behind it is a good assurance of its quality and long term support imo. DNF is slow but besides that it works pretty well and I never had any problems on a non nvidia machine.

2 Likes

Emacs is a CLI app (?) and should be installed via Homebrew. Dependencies are handled by Homebrew.

I sort of agree abou the maturity. It’s a masonry of technologies cobbled together to solve the problem. But, I still think the (non-atomic) alternative is worse. What would you be doing with rpm-ostree that means rebooting? I haven’t had much problems with Flatpak apps. When an app is not available via Flatpak it’s usually available as an AppImage.

Why should’t number 3 work for Debian? Nothing’s stopping you from using Flatpaks and Homebrew in Debian. :slight_smile:

Actually, I’ve been using (and am still using, on my other computer) a more traditional distro (Tumbleweed) pretty much like how I use Aurora for years. On Tumbleweed zypper is for updating my system and its packages. I use Flatpaks for GUI apps and Homebrew for CLI apps.

The separation of system packages and user facing packages makes for a very stable system and can be the method can be used on any distro. Debian seems like a good option for such a way of life if you don’t need support for newer hardware.

This wasn’t a question for me, but I recommend sticking to Debian if it causes you no problems. You know the system, that’s worth a lot. Each time I’ve changed distro (it has happened less than a handful of times) it was because something was not working for me. I’ve never been able to update Ubuntu without the system breaking. So, that became untenable for me. Manjaro happened to push some updates that broke the system, not OK either.

2 Likes

Learn NixOS. You can have immutability without rpm-ostree, it reboots like a regular distro. Once you get things set up, maintainence is pretty straight forward.

Drawback: learning a DSL, functional programming which alot of people seem confused by, very different from other distros.

3 Likes

I try to make sole motivator for hopping a defunct system. :smiley: But yeah, NixOS looks very cool. Too much of learning curve it seems. Functional programming to handle packages (tell me I’m wrong please) when I’m not a programmer is a decent :mountain: to tackle…

1 Like

If all you want to do is run packages from the repo, its more like editing JSON than functional programming.

The cool thing, at least for @Tamas_Papp, is that it handles emacs really well. I needed pdf-tools and vterm this week, so I added them to my nix config and added them in use-package, and nix put them on emacs’ load path and they just showed up.

2 Likes

Actually, @Tamas_Papp you don’t need to install NixOS to start playing with nix. You can install the nix package manager on most Linux distros. Its already packaged for Debian. Then you can start creating ephemeral environments.

3 Likes

Never had any problems with NVidia during major version upgrades for many years I used their video cards on Fedora. Though I always had NVidia drivers installed from rpmfusion.

Disclaimer: I always wait a few weeks after a new major version of Fedora is released to upgrade.

1 Like

To fix slow dnf switch to new dnf5. It is quite faster and so far it’s been flawless for me on several computers (workstations and laptops) where I run Fedora.

1 Like

I am fine with functional programming — I used Common Lisp for many years. I find the concept of declaratively managing the OS appealing.

But I checked NixOS package versions, and it is comparable to Ubuntu, ie much behind Fedora. Eg Darktable is at 4.6.1.

Modern Emacs is a GUI app, but that’s not the problem with running it in containers. The major issue is that Emacs is almost like an OS onto itself: it has packages, and those packages call out to external binaries, compile their own glue code for various functions using shared libs, and other weird stuff. Decades of accretion and all that. But the end result is just great and unrivaled among editors.

I will be keeping an eye on how the concept of atomic Linux distros develops, maybe it is the future. But at the moment I think that a ā€œclassicalā€ approach works best for me: I like most software packaged by the distro, with a reasonable lag, and I want the distro to make choices for me when I am installing because I don’t want to spend two weeks reading about the choices.

I am of course willing to use Flatpak when there is no distro package, especially for non-free software for which I am more than happy to run in a container with reduced privileges. But I find Flatpak & friends cumbersome as a default use case.

1 Like

If you want newer, use unstable, its quite stable and on the whole has the freshest packages of any Linux distro.

1 Like

Thanks, I’m gonna switch on my work PC :slight_smile: Happy it’s released now. I was following its development but it took so long I forgot about it eventually.

1 Like

According to what I have read, that is not recommended — not surprisingly, (NixOS) unstable is not stable enough for daily use (unless, of course, one is wiling to put up with problems). The recommended approach seems to be mixing in packages with flakes. But then I am on an unstable rolling distro, at least partially.

I am in two minds about rolling vs releases. I think that pure FOSS distros without some corporate support are rarely organized enough to put out two releases per year, it is a giant undertaking mostly consisting of tedious work with the understanding that you are working on something that is 70% obsolete at the moment. It takes a lot of discipline. No wonder Debian releases so rarely.

But from the perspective of someone administering about 10 machines (home servers, various laptops and desktops for family), an organized release cycle is amazingly convenient. I still have to deal with bugs, but I deal with them when I upgrade.

Ubuntu used to be perfect for me, but then they started thinking that they have enough clout to experiment with proprietary or plain weird technologies on my desktop. So I went back to Debian, but that entails /testing, fine for my own desktop but hardly something I want to foist on family members.

I think I will give Fedora a try and see how it goes.

1 Like