this post was submitted on 16 Feb 2026
51 points (93.2% liked)
Linux
12337 readers
422 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Systemd is somewhat modular, as you don't have to use every feature of it. They will be still sitting on your drive, but not consuming any cpu cycles. Like the kernel. It's not a problem it contains code for hardware you don't have, but somehow it's a problem for systemd
It's not true everything is running as pid 1. on my pc these are running under different pids, you can check it yourself:
ps aux | grep systemdI agree it's a problem it's becoming a hard dependency for a lot of semi related projects though, it would be healthier for the whole ecosystem if systemd would be replaceable.
Are these "other features" hard dependent on systemd? If yes, how are they modular (or portable)? "My program can be used on any system with a couple of small dependencies: Linux kernel, glibc, and the systemd Kernel" /j
There are some attempts to use systemd tools independent for it, like elogind and eudev, but see what I mean. Hard forks (with major rewrites) are required because these tools heavily depend on systemd, which fine I understand having dependency, but you cant just use part of systemd since it is to tangled together. It would be nice if mire of systemd code was available as separate libraries so you could further reduce attack surface by building a significantly slimmed version of systemd+feature. I am unsure if you meant modular as in "you can choose to enable them" or as in "you can build without them" or both.
Also, I never claimed systemd ran everything under pid1, just plenty more then the should be, like init plus service manager (and more), not every single systemd tool because that would be beyond stupid and systemd isnt made by idiots.
That's 2 different things. Gnome is hard dependent on systemd (or will be, I don't follow its development that closely), but not part of it. This was big news last year: https://blogs.gnome.org/adrianvovk/2025/06/10/gnome-systemd-dependencies/
That's what I write about at the end. And I think this is not good.
You can disable modules of systemd, if you want to use alternatives. E.g. systemd-resolved is part of systemd, but usually disabled by default (at least on Arch), and you can use different dns resolvers if you want, like resolvconf from freebsd, or the linux kernel has built in functionality for this as well. https://www.man7.org/linux/man-pages/man5/resolv.conf.5.html
This is a module of systemd, installed with it, but you can disable it and use alternatives. A lot other parts work this way in systemd.