Which distribution(s) do you run on your desktops/laptops/servers?
Why did you choose them?
What problems do you face with them and what changes would you like them do make?
Used to use Ubuntu, but then they lost their way and went all sucky (both Canocial and the software itself).
Used to use CentOS, but then they lost their way, e.g. CentOS 8 was in the pipeline for an eternity, meaning CentOS 7 packages became increasingly rapidly obsolete.
Tried Alpine Linux, I really wanted to like it. But it sucks. The team managing the AL product is a bit stretched. Plus some of the design decisions make it a bit of a pain (e.g. DASH, musl libc etc.)
Tried OpenSUSE but found it a bit too opinionated for my liking.
So I settled on Debian, and the same on the vast majority of server instances at work.
Debian is solid and well maintained, and I prefer their erring on the side of stability rather than bleeding-edge (most of the packages are still reasonably in-date).
* They ship a ton of mingw-w64 libraries. It's super nice to not have to cross-compile a bunch of dependencies when I'm building something for Windows.
* They ship debuginfo packages for everything. This was one thing I really missed when I used Arch, where I'd have to rebuild packages with "options+=(debug)".
* "dnf shell" exists, which lets you do multiple operations in one transaction that would otherwise cause conflicts if done separately. I'm not aware of any other distro package manager that supports this.
As for the problems, on the desktop side I wish it was more polished. For some reason every time there's a wireless printer in the network it tries to reinstall it (fix: sudo systemctl disable cups-browsed), error reporting is annoying (fix: sudo systemctl disable apport), can't easily set full RGB out on HDMI (fix: xrandr --output HDMI-1 --set "Broadcast RGB" "Full"), volume change is laggy on some soundcards (fix: enable-deferred-volume = no) and small quirks like this.
Nowadays I run mainly Ubuntu LTS in production for my clients, with some AWS Linux sprinkled in. The reason is that it's fairly well-known so it's easy to find up-to-date ppas for most software as well as people who know how to use it. It's all managed by SaltStack.
On my work laptop I run Arch. I like using a minimalist WM (i3) and don't need all the random helpers running in the background. I figured it's easier to start from scratch and add just what I need instead of trying to remove clutter. I also quite like having recent versions of software, so a rolling distribution is nice. It works perfectly on my HP Probook 430G5 out of the box (stable bluetooth audio, sleep, hibernation, wifi, webcam. Only the fingerprint reader is unsupported).
I've recently tried Ubuntu 20.04 on a desktop. I kinda liked it. As I prefer i3 to gnome, I installed the Regolith packages and it's quite nice. Snaps are a pain though, launching something like Remmina (RDP client) takes forever while it's instant on the aforementioned laptop. However, I'm looking to move this computer to Arch. Mostly so that I don't have to deal with two different systems.
Linux still has video driver issues, but once those things are worked out, it's pretty solid. It's still possible to screw up your bios settings, so be careful there.
For open source development projects, it has great/the best support.
UI is still bad, but I use IDEs and command line. Those things provide some consistency across all the failed window systems.
For desktop I’ve settled on Arch and it’s been smooth sailing for over ten years. The package management is vastly superior to ubuntu/debian and most mainstream distros. As a software developer, I often need recent mainline releases of major compinents like gcc/clang and other such libraries. Other distros force me to manage these manually and tend to have bad packaging conventions.
For server, I tend to do whatever is the “default” of the cloud provider I am working with as they tend to be tested the most and get security patches the quickest.
--
> Which distribution(s) do you run on your desktops/laptops/servers?
Ubuntu 18.04 LTS on desktops, laptops, and servers. We will probably switch to 20.04 LTS later this year or early next year, once it has been tested in the wild for a bit longer.
> Why did you choose them?
Ubuntu works, it has the most support from third parties (e.g., instructions for setting up CUDA devices), and it has the largest community of users online (every Linux user has used it at some point). Why go off the reservation?
> What problems do you face with them and what changes would you like them do make?
None, though I'm a bit concerned about potential issues with the transition to snaps.
On my desktops/laptops, I run Debian Stable, but I feel it is too old for development/common desktop usage, and I waste lots of time manually installing Python/Go/Rust tools.
I am a competent Arch Linux user too, having used for a decade. It has all the tools I need on the latest version, but lately I just shy away from it because it moves too fast and the constant feeling of a "moving target" that can break anytime. Interestingly, in a decade of usage, I only have a couple of big problems that were fixed in less than half an hour, so that fear might be because I'm getting old and a bit lazy...
NixOS requires a high initial investment, but is so reliable and convenient afterwards. Installing multiple versions of software for development is convenient without having to use third party tools.
Sure it has downsides especially if you use weird or old software that is not available in the repository, but nothing an ubuntu vm or docker cannot solve.
Over the past 20 years: Suse -> LFS -> Gentoo -> Arch -> NixOS As you can see, I like to make it difficult for myself, but you learn the most this way.
The problems are associated with the fact it's a niche, research-oriented distro: due to the lack of man-power, one often needs to write compilation recipes for several programs (and potentially having to patch them) before being able to build and run them. Many things that are taken for granted when you run a major distro are not there.
Despite the limitations, I always have a hell of a good time developing and using the distro; it's been 18 years so far. We also have a small community of people who identify themselves with the distro's proposals and who are comfortable enough to live with its limitations. Many of them became active recipe contributors over the years.
- Rolling release with QA. If a package has issues the update will get delayed. It doesn't just update to the last commit blindly.
- Btrfs root partition with automated snapshots. Ext4 and XFS for my home folder. GRUB integration for snapshots so you can reboot to a read-only snapshot and rollback. It's all installed and configured automatically if you want.
--- https://wiki.archlinux.org/index.php/Snapper
- Zypper package manager
--- https://en.opensuse.org/SDB:Zypper_usage
- Automated QA (even for graphical applications)
--- https://openqa.opensuse.org/
- Free build service
--- https://build.opensuse.org/
If you want to install TW I don't recommend the net installer, breaks often and mirrors are slow. For updates switch to a TTY (or use GNU Screen) and run zypper dup, do not update packages in any other way. There's YaST but I don't like using it except for a few tools like Software Management to study package relationships.
>What problems do you face with them and what changes would you like them do make?
It could be my lack of knowledge of the package manager but sometimes I can't remove some packages without removing a lot of related ones (it's not a pattern), or they get reinstalled even with zypper lock. Other than that, best distro I ever used.
Server: I want to move away from Ubuntu (fuck snap btw) but I still haven't decided to what distro. I might just use a container based OS.
For several years previously I ran Arch Linux on laptops, Debian on servers, and a mix of the two on various desktops. I'm generally much happier with NixOS. NixOS-style package management is the future, it's clearly better than all its competitors (I put Guix together with Nix as NixOS-style here). NixOS-style system configuration is also much nicer than most OSes, though the quality of configuration design for different components varies a lot, and I think there could be big improvements to the configuration language and APIs in future OSes that try to improve on the model (largely due to NixOS being the first system of its kind). I'm happy that Guix is also exploring this space and making some different decisions, and it's the only other OS that I would seriously consider right now. All in all, I'm very pleased with NixOS.
I tried Arch and OpenSUSE Tumbleweed and found that things broke quite frequently (~every week), which I couldn't justify for my work setup. Most of the time copr https://copr.fedorainfracloud.org/ has any out-of-tree builds I need. I was a Gentoo user for many years (2006~2012) but again the maintenance burden was quite high, and I could never quite eliminate GNUTLS from my system XD.
For server-side stuff, either I customize Alpine (containers, small devices) or roll with whatever is the default.
The tooling is great: runit, xbps, and xtools are refreshingly simple and sane.
I also like the fact that Void takes the BSD route more often than other Linux distros. LibreSSL is cool.
I don't face any specific problems. Sometimes the changes that experimental software tends to undergo can be challenging to keep up with, but the Void team manages to develop their toolchain without compromising stability. As a result, when behavior changes slightly, I generally find it easy to adapt.
I run NixOS because of its high reliability, stability (upgrades on Ubuntu servers these days go wrong more often than years ago, and NixOS allows you to roll back any change), low maintenance (fully declarative config for all machines, little state to manage), and extreme hackability / ease of contribution (you can override and patch anything declaratively to fix things quickly, and upstreaming is very easy to do via a simple Github PR, which leads to broken things being resolved quickly by its users).
I use it on the startup's servers (for 4 years) and my laptop (for 1 year), and the desktop will join as soon as I have time.
By now I think NixOS is a technically fundamentally better way to build an OS, and as an open-source project it has a great trajectory and community. Also, to my surprise it was the first distro where the Nvidia proprietary driver worked out of the box, and stayed working.
Before this I've used Windows 95 to 7, Suse 9.3, Ubuntu, Gentoo, Arch, Ubuntu again.
What changes would I like NixOS to make? Even more automatic QA, re-running all the GUI intregration tests of e.g. Firefox when any dependency changes. I've written about it on https://discourse.nixos.org/t/steps-towards-even-more-pr-aut....
I started with Debian back in ~2002, which I still love but I prefer Fedora's release cycle.
> Why did you choose them?
I'm a certified Red Hat guy, so Fedora and CentOS were easy picks. Fedora also has good support for Steam/Linux gaming, and it has packages that are fresh. Occasionally too fresh, and I've definitely had an update break stuff
FreeBSD, as mentioned above, was mostly on a lark, or chance to learn the system. Stable, solid back-end system tho.
Linux Mint was mostly because it was laptop and I wanted the drivers to work.
> What problems do you face with them and what changes would you like them do make?
Honestly Fedora is fine as a daily driver these days. Steam works well, and most games work fine with Proton; the handful that don't aren't really the fault of the OS.
Mint has some issues with security and their repos, which makes me nervous, but from a technical standpoint it's fine.
However, I did write a tool that allows me to treat my Ubuntu install like a Docker image.
Darch: https://github.com/godarch/darch
My personal recipes: https://github.com/pauldotknopf/darch-recipes
NixOS is my current most favorite, I'm using it for the last 4 years on my main box at home and my work laptop. Planning to use NixOps for my web project, too.
Gentoo was my first love, Arch was my second choice for low-power machines. Nowadays I can fully replace them with NixOS, because once you grok the Nix language and ecosystem, you can pick any balance between "customize and compile everything" and "fetch prebuilt and lightweight".
Managing your entire OS with a Single Source of Truth becomes a viable and attractive option, and then functional programming can be used to DevOp like never before.
The only problem I see with the Nix approach is the high barrier of entry. You need to become proficient with a large amount of complex concepts, and the go-to sources often talk to you with large inferential distances.
The first things I would contribute, when I get a chance, are an interactive topology browser and a smart generator of skeleton expressions for code and binary sources, with a "nix init" similar to "stack init".
Fedora tends to have pretty up-to-date software (the kernel, especially), but is also pretty stable for me -- I primarily use my computer for development, so they can't get in the way of me working.
In the decade before that, I experimented with distros a lot more. Slackware, Gentoo, Arch, LFS, Debian and variants. I learned a lot about Linux desktop systems doing that: Getting X, wifi, modems, printers working. Fixing things when they broke. But back then, I largely wasn't doing software development -- more sysadmin stuff. I don't do that anymore. I installed Fedora on my current system with a lovely polished installer, and it's almost entirely worked out of the box for me.
These days I almost exclusively use Ubuntu, largely because the free release and the LTS release are exactly the same thing, and are released on a predictable schedule. I used to do mostly CentOS, and liked it, but having to have it at arms length from RedHat did introduce some problems and uncertainty. Debian (and I know some argue this, but I don't agree) doesn't have an LTS release.
I run it on my desktop, laptop, and servers. Nice having the same OS on them all. I can build packages and test things on my laptop, with an eye towards production. Our developers all use Windows.
On the horizon: NixOS. Though I haven't really looked at it seriously.
I use Manjaro.
Started my Linux journey on Knoppix (for coolness), then Ubuntu (for easy/popularity), then Fedora (for serious workstation environment), now Manjaro (for a great UX and not putting up with Canonical's strong flavors on everything)
I use Ubuntu LTS for my gaming box, with as few tweaks as possible. I want my operating systems like I want my woman: stable and without issues.
ubuntu Mate/Manjaro on laptop with a graphics card (what I would put on a desktop if I had one)
Debian/ubuntu server if in need of server.
Debian has quick and easy keyboard shortcuts to easily move/resize windows from desktop to desktop. This is something I am used to do while multitasking.
Mate/Manjaro has integrated NVIDIA support, and more software sources.
If I set up a server, I just like to save time by already knowing commands and programs.
I run Arch for my homeserver as well, but that’s mainly because I run Steam on it (alongside Docker for services)
Arch because it’s a rolling distribution, and because it tried to stick as close to the upstream.
Problems: Reboots in Kernel upgrades. I tried Canonical LivePatch on an Ubuntu server, but it rarely patches without reboots. Kernel upgrades end up with too many broken parts - things like docker for eg. I guess I could switch to LTS kernel, but Arch has spoiled me.
Better security model for desktop applications - neither of Snap or Flatpak comes close. I would be happy if this only solved for limited usecases, even. My primary concern is around apps I install from AUR, and dependencies in my code. And browser extensions. Sigh.
Give me LittleSnitch on my desktop.
I split the hard drive to dual boot, in case I needed access to Windows. And installed Ubuntu on it. The latest release uses Gnome by default, so this was a much better window manager than their previous Unity one.
So far, so good. It works mostly well. The fingerprint reader does not work. This is actually quite handy, especially when coming out of a reboot, or lockout. It works nicely on Windows, but doesn’t work on Linux.
However, one great feature difference between Ubuntu Linux vs. Windows, is the ability to resume. On Ubuntu Linux, I can fold down the laptop lid, and not touch the computer for weeks, and when I reopen the lid, it resumes immediately at where I left off. Whereas, with Windows, it seems to force a reset, and I lose all my previous works, open windows, etc. So, this is a definite big win for Ubuntu Linux here.
Most other things works ok on Linux. Not great, but it’s acceptable. Firefox works ok, but I found a few glitches, where I had to revert to using Chrome on Windows. Although I’m sure I could’ve downloaded Chrome for Linux to use it.
I found reprogramming Linux to automate some tasks, to be much easier on Linux, as opposed to Windows. Mostly because Bash is easily scripted, and all the Bash and Gnu tools, just makes Linux easier to automate. And especially aliases, which can auto set a bunch of commonly used parameters.
Overall, it’s more fun to use Linux on this laptop, than Windows.
Some things about the Gnome window manager does annoy me however. Like, when I try to save a file, or open a file, then the file manager window, takes the entire screen, instead of just being a smaller modal dialog box. But, this hasn’t irritated me enough yet, to find a possible fix for it.
Problems? On two laptops (both Razer blades of different generations) the webcams were glitchy. Dell XPS 15 was fine. Most of the “problems” are known issues with Gnome that apply to any machine and could be addressed with a tiling window manager if I really cared. These were work laptops for my team. Really no major showstopper issues except for one failed release upgrade that required a wipe and reformat of the whole machine.
I might try Arch, as the rolling distro thing seems interesting, and not being forced into software updates is kind of important.
Desktop is a 3-way boot:
o stable KDE Neon for games (via steam) and media
o separate up-to-date KDE Neon for development and fun,
o separate Slackware 14.2/current for low-latency audio tinkering and avoiding systemd in general.
My main gripe with all of these is updates changing things that already work, often for the worse (are you listening, Firefox?!)
But it's still better (for my software requirements and use cases) than either of the two main commercial alternatives, one of which is accelerating ever harder down the road user hostile forced updates and telemetry, while the other has just signaled its intent to obsolete the entire hardware platform of its current user base.
I've thought about switching to Void Linux (no systems), but I'm lazy and don't like trying new things as much as I used to when I was younger.
I chose Arch Linux a long time ago because I liked it had i686 binaries instead of i486 like Debian. I had a 32-bit CPU back then. Also it doesn't come with any crap, so that's nice.
I would like Arch to remove systemd.
I use openSUSE Tumbleweed.
1. Biggest benefit: snapper rollback is so convenient.
2. Yast.
I hate doing sysadmin stuff, so I tried my best to avoid it. As a result, when something came up that forces me to do it, I could never remember where is the config file or what key was to be changed, or what command to run afterwards, since the last time I mess with my system was months ago.
Yast solved that problem for me. Don't have to remember anything, just mindlessly use the GUI.
The drawback would be that a few software don't have an openSUSE package. I'll have to compile it, or not use it.
Desktop, I'm always running a mac. It's pretty, and I can run all my dev stuff from here - terraform, packer, vagrant are my daily drivers. It helps me keep all my runtime code decoupled from the pipeline so that the other devs are able to stay running in whatever they use for local work. It's always too easy to tack weld pipeline constructs in that break the local build model and my mac gives me slightly better results by keeping me on my toes.
Servers, which are always build servers, it's always either Ubuntu LTS, 18.04 right now, or Red Hat 7. They say we're not supposed to name our livestock, but our build servers are Bessie and Clarabelle, 4 years old and banging products out left and right. Having an OS that isn't distracted by its own bling has been a source of confidence to us - the more boring, the better.
I'm kidding, Bessie and Clarabelle are only for our on-prem builds. Everything happening in the cloud exists for about 90 seconds longer than the build process, and then evaporates. And as you might guess, those are nearly always 100% successful builds and the onprem stuff has its own dedicated triage team to try and salvage bad builds (because it's cheaper than starting a new one, sigh)
Did a lot of distro hopping out of curiosity this year, and while I see where the popularity of Arch comes from - especially the docs, but I seem to be prone to breaking it, usually around a package update. That is likely because it is being used as an experimental system, with more config changes than a work environment. Manjaro made that less of a trap for me, and it's DEs are very nicely configured, but I have killed it a time or two as well.
Have a Void VM (glibc) running and that has been really interesting - still on the first image I created with Xfce - and have not managed to get it into a non-bootable state. So far xbps has been very nice to work with, and there seem to bee fewer footguns than with Arch (given my experimental patterns). I'm hoping this distro finds more usage, eventually resulting in community maintained doc quality that would approach Arch.
I switched to Arch and ran for about 4 years. It is such a well documented distribution, and it does not try so much to force everything into being streamlines, it instead respects each upstream package, and documents how to configure it. Installing arm is a lot easier that you'd think, and you get to learn a good deal about how things work.
Ay my jobs, company policies have usually been Ubuntu, and while I do enjoy how most things seem to "just work", I find it more opaque as a system.
Now I'm also running Ubuntu at home, because I'm too lazy to keep up with two different ways of doing the same thing. I've been running ubuntu at home for about 4 years, and while it's nowhere near as elegant as Arch, it gets the job done, and I'll just format and reinstall (like a peasant) if it breaks.
Why: It’s one of the most upstream distros you can get. Following you get latest Kernel, frequent updates with recent packages. It also comes with proprietary software, so you don’t need to mess around with Intel Microcode, NVIDIA drivers etc. It just works- out of the box.
Also interesting why I don’t use... Debian: Outdated packages. Not suitable as daily driver on a workstation. Different branches already messed up my system, so I lost trust.
Ubuntu: I lost trust in Canonical. They used to be Microsoft on open source. Instead of working upstream, they made their own software pieces for their very own goods- and might have ditched it already.
Arch: I used to love Arch. Really, this is my favorite. However, I’m too old or just too tired of starting a Linux “from scratch”. All the pre-condigured derivates are nice, but they waste the idea behind Arch. So, use vanilla Arch or leave it.
Suse: To be honest, I never tried it for too long. Just remember times where you had to buy a 90DM package containing 6 CDs and a manual.
On servers: Debian. Arguments already mentioned by others.
20.4 for desktop and 18.04 for servers. It has its issues but you're most likely to find a quick solution for it compared to the rest.
Though during my experiments I did find that clear linux does give you an amazing performance boost but it falls short on usability and big community support so decided to pass but its definitely something to check out.
* desktop(s) - on my own debian / stable (development)
* (my) laptop & all desktop/laptops of "family-members" which i support for free - linux-mint
* servers - mostly debian / stabe and sometimes centos / rhel
why debian? its rock-solid - "stable" -, has a working dist-upgrade-path and it offers/maintains a vast selection of packages "out of the box" (from distro-repos)
why linux-mint? it looks nice and some edge-cases are easier to handle compared to vanilla-debian - especially: 3rd party drivers for certain hardware etc.
why centos/rhel? server-distro, 3rd party software is sometimes only supported on those
edit: i started with slackware back in the early 90ties, but also took a look on suse - which was slackware-based at first - and redhat ... settled with debian after the "apt" tool was available :)
i'm really happy with the situation of linux today.
sure ... you can always find some details to improve, but compared to the 90ties nearly everything works like a charm ;))
- Getting out-of-tree software to work takes a a little bit longer than on other distros, but once you do it, it's very reproducible.
- The OS itself is centrally configured in a functional way, but individual user environments default to being stateful. I find this to be a good practical divide. Easy roll-backs of the whole system and a very small number of files to reproduce a setup elsewhere
As far as what I've used in the past:
Mandrake -> Gentoo -> Debian -> Gentoo -> NixOS
The second Gentoo represents a long time (about 14 years out of 20). I switched to Debian the first time because the "stable" Gentoo portage got broken twice in under 6 months. Debian was a complete no-go for me because of how conservative it was though. At the time the Linux kernel was getting hardware support at a very rapid rate, so using a kernel even a few months out-of-date could mean no support for your hardware.
I've tried Unbunto many times but every time I have run into something that flat out didn't work, or needed more manual work than Gentoo to get working. One time (in the past 5 years) I had to construct a modeline to get graphics working. I knew how to do that, because everyone in 2000 knew how to do that but in 2016, that just felt primitive.
Other wonderful things that were default in Ubuntu were: when other people log-in, my Xorg session would restart. Adopting pulse-audio when it was still alpha-quality software. The whole snap thing people are complaining about now just seems like par for the course with Ubuntu.
It's possible that Ubuntu is a useful distro for moving things forward (I like pulse audio these days), but I don't want my workstation to be a beta tester for it.
For the desktop/laptop: Arch (or Arch derivative like Manjaro). Why? - it's rolling release, I have always up-to-date software without major updates - has great (the best?) community support: AUR, wiki - it's easy to tinker with/customize
I don’t like Lts Ubuntu because gnome was extremely slow and was sped up significantly in 2019 or so. It wasn’t worth waiting for the next lts version to get that update, but I suspect I could have updated gnome separately.
Use gnome tweak tools a lot and find some gnome extensions you like.
Also, Ubuntu used to support full disk encryption better than some other sisters, but I think the arch variants do it better now?
Personal laptop: Arch Linux. I do a lot of dev and screwing around on my laptop and want everything on the bleeding edge.
Backup home server: RHEL. It's rock-solid and very well documented. This is a machine I want to "just work" without having to do any manual maintenance.
Main home server: Arch Linux. I don't _want_ Arch Linux here, I'd have preferred Red Hat, but I couldn't get PCI passthrough working with libvirt and vfio-pci on this machine. I believe I needed a more modern kernel than Red Hat was maintaining at the time.
I like my stuff to work.
I am considering dropping Ubuntu for fedora because canonical has this darn habit of ruining the desktop experience - one of the last straws for me was this snap thing that breaks a lot of stuff and slows down application startup. I'm not sure Fedora is better, I might have to go back to good old Debian.
Regarding centos/rhel: I am fairly knowledgeable about the system and certified too. It's nice to have something that I know won't change next month following the latest hype.
I stay as far as I can from rolling distros like arch: I've heard too many horror stories from friends where something trivial like a system update broke their system and they had to basically reinstall the whole system. I thought about it and it's not worthy for me.
1. Installing packages via pacman and AUR is much much easier than any other distro I have come across. Every now and then I see people around me using Ubuntu or CentOS banging their heads to figure out how to install the correct version of something very popular like nodeJS.
2. The Arch wiki is fantastic. Apart from all core things, it has a wealth of information about so many things that are not directly related to Arch itself. Reading the wiki is often more productive than reading the first stackexchange answers.
On the other hand, I have been hearing good things about Guix and NixOS. I will be happy if someone who has used both extensively points out why I should be moving to Nix.
Mint because I'm lazy. It uses a Ubuntu LTS kernel. It also has provision for including practically all of the necessary proprietary codecs and peripheral drivers without me having to install them all separately.
MATE because it is spartan GUI and doesn't add too much cruft.
It just works and is basically a better, less bloated Ubuntu.
Debian derives mostly as it just works. Run on netbooks, in VMs and as physical machines. Laptops have given some problems with hibernation/ suspend. Oh I have a Debian as well. Just works!
I seem to bounce between Gnome & Plasma on about an 8 monthly basis. I prefer the look and UX of Gnome, but dig the stability and lightweight nature of modern Plasma releases.
I like the simplicity of Arch, broken and reinstalled enough times over the years that it now only takes <30mins. I tend to get the base install done manually, and almost everything else is configured using Ansible.
Laptop setup is a bit more 'meta'. Running Arch on btfrs with full secure boot and a tidy plymouth boot splash for flicker free boot. Mostly use the laptop for VSCode Remote & Terminal work and so far it's been solid for 24months+
However, I believe the distro is much less relevant than people think. I am using Ubuntu simply because it has the largest community and it is easy to find documentation/fixes/StackExchange posts/etc. The actual value comes from the things on top, such as an efficient command-line setup.
[1] https://tkainrad.dev/posts/setting-up-linux-workstation/
If you have any sort of machine learning pipeline it can be especially frustrating to work with anything other than Ubuntu. Nvidia drivers :(. Arch is fine with it but upgrading again is just more time spent that I'd rather be busy researching.
I love Arch, I love the community and they have the best documentation. However, for me personally being on a rolling release is too time consuming :(.
With gentoo I used it with systemd IMO it solves enough problems that it's worth having.
PS I miss how gentoo allowed customizing packages with use flags and using lto + graphite for compiling system actually provided measurable better performance.
PS2 I choice fedora also because is uses bleeding edge software like Wayland by default.
My main personal distro has been Ubuntu (usually the LTS version) for quite a few years however I recently installed Debian 10 on my second laptop and have been quite pleased with it. Ubuntu is doing quite a few things I don't understand and don't want to take the time to figure out so I tend to have a higher level of trust in Debian. At least I can do a "df -h" and not have it polluted with a bunch of loopback mounts for snap.
Centos for servers: webservers/other services just work, even the older versions
I really have no complaints with how Arch does things, they really make their model work and it works well.
I don't like snaps and windows10 vms should be automated and better integrated (like windows has done to linux). I don't like that they have removed findutils. I do like that thinkpad bios updates is now integrated.
Mostly I think the OS should get out of our way. I might move over to debian as they seem to producing newer packages now.
I choose it because is a funny mix between innovation (rolling, automatic tested, staging project to detect integration problems, reproducible build, etc) and conservative (traditional package manager, all based on RPM, robust good old tech already battle tested).
Finally settled for Arch (with KDE) and using it for 3-4 months now. I love it. It has forced me to learn a lot about linux. And now I realise other distros were too bloated and have a lot of packages I probably would never use.
That being said, I haven't tried Gentoo yet. Hmm. Someday maybe :P
The other exception is in WSL, I use Ubuntu, but this is mostly because there isn't an official WSL Arch Linux distro.
For personal computing I have been on Solus Linux for a few years. I love it. Everything just works and it is really polished. I get newer packages rather than having to deal with debian backports.
For servers I would choose CentOS due to familiarity with RHEL at work and maturity of documentation.
Servers: Debian Stable, because the base system is rock solid, updates/patches are basically guaranteed to never break anything, and if you really really need some specific package to be a new version you can usually get it out of backports.
With Arch it is relatively easy to set up your own derivative that has full access to upstream while adding whatever you need from AUR, quickly. And you get to be the one in charge of making sure the system jells before updating your fleet.
Server: Ubuntu LTS
My employer's standard is Ubuntu servers. For familiarity, parity, and ease of development I've settled on the same.
I've experimented with Arch, Debian, Fedora, and Ubuntu (non-LTS) over the years. I've moved to LTS because I don't want the hassle of upgrading regularly (I've been burned multiple times). The only problem I have with Ubuntu is Snap which I purge upon first boot.
I couldn't ask for more.
Debian Stable for production stuff.
Why? We use Ubuntu on servers and I don't have to mess around with and tweak things as much. I can just get to work.
Easy to configure and use, perfect for every kind of usage (Gaming, Development, Multimedia)
Almost none, the ArchWiki is really full of content for problems you might encounter
All my production stuff is dockerised and running on GKE these days. Most are FROM scratch with a statically compiled go binary in there. Some are on alpine and there’s the odd bit of Debian here and there.
Ubuntu seems fine it provides quick access to the above and works quite well ootb on laptops.
For servers? I'd like to transition to a well-maintained kubernetes stack. I stopped caring which linux distro the k8s distro uses underneath.
I use Xmonad and Xfce4. So the desktop experience hasn't really changed for me.
Why? I've been using RH derived distros since around the RH 6.2 days, and it's always just worked. And I know my way around the ecosystem moderately well, and know how to get stuff done.
I couldn't put Fedora working with Docker the way I like, but someday I'll be back to.
Servers: Debian stable or Centos 8 (depending on the job place)
Also Mx Linux where I need Debian/Ubuntu-like system with a pleasant GUI.
Looking into Clear Linux and NixOS.
For server side usually debian(for single service oriented stuff), if are strong recommendations then Ubuntu(usually for virtualization tolls like openstack ).
Laptop: Arch Linux - Very light, very customized, and it also just works. I have no problems with Arch.
Servers: Red Hat Enterprise Linux Server. It's stable, and since I run it at work it just makes sense to use at home as well. I know in and out how it works and what to expect from it. Only issues I ever have are typically due to a previous admin underprovisioning a machine. Otherwise it's great.
* it's the best documented (by far)
* it's extremely no-nonsense
* it's a rolling release
* it requires you to learn more and take responsibility for difficult decisions (like which network manager to use etc.)
Without it, I can't sleep.
Nowadays I use MX Linux because it gives me stability, performance, and just enough abstraction to allow me avoid excessive tinkering.
Arch seems to me too fast and probably a little unpredictable where manjaro is easy to install and a little bit late to upstream in comparison to other rolling distros.
The last point actually is a plus and I regard manjaro as the most stable rolling distro.
Slackware
> Why did you choose them?
You get a no-nonsense, standard Linux/GNU install without a bunch of distribution specific complexity layered on top.
Debian or Ubuntu or AMI on servers.
KDE Neon is Ubuntu a sane (yeah, I know, not everyone agrees on that) and configurable UI.
I mostly use it on Pi. I use either Raspian Lite for most things or Kali Linux for security.
debian buster on the server i manage; it just works, always, i hope i won't jinx it but never failed me, perfectly stable, reliable, predictiable, security autoupdates enabled without issues
Server: Ubuntu LTS or Debian
I don't understand people who are frantic supporters of some distribution or some packaging system. They are all very similar and it is really easy to hop from one to another in a matter of a day. You just need to think through your first install in the proper way and decide on a stable partition setup where it will be easy to just switch to another one.
At this moment I am running Ubuntu studio on my personal computer. Why? Because I am experimenting with open-source software for music, and Ubuntu Studio is setup in the proper way to have everything audio without much hassle. Before that I had Arch, and although I spent months trying to setup everything to work as I wished, I had many problems. As I said, I don't have trouble fiddling with configurations and recompiling the whole OS from source, I did that many times in the past, sometimes you don't have so much time and you need to appreciate to good effort that some other people put, to have a complete system targeted to some type of usage (such as audio).
When I have a choice, the servers I maintain are running Debian.
The largest problem of many distributions is: - stable distributions use stale versions of software and rolling distributions are unpredictable, so you always do a compromise depending what is your primary target for daily use.
In the past distributions boasted how extensive their library of ready-to-install packages is.
Nowadays, I fear that many distributions will stop supporting most of the software packages except for a very few, and move everything to image-based partial-os-snapshots like appimage, flatpak or snap. The problem is that - while snap, appimage and flatpak are modern ways to have fresh software and they all work in some or another way, the software vendors forget themselves and literally needlessly pack 1GB of libraries for a single mostly useless application, that you use once a month. If you have installed 100 simple applications of 1GB, in the end you will have 100 mounts to virtual drives for 100 too-simple apps, taking 100 GBs.
Instead application vendors should stick to sources that are easy to compile, and sources that are Portable, so that anyone is able to support them on any OS or distro. E.g. like Maven usually works for most Java apps - you just run mvn package and it will download all needed dependencies and run all procedures that are needed to create an installable package of the software, so that it is easy for distributions to pack it and ship it, instead of spending hours and hours figuring out compilation and packaging bugs.