Personally I haven’t. While Linux is imperfect, choosing the right distro makes the rest of the experience straightforward. And with it’s whole complexity, I find Linux more user friendly than Windows. Even driver issues, broken shadow file ownership and KDE specifics only made me more confident about my choice to use Linux after I solved everything.


One word:
systemdHonestly, what’s disappointing about sysd? I know it violates the whole does one thing principle and then the whole age bs, but overall I’ve never had anything major with it
Since “do one thing principle” is pretty abstract, I’ll give you one example of a downstream consequence.
I wanted to set up a NixOS microVM using docker sbx. Turns out, it was basically impossible (nothing is actually impossible, it just depends how much you want to modify/rebuild things).
Much of NixOS depends on systemd to manage lifecycles of this or that, but systemd only works properly if it’s the first PID, and when it runs in that mode it also wants to initialize hardware.
But the hardware is all managed by the microVM, so systemd blows up. All it needs to do is nothing, but that turns out to be very difficult to achieve.
If these were like 3 or 4 distinct utilities, there would be obvious seams where I could separate them and only activate the stuff that’s relevant to my use case. But it’s all one big ball of mud.
True, but Linux devs only have a limited amount of time. It’s far easier to take a system that can handle server-farm complexity and apply it to a single user use case, than it is to take a system meant for single users and try to scale it up to a server farm, or to maintain two separate systems.
I’m saying that complexity could easily be modularized inside SysV init, not requiring a restructuring of things like “logfiles are no longer files in /var/log”
That phrase has proven to be a source of endless headaches any time someone in charge is stupid enough to believe the person that tries to sell them that.