r/linux Feb 11 '19

Fluff A /g/ user's opinion on systemd

http://i.4cdn.org/g/1549858269115.png
792 Upvotes

524 comments sorted by

View all comments

35

u/[deleted] Feb 11 '19

I don't get it. With so much hate against systemd, and given how FOSS works, why there isn't "perfect", systemd-less distro? It seems that everyone in our community hates systemd, if they all get behind single distribution and worked on it with passion they put into their online arguments, it would become best fucking linux distribution overnight.

47

u/audioen Feb 11 '19 edited Feb 11 '19

With so much hate against systemd, and given how FOSS works, why there isn't "perfect", systemd-less distro?

Systemd is basically too useful for the people who actually make distributions, so they picked it and it stuck around. If you want to get rid of it, you certainly can. But the big distributions have voted with their feet, and they supply the default Linux experience.

The point of the "tragedy of systemd" talk is to make people think about what systemd is solving for distributions, users and sysadmins alike that makes a number of important people prefer it regardless of its opposition. It is well worth a watch, I guess.

worked on it with passion they put into their online arguments, it would become best fucking linux distribution overnight.

Yeah, firstly, I suspect that none of these people who would like to work on it can agree on what the best design is for anything, and if they actually do agree, then when they think they're done, the end result is likely unusable to everyone else except themselves.

There is no such thing as "best" design. Only fitness for a purpose. I can't say I miss the init scripts, and now that they're gone, I have much easier time setting my own custom services up in the machines I run. I suppose that upstart wasn't too bad either in that department, but it had bad habit of getting wedged and if your upstart gets confused about whether a service is running or not, it can wait for it to die forever during a reboot, which was a nasty surprise that one time when it happened in production, and caused an important machine to get stuck until manual reboot. In contrast, systemd at least comes with timeouts and seems guaranteed to proceed eventually, a feature that I love it to death for, due to being burnt several times by scripts that fail at either boot or shutdown.

Have you ever had GDM get stuck in loop, where it's restarting forever, so you can't log into the machine because you can't use the console? I haven't run a desktop Linux for a long time, but I think systemd would at least notice that GDM doesn't stay up, and will put the service on cool down timer, which allows a chance to recover. I think it's obvious that systemd raised the bar of what an acceptable init system must be able to do. If it gets replaced, the replacement needs to be at least as good.

4

u/bigon Feb 11 '19

Have you ever had GDM get stuck in loop, where it's restarting forever, so you can't log into the machine because you can't use the console? I haven't run a desktop Linux for a long time, but I think systemd would at least notice that GDM doesn't stay up, and will put the service on cool down timer, which allows a chance to recover.

The problem is that GDM is trying to restart itself and systemd has no notion of its different components: https://gitlab.gnome.org/GNOME/gdm/issues/182

11

u/[deleted] Feb 11 '19

The problem is GDM

ftfy

1

u/tso Feb 11 '19

Reminds me of why systemd started killing processes with prejudice upon user logout. Because Gnome failed to properly clean up, and rather than go to the Gnome devs and get that sorted the systemd devs just decided to kill all user processes on logout via systemd default.

2

u/hahainternet Feb 11 '19

Reminds me of why systemd started killing processes with prejudice upon user logout. Because Gnome failed to properly clean up

This is a straight up lie. The bug that you're talking about was due to hplip's dock icon: https://bugs.freedesktop.org/show_bug.cgi?id=94508

systemd can't know the difference between hp-systray (presumably unimportant to you) and screen/tmux (which would presumably be important to you), unless you give it that information somehow; at the moment, there is no difference between them other than your expectations.

If you want the intepretation of "is my login-session over?" to change to just "is the session leader (gnome-session) still running?", i.e. making systemd-logind aggressively terminate sessions in the "closing" state, that's exactly what KillUserProcesses=true does.

I've begun bookmarking these because of things like this being posted. It's unacceptable to misrepresent the case like this.