What's your favourite OS that does not use systemd?
What's your favourite OS that does not use systemd?


systemd
cat and GNU cat hugging a Linux cat.
What's your favourite OS that does not use systemd?
systemd
cat and GNU cat hugging a Linux cat.
Why should I not use systemd?
Contrarianism
Perfectly legitimate reason to do/ not do anything
/s
When you want to feel special but not enough to go to the effort of using FreeBSD
I already am special enough, my mom said so
IPv6?
because the over 70 different binaries of systemd are "not modular" because they are designed to work together. What makes a monolith is, apparently, the name of the overarching project, not it being a single binary (which again, it's not)
If I cared about modularity I'd use something like Hurd, but i actually need to get shit done
What makes it a monolith is that the 70 binaries refuse to do their one job (see: Unix philosophy) independently.
A few months ago, a systemd update broke my boot process because I dared set up my device-mapper nodes manually in a minimal initrd without having a second copy of systemd in there as well. The device is there, yet systemd times out "waiting for device". How come then a manual mount -a in the rescue shell works then?
If course, the bug had already been reported and swiftly rejected by L. "Hurr durr bother your distributor not me" Pottering.
When you're not using your computer
What a wild concept
If you have to ask, then there's no reason not to. It's people who tinker with their systems that encounter issues with it, or more often random annoyances that add up over tme to those memes.
Void, because it works really well on my super low-resource chromebook!
any advice for trying void? Ive heard good things but never really gave it a chance.
The gui installer was roughly about as simple as any other distro I've tried, and stuff generally seemed to work out of the box. There are more packages than one might expect from such a small distro too. Not sure I have any advice specific to Void really, although getting a custom bootloader onto a Chromebook was certainly a trip lol
The handbook is outstanding. Read as much of it as you can. Even if you're not a Void user, you'll learn so much!
As a user, why should I care whether the distro I use uses systemd? I use Mint and I don't remember having to interact with that kind of low-level nonsense. The distro maintainers can use whatever reasoning they want to pick these details.
Tribalism exists in every circle, perhaps moreso in tech circles. Ironically anyone who hates on a distro could just switch, or build their own distro if they were so inclined, but it's often the hating that people participate more in than using their system. Use what works for you, and if it no longer works for you use something else.
If you are just a user, in that a computer is just a tool you use, then you're right, there's comparatively little reason to be concerened or even know about the underlying details of the system. If you go further and start making changes to your system, or even building more complex systems, over time you will find yourself forming quite firm opinions about various parts of the underlying system, especially if you've had experience with other options.
As a user, why should I care whether the distro I use uses systemd?
Um, because as a user you may have to deal with services, or other systemd features?
Let's say you want to start ssh-agent
when you login to your desktop environment. Well, there's a systemd service for that that you can enable, and on another distro you'd have to do it another way (autostart script or something).
So the old init.d system was better? Come on people, let's stop infighting. I have zero preference on init systems. You know why? Because they're just plumbing. Stop this nonsense. Do I click on an init system? Do I use the init system to check my email? Or play games? No. I know poettering can be controversial, but let's just move on. Run freebsd if you're so butt hurt.
Yeah, on a desktop I don't really mind whatever. On a server however, I think systemd is great and I wouldn't want to miss it anymore.
except Debian's frankenstein systemd + sysvinit combination. Burn it
So much more than an init system though, which I think is why people don't like it. Personally, the only annoyance I have is I preferred log files over journald.
Its becoming an behemoth and has security disadvantages in theory
So the old init.d system was better?
because those are our only two options...
I hate this argument so much, because it's just a fallacy.
There are (and have been) more solid init systems.
"systemd is the worst implementation of init, except all those other inits that have been tried from time to time" -Churchill, if he had been a nerd
Probably Artix, because it's like Arch, and I use Arch btw
There is an openrc package in aur, so perhaps arch can use non-systemd init as well.
Would probably be a hell to actually implement, as everything is made for systemd (as in, all packages rely on systemd for being run)
Arch can absolutely use other init systems though it is officially unsupported
Scans room
Windows 11.
Chaotic neutral
Init is just that bad. /s
The tasteful thickness of it
An hour in and no mention of Slackware yet?
No, but I use Arch btw.
or Artix btw, if we're in the non-Systemd world
+1 for slackware. rock solid distro.
Thanks for making me not the first person to mention slackware for once. I don't have any beef with systemd. It's just foreign to me. I installed slackware some time in the late 90s and found my life's calling.
Alpine.
Have used crux but using low end / old hardware results in almost permanent building software.
I wonder how far we are from CI drivers ala Nix that fork builds out to idle hardware like a distributed torrent network. As someone with three out of tree modules in use, there must be dozens of us I'd like to think.
That is something I've already run into at my previous workplace. The name escapes me atm...
Since you asked for OS and not Linux: OpenBSD and FreeBSD are beautiful systems w/o systemd. I would switch in a heartbeat if I wouldn't need Linux for work reasons.
This feels like an "I would switch to Linux if I didn't need Windows for work" comment from another universe.
Fair point. :-)
At the end of the day, the OS has to run the software/applications one needs to get shit done... if it is macOS or Windows, that's okay.
In my defense, I ran NetBSD for several years a long time back, and it was one of the best OS experiences I ever had. I am just old/pragmatic/flexible enough, to choose setups with less friction, if possible. ;-)
Still, I think it is a shame that Linux mostly took over the UNIX world and the BDS are left for hardcore nerds/embedding/game consoles and Solaris and co are not viable options anymore. Portable software and its stability benefited a lot from bugs detected on other platforms (OpenBSD was always a forerunner here).
BSD is to Linux users what Linux is to Windows users.
Fediverse has its own baseline.
Debian, installed without systemd as per the wiki. So far I've not hit any issues, whilst I've recently ended up diving through both kernel and systemd code to find the root cause of an issue I was hitting on one server. I could have just bodged past it, but I wanted to actually understand what the issue was, and what else it was going to affect.
Maybe a stupid question, but is the thing you did fundamentally different from Devuan?
Honestly, I'm not sure, I was looking at Devuan, but then noticed that Debian supported sysvinit natively so I went that route instead. I figure that sticking to the source distro was going to give me fewer headaches, and so far it's been plain sailing.
systemd
is fine. The only people I've ever heard complain about it are lonely neckbeards pretending like their opinion somehow matters.
I've used Debian as a server system since it was using init.d
. And do you know what I found? systemd
is easier. And the fact that Debian of all distros decided to use it says a lot.
It says that you barely can have Systemd and alternatives in the same repo without shims and patches.
That wasn't the question though.
There are other init systems.
No its a valid discussion.
It was a decade ago
Most people moved on. Heck, most Linux users have never used a non systemd system.
I was pretty miffed because the switch over on Arch was a pain in the ass. A naïve pacman -Syu and the day was ruined.
ReactOS.
I have no moral or philosophical objections to the design of Windows NT, just the company that makes it and the enshittification. If ReactOS ever becomes stable enough to be daily used I would use it. For now I use LinuxMint and Steam OS at home.
I have a moral objection: backslash ( usage in file paths.
Gentoo with OpenRC
This is the shit.
Gentoo is the best distro, can't imagine going back to binary blobs.
And it's so stable and easy to use.
It needs a solid CPU to update, that's a downside, but for me it's absolutely worth it.
Yeah. I use it with systemd, but I don’t want to miss /etc/portage/patches for example. It’s so nice.
I suppose that would be Android, since that's the only non systemd OS I use.
Same here. Has to be degoogled though.
I used to use AOSP without google apps. But I'm a bit less strict now, after I bricked a phone because I fucked up.
System service managers like systemd, OpenRC, runit, or SysVinit often come down to user preference. While these systems are crucial for initializing and managing services on servers, where uptime, resource allocation, and specific daemon behaviors are important, their impact on a typical desktop or laptop is generally minimal.
For most personal devices, the primary functions of a service manager occur largely out of sight. As long as the system boots reliably and applications run smoothly, the underlying service manager rarely registers as a significant factor in the daily user experience.
For many, including myself, systemd simply works without much fuss. My choice to stick with it isn't due to strong conviction or deep technical analysis, but rather the simple fact that I've rarely, if ever, had to interact with it directly. For my personal desktop and laptop, it reliably handles booting, service management, and shutdown in the background. If it's not broken and isn't hindering my daily computing, there's no compelling reason to explore alternatives.
System service managers like systemd, OpenRC, runit, or SysVinit often come down to user preference.
And coding best-practice. And a philosophy borne of bad luck and bad software that aims to resist monoculture.
But that lennart kid is cool for a Microsoft employee.
Systemd is much faster than other systems on multicore CPUs.
@furycd001 @nutbutter Technically, it's broken. If you run screen/tmux built without systemd support, it will be killed on logout. Systemd requires every program that needs daemonize link libsystemd0 only to notify systemd to keep it running. So it's broken, but worked-around in every software which need daemonize
Systemd requires every program that needs daemonize link libsystemd0
No, that's only if you want the health check feature, so that systemd can distinguish between e.g. "The process is started" and "The HTTP server is bound and listening"
You can run hello world and a sleep()
loop as a systemd daemon. You can run a Bash script as a systemd daemon.
I'm pretty sure that notification is also like 5 lines of code. You read an env var and that tells you a pipe to send a single character on.
You are not obligated to use systemd. And if you were you could certainly layer another init system inside of it
That sounds like a design decision (not saying it's good or bad here), not something broken.
So, running a program incompatible with a particular system leads to incompatibilities?
Wow, who'd have thought...
If you run screen/tmux built without systemd support, it will be killed on logout.
Actually, if you run anything and logout, it will be killed after a timeout. The way to prevent this in systemd land is to enable-linger for that user.
IMO this is a pretty sane default and it's easy enough to disable for users
EDIT: For non-root users
I have to say as someone who uses NixOS I love systemd, because it makes a lot of things very easy. For example hardening services ( systemd-analyze security
) or replacing cron (system timer).
TIL about systemd-analyze security
. Thanks!
I don't care about the init system, however i do love void mainly because of the package manager.
What's wrong with systemd?
All I hear about it is that it doesn't follow the Unix philosophy of a program should do one thing and do it well. And while it does seem quite large and do a lot of things, out of all the times I have broken my system, systemd has never been to blame.
Edit: deleted duplicate comment.
Wait until people find out about the Linux kernel. It does so many things!
It tries to do everything.
Think of a thing you want to do in Linux and there is a systemd plugin for it. It’s not the unix way
Wait until you learn about the Linux kernel and the plethora of modules and patches
Not everything is a file either. I don't see many complaints about that
General principals are great until you take them to an extreme. There's always cases where you need to do something a bit different
Systemd is broken down into smaller parts. You don't need to use it for everything.
I personally do not like that systemd gets more and more integrated with other software. For example Gnome. That makes it harder to use that software on non systemd linux, or other OS.
Nothing, but it's new so people hate it. See also: PulseAudio, Pipewire, Wayland.
It is new if you could something that is 10 years old as new
Normie here, what's wrong with systemd?
Some people think it handles too many low-level systems. It's a valid concern because if systemd itself were to become compromised (like Xz Utils was) or a serious bug was introduced, all of the userland processes would be affected. People who are stuck in the 90s and think that the Unix philosophy is still relevant will also point out that it's a needlessly complex software suite and we should all go back to writing initscripts in bash.
Red Hat, the owner of systemd, has also had its fair share of controversies. It's a company that many distrust.
Ultimately, those whose opinion mattered the most decided that systemd's benefits outweigh the risks and drawbacks. Debian held a vote to determine the project's future regarding init systems. Arch Linux replaced initscripts because systemd was simply better, and replicating and maintaining its features (like starting services once their dependencies are running) with initscripts would've been unjustifiably complicated.
I agree with you, but please let's stop acting like there are only two init systems.
I hate it when people argue that systemd is better than init.d. So is everything else, I'm more than happy with OpenRC, and love it more than systemd.
Nothing, it's just bloated but in practice if your system meets normal distros system requirements systemd isn't going to make that much of a difference in practical use.
Bloated when being run on a potato.
Luckily 99.9% of people do not compute on a potato.
It is modular so you can cut it down to a few megs if you want.
@Gork @nutbutter just look at /proc/1/maps on systemd-powered system :)
I do not see any reason keeping all of this in init. It might be implemented in optional lightweight services, not in single monster-binary
Nothing. Elitists are just smug
Artix with openrc
Void Linux, although I use NixOS nowadays.
GNU cat
You mean GNU cat
?
I like FreeBSD, OpenBSD, Alpine, and Devuan.
Nintendo 3DS
PalmOS. So simplistic yet powerful. I miss those old PDAs :(
There was a lack of sinisterness to the PalmOS ecosystem that we've lost.
Sinisterness?
Alpine Linux would be my favourite, although I only use it as a server distro. I use Artix as my daily driver for personal computers because of the AUR and glibc (Alpine is musl). I also enjoy Void but it's not got as much software as Artix repos + AUR.
I've used Alpine for desktop, it's honestly pretty good, small footprint and has most major desktops and their goodies. If you're desperate for something out of the norm you still have flatpak.
I'm sure it is good for a lot of use-cases, but I want to be able to e.g. play video games without issue. Which is far easier on a glibc system.
postmarketOS, though they are in the process of migrating to systemd. Not that I personally mind terribly much, even if it feels like a bit of an odd choice. So maybe I should say Alpine.
That was one of the things that made me ultimately switch back to lineage, though mostly because none of their documentation is updated to refelct the change, wwhich makes it really hard to fix a lot of things.
what is that little pixel cat at the top? It also appears on https://katia.ripe.net/ is it referencing something?
Oh, I just use this app called ANeko. Here's the f-droid link.
It makes a cat run on my screen all day. It was there when I took this screenshot.
It might be this: https://en.m.wikipedia.org/wiki/Neko_(software)
- A port to JavaScript named Oneko.js is used on various personal websites. 7
That's awesome; I knew I'd seen it around!
OpenWRT
Debian that i haven't updated in 10 years
Come get Devuan.
Neither Haiku or 9front use systemd, and they're both very interesting from a technical and design perspective (though not for their init systems).
If it has to be a Linux distribution I would say Damn Small Linux (DSL), because its really impressive just how few resources it requires. You can run x windows and even browse the web (using Dillo) on a system that's small enough to fit in the L3 cache of some modern CPUs.
I don't daily drive any of these though, so they might not count as my "favorite".
I had a look at Haiku some months ago. Its single user architecture is an interesting choice. I mean, you don't need to worry about privilege escalation exploits, if you are always fully privileged /s
Yeah, it doesn't actually make much of a difference:
Fundamentally the idea of having a separate admin account, which is completely protected, and a user account where everything can mingle together and see everything else, is a 1960s security model. It was originally created for a world where the owner of the computer and the user of the computer were two different people. In that world the user provides all the software that they want to run in their account (they probably wrote it) and the OS's job is to protect the admin account from users and the users from each other.
Fast forward to the present day and this security model is completely mismatched with the reality of a personal computer. The internet exists, the user and owner are the same person, and they're probably not writing all their software themselves. A piece of malicious or compromised software can encrypt every file in your user folder, steal your browser history, your saved passwords, and (on xwindows) record your keystrokes and make your screen display anything it wants, all without privilege escalation. But you can rest assured knowing that the user account can't violate any timeshare limits that the root account placed on it.
The one thing you could argue is that a separate admin account makes it easier to detect and fix a compromised user account, but:
With Wayland and containerized applications we are slowly moving away from that 1960s security posture, which is something that's long overdo. But currently something like Linux Mint is not really much better off than Haiku, from a pure security model standpoint.
In any case its security model is not the interesting thing about Haiku.
FreeBSD! It's so simple, and so reliable
systemd is great
Everybody gangsta until A stop job is running for…
That's not necessarily the fault of systemd.
Anyway that is been fixed on modern systems. I haven't seen that in years.
Windows 7
GNU Guix System, using GNU Shepherd as init. It does its job quite well.
How is Guix? I run NixOS right now, and I didn't find Guix until like right after I invested all the time and effort to learn Nix. I kind of want to switch, but I also don't really want to abandon Nix right after I learned it.
The main difference with NixOS is that it's fully free. Another difference is that the language used for configuration in Guix is Scheme, a general purpose functional language.
In terms of Linux, either Devuan sysvinit, Void, or Alpine.
I am also a fan of BSD.
I have to write startup scripts time-to-time and I have to say that I don’t miss at all the old init-system.
Not that systemd don’t have flaws, but in old init-system even simplest daemon took too many lines. Not to mention hacky comment definitions.
There's new init systems now.
which ones? I wasn't aware there were new ones
OpenBSD
Artix is an under-appreciated gem.
MX Linux of course
I use Gentoo. I install systemd willingly. We are not the same.
It's either Slackware (Linux, no systemd), OpenBSD or NetBSD.
True story: I install a Red Hat server with a disk shelf with about 12 SAS disk in it. Red Hat has systemd. Everything works fine for a month.
One (1) disk out of the 12 fails. No biggie. Shutdown the server cleanly. Replace disk. Flip power back on. Rebuild disk config. Simple, right?
Wrong. You see, systemd is unhappy. It detects a new disk. It has lost a previous disk. And so, it refuses to boot. Period.
Yes, there are ways out of this. But that was the day I decided systemd was the down of the devil.
This has never happened to me on a systemd server before. Methinks you left out some details
Probably systemd panicked because disk id has changed. Not a reason to stop booting but that is why people hate it. Tries to handle everything, badly.
I once hit my head on a metal pipe
From then forward I stopped using indoor plumbing
Guix
Defintely this, it's also the best option to run Fediverse instances such as Bonfire https://fishinthecalculator.me/blog/bonfire--guix-a-love-story.html
Shepherd my love!
I've used SystemD for years and the pure joy writing system initialization units in Scheme gives me can't be overstated.
Seriously, a lot of times I feel like I stick with Guix's many problems just for shepherd.
Artix has the most amount of alternative init systems available.
I would recommend Devuan, but it just wraps SysV in runit as a service manager rather than just using runit as init.
Gentoo has options for systemd or openrc. You can get runit or s6 to work on it if you're pretty familiar with how /sbin/init works,or so I've ascertained from researching, but have not done this yet.
Void is very interesting as it uses runit and also uses musl instead of glibc. I don't think it has quite as many packages as Artix though due to lack of AUR, and I can only estimate that the use of musl instead of glibc necessitates the need for some interesting workarounds from time to time.
I use Artix with runit. Have been daily driving this for around 6 years now and have been very happy with it.
If I were to use anything else I'd go through the trouble of installing Gentoo and configure it to use s6 init. Just to get more granular control.
OS/2
My favorite is Debian, with systemd uninstalled. At this point, you can't install Debian without systemd, but you can uninstall systemd after OS installation.
It used to be that most desktop environments in Debian depended on libpam-systemd, which depended on systemd and systemd-sysv. More recently, desktop environments just depend on libpam-elogind and elogind which is only part of systemd, and allows you to use sysvinit.
I prefer sysvinit mainly because I find it easier to create custom services out of my own programs. My success rate at doing this in systemd is 1/3, and in sysvinit about 10/10.
I also had a problem where a Debian-based embedded system had some kind of broken NTP client running on startup, and due to systemd, I couldn't figure out how to disable it. It would set the time to several years into the future, as soon as it first got a network connection on each startup.
Sorry if it wasn't obvious, I'm using sysvinit.
Devuan is doing the Lords work
After having a lot of sysvinit experience, the transition to setting up my own systemd services has been brutal. What finally clicked for me was that I had this habit of building mini-services based on shellscripts; and systemd goes out of its way to deliberately break those: it wants a single stable process to monitor; and if it sniffs out that you are doing some sketchy things that forks in ways it disapproves of, it is going to shut the whole thing down.
What's SystemD and what is it bad?
This:
IDK why it's bad, though. My only complaint is that it can take a long time to boot depending on your system, but I don't think a SystemD issue.
Open or Free BSD.
Totally Guix, it has no systemd and is able to roll back to the last working in case you break anything somehow
I was literally reading your guide about bonfire moments ago.
For those who don't have a problem with systemd, there is NixOS, which offers the same capabilities as guix, while having a larger community and way more available packages available in its repos.