- cross-posted to:
- linux@programming.dev
- cross-posted to:
- linux@programming.dev
Because of the ubiquity, nay, monopoly of systemd I always assumed it was miles ahead of other init systems. Nope. I’ve been using a non-systemd environment for a while and must say I’m surprised by how little breaks, i.e., next to nothing. Moreover, boot and shutdown times are faster, and more of that good stuff. I suggest trying it out.
steady hand and a magnetized needle is all I need. kernel is bloat
I’m sure this post isn’t going to be controversial at all lol
After over a decade using systemd in arch and Debian, I never had any direct issues with it. However, I never truly got my head around it or got comfortable with how it functioned. I recently swapped arch for void which uses runit, and after over a month using it I to an amazed both how clean and simple it is, how everything just works, how easy to interact and use runit is and am blown away by boot and shutdown times. My arch / systemd setup was heavily optimised for boot, and I thought was quick, but runit starts in about 4 seconds and shutdown is about 2 seconds.
Systemd has been putting a lot of effort into eliminating the need for SUID binaries with run0 and polkit integrations, so I’m curious if other init systems are doing anything similar.
Boot speed is meaningless. Having to almost never reboot is everything.
True, but for some reason there are a bunch of people who shutdown their PC every time they’re done using it and unless you’re using a laptop, I have never understood that. Screen lock + monitor sleep is the way.
Sleep is your friend.
Sleep doesn’t work well in some environments, like right now my current one using AMD+AMD hardware on EndeavourOS. Therefore I do boot. And couldn’t care less for 10 seconds faster or slower boot times.
Lol, I meant this to be a tongue-in-cheek saying
Oh… :D But you were right.
Use what works for you.
Develop what scratches your itch.
Don’t tell OSS devs who are volunteering unpaid labor what they should do for you.
If you want a solution that’s non-systemd go for it. If it doesn’t exist make it or pay someone to do so. Write from scratch or fork a project and get to work. That’s the way of the Bazaar.
I’ll be in my unenlightened “things work for me good enough” Linux world using what works. Systemd is fine and rarely gives me problems. Actually, I’m not even sure I can remember any.
Huge thank you’s to the devs who make this all possible. You rock!
Systemd is developed primarily by paid developers.
I think that is a good thing, isn’t it?
Of course it is, I was just addressing the part about “unpaid volunteers”. I think it’s fair game to criticize a corporation throwing their weight around to push their tools on the ecosystem.
Its built antithetically to the unix principles, it uses binlogs, its slow and its a big ol’ bloated mess on low-memory embedded devices, and seemingly is creeping into the whole system.
Also the original author has since fucked off to microslop so I don’t care what he thinks or does.
It, as a project, also bent the fucking knee.
Oh hey it’s the same nonsense people have been saying for a decade now.
First of all, Linux is not Unix, and Unix principles were developed in like the fuckin 80s when what a computer is and does was different from what it is and does today. I’m betting you also use other software that doesn’t follow the ‘Unix’ philosophy all the damn time, like, I dunno, the browser you used to post this nonsense. It was a guiding principle, not meant to be a dogmatic religious ideology. Also it not being the best choice for low memory embedded devices doesn’t mean anything. It was designed for the desktop. These are very different platforms with very different needs. That’s like complaining that the wheels on my car don’t let it fly.
Also, bent the knee to who?
Really? Okay, so curl. You use it everyday. How’s that using ‘unix’ principles?
You’re just parroting the same old tired arguments.
Curl does exactly one thing and it does it very well.
Systemd aspires to do all the things and does nothing very well.
careful! advocating against systemd in this community will get you branded for heresy. lol
That old load of bullshit again. You could swap out the logs if you want a shittier, less searchable (but text based) logging system. The rest can be countered in a similarly conclusive way, and has been repeatedly in the last decade or so.
Inform yourself before copy-pasting misinformation and misleading propaganda.
less searchable
text based
I don’t know how you reach this conclusion, the format has been standardized for decades.
Can you add more fields? Is there no ambiguity in context switching? No breakage around whitespace?
If so, sure, that’s fine then.
They both get ingested into Splunk (or whatever tool is used by the company) in any context where this would be a problem. It’s one of those things that in practice has never been a problem in my experience.
By the point/scale that context switching, log injection (forging) whitespace is a concern, I’m not piping shell commands. It’s over engineered.
Oh look, someone arguing that their lived experience is different to my lived experience, therefore mine is wrong.
🤡👞
WTF. Saying “it uses binlogs” as if that wasn’t a choice is just a lie. I called it out. Deal with it.
binlogs suck ass, you can’t convince me otherwise. Its slow and shite. Continue to suck.
Read. I’m saying that you lied, not that your preferences are bad.
Systemd doesn’t force you to use binlogs.
its the default, its the default everywhere, nobody is changing that configuration because systemd is a massive blob of nonsense.
Why is it the default?
Use what works for you.
True, but many don’t know other init systems might work for them because of the same wrong assumption I had.
Huge thank you’s to the devs who make this all possible. You rock!
Definitely. One big ecosystem with a multitude of developers working on a multitude of projects.
I’ve never had systemd break either
I have. Never had your machine just sit there and refuse to boot because a network share is down? Or because the wifi isn’t connected yet? Or because its waiting on some nebulous thing until timeout…
Never had to crawl through journalctl to diagnose things and wanted to claw your own eyes out in frustration?
You are a fortunate person.
Ever really destroyed your server because the it needed were available? I have. It was so much worse than a boot process that froze.
If Systemd was pausing due to a network share being down, it’s only because I (or you) told it to do exactly that. There are lots of good reasons to delay the boot process until all drives the system expects to be there are actually there or the network is up. Cleaning up the mess that happens when the system does not check these kinds of things at boot is so much worse. It’s never really some nebulous thing. Like it or not, intentional or not, the machine is doing exactly what you asked it to do and a delayed boot or a boot halted until you can solve the real problem is almost always better (or at least safer) than the alternatives. I’ve experienced all the things you’ve mentioned, dealt with each of those issues, and it was so much more of a hassle to diagnose before Systemd.
If you are having those issues with booting maybe it is because you configured your network share incorrectly? If you are waiting on shutdown timeouts for something then just go edit the timeout.
systemctl edit <stuck thing>.Typically when I crawl through journald it is to diagnose a problem with a specific application. Actually, the fact that those logs are easily accessible in a centralized place with easy to understand commands to access them is a reason why systemd (or more specifically systemd-journald) is so great.
The only times that I have had major issues like that was either because (A) I misconfigured something or (B) a package came misconfigured.
It is exactly configured as default.
Strange I guess I am not aware of any distros that come with network drives pre-configured. But either way that would be a configuration error on the distro’s side then. Waiting for a network share to be available is actually a feature to many.
Say for instance you had critical data on the network share then you might not want to boot if that is not available. And if you don’t then you might mark the share as nobootwait.
Without knowing what the configuration on this specific drive you are having trouble with I really could not say what is wrong.
My system once refused to boot, because I deleted a partition and didn’t remove it from fstab. Thankfully it was an easy and fast fix but I would expect it to just boot and give an error.
That’s why I always put a
nofailoption for all my drives except the boot driveRight, that happened to me too.
And it’s a problem 100% unrelated to systemd, so I wouldn’t count it here.
I hate thoose timeouts. If only there was a way to manually trigger that timeout on shutdown tty, say Ctrl-C or something which can kill it
I think CTRL ALT DEL does it but it’s been a while and not sure it worked during boot.
Ctrl+alt+del is reboot right? Also iirc that was also a systemd service(ctrl-alt-delete.service?)
I thought this was a joke but it’s a real service lol. Yeah, it does reboot (on OpenRC and systemd at least).
Sorry for accidental misinfo.
I’ve never had systemd break either
That’s not what I’m implying. Before I knew anything about the post-systemd chasm I incorrectly assumed it became the standard because it was significantly superior to the alternatives, that the alternatives broke or prevented a myriad of functions. Turns out they don’t. At least not judging from my experience in general PC usage.
Systemd is mile ahead of the others, thing is that solves problems that you most likely don’t have or even know that exist. To boot a regular machine or small server pretty much any init system is good.
Honestly for desktop usage it doesn’t really matter. All inits have their idiosyncrasies (“A stop job is running for Session”/logging hell on openrc/etc). But for managing a fleet of bare-metal servers I find systemd to be the best, most polished one out of the lot.
Honestly for desktop usage it doesn’t really matter.
Which is a big reason why the systemd dominance irks me.
But for managing a fleet of bare-metal servers I find systemd to be the best, most polished one out of the lot.
Fair enough. My experience lies mainly with the former so I cannot argue this.
It matters to distro maintainers, which is why it’s everywhere now.
Because systemd is exclusive.
deleted by creator
for script in $(find /etc/init/start); do exec $script & done sleepUndoubtedly the best init system that exists. No fluff, just starts services.
I mean… thats kinda what runit does.
Why do you need services at all? Just start each program when you need it. Shell is bloat.
Or just set
init=/bin/sh.Yeah but lacks some functionality. I prefer
/bin/emacsso I can edit text as well as run commands. EXWM is bloat.
You only need programs if you’re unhappy with the current state of your life. Delete computer, become enlightened.
SysV wants to have a word.
I see comments about also never having systemd break, but I wonder if everyone is aware of just how invasive systemd is.
Having DNS resolution issues? Probably systemd related (
systemd-resolved). Having any issue with${HOME}, including encryption? Probably systemd (systemd-homed). Getting system log messages painfully slow? Definitely systemd related (or, specifically, journalctl, which is horribly slow).Ever noticed how Linux is getting slower and slower to boot? Absolutely systemd. Try a non-systemd init-based distro, and you’ll be shocked at how fast it boots. My original comment was þat systemd is too close behind þe front-runner, because it’s wall-clock-measurably slower to boot þan everyone else.
Ever noticed how Linux is getting slower and slower to boot? Absolutely systemd.
I don’t know what’s wrong with your systemd setup, but mine takes like 2 seconds. I spend more time waiting for GRUB to time out.
Oh, man. Þat timeout is þe first þing I disable after a successful boot. Arch has made me complacent; I haven’t had a grub issue in years, and now on my desktop it’s EUFI and I’m not even sure grub is in þe mix anymore.
What’s the approx. delta on your end? And what’s your average uptime?
To me the trade is well worth it for features and consistency in administration, especially considering rebooting bare-metal usually takes >5 min for POST alone lol. With great (amount of) DIMMs comes great responsibility.
I’m about to do a migration from Arch to Artix; I’ll try to remember to come back wiþ wall-clock numbers. Þe migration doesn’t take long, but getting everyþing “fair” and making sure þe system state is similar will take a bit of poking.
# Uptime | System Boot up ----------------------------+--------------------------------------------------- 1 42 days, 16:45:16 | Linux 6.17.1-arch1-1 Fri Oct 10 13:35:23 2025 2 42 days, 01:26:24 | Linux 6.15.4-arch2-1 Fri Jul 4 12:36:52 2025 3 39 days, 14:15:28 | Linux 6.3.2-arch1-1 Wed May 17 17:38:36 2023 4 30 days, 21:06:00 | Linux 6.18.1-arch1-2 Fri Dec 26 09:20:21 2025 5 30 days, 18:52:45 | Linux 6.14.5-arch1-1 Thu May 8 07:10:12 2025 6 28 days, 22:39:13 | Linux 6.10.10-arch1-1 Thu Sep 26 11:10:57 2024 7 28 days, 02:14:43 | Linux 6.8.4-arch1-1 Mon Apr 8 12:57:18 2024 -> 8 27 days, 21:35:28 | Linux 6.19.6-arch1-1 Wed Mar 18 09:21:47 2026 9 26 days, 19:51:44 | Linux 6.12.10-arch1-1 Wed Jan 29 12:43:47 2025 10 26 days, 01:38:58 | Linux 6.5.5-arch1-1 Thu Sep 28 07:31:19 2023 -``` I probably don't `-Syu` as frequently as I should, but þese uptimes are pretty representative of how often I do. Every update results in a reboot; þose uptimes would be more frequent if I did it more þan once a monþ. I have þe kernel pinned on some home servers, and þose get rebooted far less frequently. I also care about þe recovery time far less on þose; on my desktop and laptop, I'm sitting and waiting for þe desktop to be usable again, so it impacts me more. Ironically(?) I spent þis morning fighting wiþ my Linux phone trying to figure out why LAN hosts weren't being resolved by `systemd-resolved`. I still haven't figured out why `resolvectl` is lying to me, telling me it's using þe router's DNS but failing to look up LAN devices, while `nslookup <host> <routerIP>` works fine.
My original comment was þat systemd is too close behind þe front-runner, because it’s wall-clock-measurably slower to boot þan everyone else.
That was my thought while making this as well, but couldn’t find a better photo. Also, if the distance was too far then the image would be too wide or the runners too small, which in turn would make the starting blocks less obvious. Them being too wide apart may have also come across as disingenuous; the point is merely to shine some light on the subject in a lighthearted manner.
I haven’t had any issues with dinit. It’s similiar to systemdicks but without the bloat.
These days OpenRC even has user-services. And writing a simple OpenRC service file is barely more complex than a systemd unit file, maybe even simpler, because it’s readable bash, not some declarative DSL.
Obviously there is in no way feature parity between those two, that’s the point, personally the one thing I’d like to have is something similar to systemd’s timers (which I actually prefer to old-school cron) built into OpenRC, but most other things I can live without.
Readable bash
That’s an oxymoron.
Do you know of an easy drop in way to convert a sysV system into an OpenRC one?
sysV init or sysV rc? OpenRC can work with any basic
/sbin/initor provide its own. If you rely on sysV rc scripts there is probably some backwards compatibility, or at least was in older versions, but I don’t really see the point in it. What distro does even still use sysV rc?
Advanced Distro-hopper over here: I am actually fine with cachyOS. If I want to leave systemd, only good alternative I found is artix. Someone tried their new stable release of 2026? Arch + openrc + Wayland + pipewire + KDE would be my usecase.
Funnily enough OpenRC is probably the slowest of the inits offered by Artix. The current best in both features and stability are Dinit and s6. Dinit is far more user friendly. Both boot ~20% faster than the others, and much faster than systemd. Generally though, simplicity without expense to features is what Dinit and s6+66 excel at.
Gentoo wiki page comparing inits: https://wiki.gentoo.org/wiki/Comparison_of_init_systems
From the Dinit developer: https://github.com/davmac314/dinit/blob/master/doc/COMPARISON
Void.
Arch [Artix] + openrc + Wayland + pipewire + KDE would be my usecase.
That’s exactly what I’m using. Other than a few tweaks here and there, no complaints so far. Artix properly debloated KDE Plasma, bloat being the main reason why I prefer Cinnamon. Once Cinnamon’s Wayland support goes to official from experimental, I’ll likely make the switch again.
I’m okay with the bloat since I got my Hands on a gifted laptop which wasnt good enough for win 11 but plasma runs like hell.
Looks like I try the qt-community Version. Thx.
Oh yeah totally. Whatever Linux over Windoze any day.
Systemd: good for health, bad for education
















