Replying to some sibling comments asking why anyone wouldn't want to use systemd.
People want to understand their software as well as it's practically possible. It's not an uncommon preference; worse-is-better was quite successful for a reason. As systemd stands, it's an unauditable mess of tightly-coupled components built to handle any conceivable need. These features create new attack vectors: for instance, systemd-machined credential passing system, which can inject arbitrary files such as keys and configs into the guest, also runs on bare metal. And some are just running a musl system that can't even use systemd.
Some might look at the old SysV init scripts through rose-tinted glasses, but I don't think it represents the current state of the community. We have the modern OpenRC with parallel startup, dependency-based initialization, supervision, network management, and cgroups; dinit, which tries to imitate the 80% of systemd features that people use with 20% of its footprint; s6 with its supervision trees; runit that just works; and GNU Shepherd, which gives you an entire Scheme interpreter to configure your system.
Monocultures are bad because they eliminate competitive pressure for good design and create single points of failure that affect everyone. systemd was an excellent addition to the ecosystem in its day, but has become uncomfortably sticky: you can't just choose to replace systemd; you'll need to reimplement udevd, logind, D-Bus activation interfaces, and now userdb, all of which have their own subtle quirks you'll need to replicate. Look to the state of mdev or elogind and you'll see why it's not a sustainable compromise.
probably_wrong · 1d ago
> Monocultures are bad because they eliminate competitive pressure for good design and create single points of failure that affect everyone.
For a practical example of this, the XZ backdoor [1] affected liblzma which is (was?) a dependency for libsystemd, and some distributions patched OpenSSH to include libsystemd. As a result, the decision of putting journal file compression functionality directly into your init system means that a significant portion of all Linux systems out there came this close to being backdoored.
If you think that's wild you should hear about kernel vulnerabilities!
yjftsjthsd-h · 22h ago
Yeah, the Linux monoculture is also bad. In fact, one reason the systemd monoculture is bad is because it enforces the Linux monoculture.
esseph · 19h ago
What about the Windows monoculture in business?
What about the seemingly Apple monoculture on HN?
What about the OpenBSD monoculture with OpenBSD!!!!!
You know what Linux needs? Another audio stack. Be sure it's backwards compatible with all the others, just like the last dozen were.
Izkata · 17h ago
I remember reading PipeWire is more stable than Pulseaudio because it removed a buggy and hard-to-implement-correctly feature. So not completely backwards compatible.
yjftsjthsd-h · 16h ago
> What about the Windows monoculture in business?
...yes? Obviously?
> What about the seemingly Apple monoculture on HN?
I don't think that exists, but if it did then I would object to it.
> What about the OpenBSD monoculture with OpenBSD!!!!!
What would that even mean? ...Actually, no, even if I sort of pretend that the concept makes sense it's not really a thing; OpenBSD constantly exports their software to be usable on other systems (ex. OpenSSH is an OpenBSD project) and imports general unix-like software to work on it. So no, there is no OpenBSD monoculture and wouldn't be even if it was that popular.
> You know what Linux needs? Another audio stack. Be sure it's backwards compatible with all the others, just like the last dozen were.
See, the real reason that this is funny is that PipeWire is a new audio system, is mostly superior to its predecessors, and largely is successful because it is backwards compatibile. So... Yes, actually, exactly what you said but unironically and without the slightest bit of sarcasm.
esseph · 11h ago
If openssh isn't a monoculture this whole thing you've got falls apart.
And pipewire is fine and good? Ask a sound engineer.
Spivak · 1h ago
This wasn't a systemd problem— this was distro maintainers doing something stupid problem. The thing the maintainers wanted to patch into OpenSSH was systemd-notify which is the way services can tell systemd that they're ready. The protocol is literally sending the string READY=1 over a file descriptor. libsystemd contains a reference implementation but it's a protocol specifically for the reason that every service isn't supposed to link to libsystemd. Maintainers thought it was easier to link in all of libsystemd (and therefore xz) into OpenSSH just for the sd_notify function.
Just link in a huge library into security critical code, what could go wrong?!
pcpuser · 1d ago
There's so much I disagree with in the beginning but the ending is what actually grinds my gears. You make it sound like systemd manufactured this monoculture somehow. This is also the point I've seen people throw in a comparison to some closed-source org with money to burn and questionable morals.
Systemd was chosen by distros and users across different communities because it solves hard problems better than the others. We can debate about why that is, but the maintainers of Systemd aren't running smear campaigns against other open source projects. Often systemd is the subject of such ire.
They chose to solve hard problems and people adopted it. It's not anything more sinister. It's definitely not an "un-auditable mess". It's written in well formatted C with structure, good tooling, and an open community. You can disagree with the ideology but that's open source for you.
Additionally and away from my point, I believe that Systemd won our because they chose to embrace some complexity to solve really hard problems. Let's not pretend that a modern "init" does only system initialisation by calling shell scripts and then disappearing.
msgodel · 1d ago
All of us paying attention saw how the systemd authors shopped their stuff around issue trackers and mailing lists telling everyone "it's just the way it is now." They absolutely did manufacture the situation. They pushed hard enough doing this that it's resulted in multiple large distros being forked by groups of former maintainers.
pcpuser · 1d ago
Care to share any evidence to back up the tall claim that systemd authors forced their code on anyone?
gatlin · 23h ago
The claim was "shopped around" and if you are going to change people's words do not be surprised when nobody takes your challenge. And preemptively: absence of evidence is not evidence of absence.
pcpuser · 17h ago
What does "shopped around" mean? That's not a common or accepted idiom for code. Or not one I've come across anyway.
Also show me evidence of them "shopping around" code. I'll wait.
nixosbestos · 12h ago
Truly, don't bother. I've been watching this conversation play out for 10 years. I've watched it play out with systemd, udev, rust, Wayland.
Just ignore them. Their validation is meaningless. Their ignorance is mostly meaningless, too, for reasons that feel mean to type out.
rbanffy · 22h ago
> absence of evidence is not evidence of absence
After holding up well for a long time, absence of evidence becomes a good indicator for actual evidence of absence.
gatlin · 23h ago
> good tooling
My completely oblique, binary logs disagree. It won because it solved problems companies with money needed solved. There is no indication that it succeeded on merit.
pcpuser · 17h ago
Ths only issue that non-human readable log storage has caused is the endless nagging on forums. Literally never been an issue besides.
growse · 22h ago
I'm interested in your idea that "merit" is some sort of objective measure.
If it works for me but not for you, does it have more merit?
LargoLasskhyfv · 18h ago
Some anecdotical evidence of mine. I tend to kill -9 Firefox or derivatives before system, or browser updates, to reliably get my tabs and cookies (for selected sites) back, without the need for any extensions.
Usually I'm doing that from within htop, or btop++. Under systemd that is slow, the process-tree of FF takes several seconds to vanish.
That felt very wrong. I increased the update frequency of htop and btop++ to 200ms (usually they poll/actualize/redraw at 2 seconds only) to investigate.
Then I retested that with Runit/S6(6) on the same systems.
Magic! The process-tree is instantly gone! And if you only SigHup it, it instantly reappears. BAM! BAM! BAM!
This applies to all sorts of process-trees also, not only FF.
Compared to that systemd feels like a sloth.
Yes, Yes, I did that under several different distros, initially AntiX, recently "init diversity edition"(Debian derivative optimized for 'live-booting', running from RAM, in all sorts of 'Frugal' installs), some Arch-derivatives, sometimes 'riced' to the max, and default Debian, just to be sure.
Over several years. Initially on a Core-i7 640LM with only 8GB RAM, more recently on Core-i5 7500t, and Core-i7 7700t with 32GB RAM.
Verdict: systematically slo(w)thified.
LargoLasskhyfv · 34m ago
Do you think this is any different on more modern systems? Fear not, it gets worse with more cores!1!!
pona-a · 22h ago
I believe you are making assumptions about my beliefs that don't follow from what I said.
> I believe that systemd won out because they chose to embrace some complexity to solve really hard problems. Let's not pretend that a modern "init" does only system initialization by calling shell scripts and then disappearing.
I made a point to clarify I do not think SysV init scripts are a good solution for most systems Starting the services in a correct maximally parallel order is a constraint satisfaction problem, and many modern alternative init systems understand that. My personal favorite, dinit, explicitly uses the systemd model to great success, being faster than runit or OpenRC with less LoC. If someone finds that too opaque, they are free to use a more imperative init system without any obstacles.
> They chose to solve hard problems and people adopted it. It's not anything more sinister. It's definitely not an "un-auditable mess". It's written in well-formatted C with structure, good tooling, and an open community. You can disagree with the ideology but that's open source for you.
A piece of software being hard to understand doesn't imply it's because it's badly written. systemd is simply more complex as an "enterprise" piece of software. Think about it: RedHat's business is selling support contracts, so they won't risk losing a major contract by not implementing a feature their client needs, even if most won't use it. This both made it more robust and much wider in scope than other init systems, maintained mostly by hobbyist desktops.
For contrast, despite Canonical having killed Upstart in 2014, Google still feels confident enough in its security to deploy it across millions of ChromeOS devices, because it's a simple program that does one thing well, and thus no more risky than any other privileged binary.
> systemd was chosen by distros and users across different communities because it solves hard problems better than the others. We can debate about why that is, but the maintainers of Systemd aren't running smear campaigns against other open source projects. Often systemd is the subject of such ire.
I'm not ascribing any intent to systemd maintainers. But it's undeniable there exists a connection between GNOME, Freedesktop, and systemd, namely that each receive support from RedHat and share the most active RedHat contributors. When systemd releases a new feature, GNOME very soon integrates it, which FreeDesktop then uses as a justification for their new specification, which other desktops soon follow. This often lead us to fast-tracking adoption of genuinely good standards, but there is the confounding factor of funding to their general merit.
juped · 10h ago
systemd isn't even a constraint solving system, it's highly "imperative", there's just memes floating around that think it is??? not even poettering would claim that
tempfile · 6h ago
> You make it sound like systemd manufactured this monoculture somehow.
Where are you getting this from? I do not see it at all. The parent comment just says that it is an emergent compromise they don't think is a good one. That the code cannot be audited is also not necessarily a quality issue, either. It is just impossible to feasibly audit over 10 million lines of C. (this criticism applies equally to the kernel, although I doubt anyone would claim the kernel is less audited than systemd)
> Let's not pretend that a modern "init" does only system initialisation by calling shell scripts and then disappearing.
Nobody is pretending this. the comment you are replying to literally says "I don't think it represents the current state of the community".
growse · 1d ago
> Replying to some sibling comments asking why anyone wouldn't want to use systemd.
I get why some people don't want to use systemd. That's fine.
I really don't understand why this group of people are so passionate about broadcasting this opinion to anyone within earshot. They don't like a piece of software, great! They've got different values! Use something else!
pona-a · 23h ago
I think you're missing the point. This is a thread about GNOME, a major desktop environment, declaring systemd-userdb as a necessary requirement for its future version, asking the non-systemd community to provide an API-compatible implementation if they want to keep using GNOME.
I personally do not use GNOME, nor am I running a non-systemd system at the moment. This is the first time I wrote a single word about systemd vs other inits on the internet, explicitly because it couldn't be more on-topic.
It's a common false compromise to say you now depend on a component but welcome alternative implementations. In reality, this quickly becomes treadmill for their maintainers, forced to adapt to its quirks so the dependent software even has a chance of working. You can read more about eudev as a more notable example of that dynamic. Projects like Wayland avoid it by having a committee of major implementations vote on proposed specs.
const_cast · 19h ago
Well GNOME is a bit of an oddball in the Linux userland world and everyone knows it. They have a "my way or the highway" type attitude to everything they do, and all the pros and cons that come with that. On one hand, they're able to achieve a development velocity and quality that a lot of other full-featured desktop environments cannot. On the other hand, users can perceive regressions in features and choice.
I think, if this is a surprise to anyone, they're not really paying attention. If you want GNOME you go along for the ride, and that's the message we've all gotten for the past 10 years. This same conversation keeps coming back up.
Just use KDE or something else if that's not an experience you, or other's, want. Personally, I despise GNOME, so problem solved for me. But, we have these conflicting takes where people will complain about fragmentation on Linux and then also complain about monocultures like GNOME. That's the experience GNOME very clearly wants to give, so if that's bad to you, then don't use it. And, on a distro level, maintainers can decide if they want to ship GNOME or if they want to make it the default.
rbanffy · 22h ago
> if they want to keep using GNOME
It's fine if they don't. Other users of GNOME will want to push back on API changes and deprecation. This is normal in software.
jeroenhd · 21h ago
The end of the article details the steps necessary for people who want to run Gnome without systemd. There is a monoculture of sorts, which is that bespoke init systems aren't tested or supported by Gnome itself, but like you already need to do to get Gnome working normally, you can still patch in support for whatever system you prefer. The article even provides a list of services and APIs that you will need to hook up to Gnome to make it work.
You don't need to reimplement logind or D-Bus, but you will need to patch your mechanisms of choice into Gnome itself. Gnome isn't planning on maintaining a second copy of common system services that exist on modern systems anymore (a copy that is based on a hack in the first place). The burden of maintenance now falls on whoever wants to provide their own alternative.
All the extra work you need to do to get alternative init systems working is work the Gnome team no longer needs to do.
surajrmal · 1h ago
What's interesting here isn't a strict dependency on systemd, but dependencies on some APIs it provides. Given the ability and existence of things which implement those APIs outside of systemd, it's worth considering that the APIs themselves should be the focus. Perhaps they should be spun out of systemd itself. It seems sensible to that gnome would want to move to a better API which is almost defacto a standard these days anyways. Versioning the API and allowing more folks outside of the systemd organization to participate in its continued evolution should be the focus imo.
accelbred · 28m ago
This seems like it might impact systemd musl systems too, due to the NSS and getpwent requirement, right?
haileys · 1d ago
This is a sensible move. systemd is a good piece of software, and foundational Linux infrastructure which by now is very widely deployed.
I’ve been doing Linux a long time and my experience is that systemd is much more pleasant to work with than the brittle duct tape and shell script stuff which came before.
pcpuser · 1d ago
Agreed. I wonder how many people in this thread hating on systemd have actually tried to work with upstream. They are an extremely pleasant and welcoming community who are willing to work with you on the most trivial stuff.
pseudalopex · 13h ago
systemd maintainers were extremely unpleasant, unwelcoming, and unwilling to work with others in my experience.
greatgib · 1d ago
Systemd is crap. Works in the main use case, mess up otherwise. It is the windows kernel of linux distributions.
Here for example, suddenly systemd will be mandatory despite systemd not caring for multiple session of a single user. Not only not yet implemented but totally that don't need it personally so no one can want to have it. And so again the capability of our linux based distribution will be restricted for something that was just working for decades.
Again, we can also notice how systemd people try to force systemd usage down or throats by making it mandatory for core parts like the login. Where it is not the responsibility of the initsystem to deal with that (except in windows) and if the thing was not a damned crap, it would be easy to switch to alternatives with clear interfaces.
calcifer · 23h ago
> Where it is not the responsibility of the initsystem
systemd is not an init system. It's an umbrella project with many distinct tools and services, only one of which is an init provider.
pona-a · 21h ago
What makes it problematic is that they still end up with cross-dependencies. I might find resolved or logind great tools, but I can't use them without systemd, even though I can sitll use systemd without resolved. They all reinforce systemd as an irreplaceable component that will only grow more hooks for these subprojects, becoming increasingly unimplementable and complex.
netsharc · 5h ago
It's more comparable to the Windows Registry.. (well ok the registry isn't also dozens of daemons that run everything...)
jeroenhd · 21h ago
systemd is far from perfect, but it's the best we've got on Linux. Treating systemd like an init system is like treating your car like a Bluetooth speaker: yes, you can connect your phone to the speaker system over bluetooth and yes you can take the speakers with you to most places, but the speakers are only a small part of what you're taking along with you
Nobody is forcing systemd down anyone's throats. You can use init.d if you like, or OpenRC, or whatever you prefer. What's happening instead is that people who maintain software are no longer interested in maintaing init.d scripts or working around the missing features many supposed alternatives lack.
guilhas · 1d ago
Xorg was also a "good piece of software, foundational Linux infrastructure and very wildly deployed"
jononor · 8h ago
Still is?
sph · 1d ago
I have yet to hear an argument against systemd which isn’t a variation of:
- """bloat"""
- I dislike Poettering. Remember pulseaudio?
- a core user-space layer for modern applications that can’t only rely on the spartan kernel syscall API? Literally 1984.
Given that systemd is good enough and is running on 99% of desktops and servers, I always find it hilarious to see how the vocal minority is overrepresented on this forum.
msgodel · 1d ago
There aren't decent Pro systemd arguments other than "the Linux API confused me" and sysv init (which no one argues is good) was bad.
Personally the last system I had systemd on corrupted my package database after killing apt that I was running in tmux. "Oh you can fix that with xyz systemd configuration." Here's my response:
Kindly shove it up your ass and quit moving things around all the time just because you're board.
Also if "it's good enough for most people" is a decent argument then you should be on Windows.
bjourne · 1d ago
The pro argument is that writing shell scripts for starting/restarting/enabling/disabling/stopping is total garbage. Not to mention having to manage lock files. systemd units are not perfect, but they are a billion times better than the crap we used to deal with.
msgodel · 1d ago
Wow, neither of you actually read my comment.
jeroenhd · 21h ago
The pro part is the massive simplification and security advantages systemd brings to plain and simple config files. Sure, I can reimplement the containerisation API in OpenRC if I stack enough helper binaries and shell script libraries in there, but I don't want to. Kindly shove it up your ass and quit moving things around all the time just because you're board.
If it's good enough for most people, that means it's good enough to use as a basis for development. The same way no company develops mobile apps for Phosh or Plasma Mobile: the tiny fraction of people who have more esoteric preferences aren't worth rewriting the software stack for. Those who don't like the status quo can write their own wrappers and hacks if they want to use your software.
rbanffy · 22h ago
> I always find it hilarious to see how the vocal minority is overrepresented on this forum.
Those who oppose the norm are usually a lot more vocal than the people who support it, or just don't care. This is why you get bathtub curves in ratings - you can bet the low ratings are over-represented in comparison with the meh and the praise.
SpecialistK · 1d ago
The fact that the next blog post (linked at the bottom of the article) is titled "a desktop for all" is deliciously ironic in context.
sph · 1d ago
For all in this context does not mean “all the infinite combinations of software for people that refuse to adopt the status quo”
systemd is here to stay. It is ludicrous to imagine everybody to keep supporting that 1% that is ideologically opposed to it, no? As those people love to say, open-source is written by volunteers, you can always fork it.
SpecialistK · 16h ago
What about the (admittedly small) % of operating systems that can't support systemd, like FreeBSD? systemd is pretty heavily dependent on Linux, and that's not an ideological thing.
surajrmal · 1h ago
Does gnome officially support non Linux kernels? It's possible to implement the systemd APIs gnome is taking dependencies on without strictly using systemd itself.
sunshine-o · 23h ago
Funny how it doesn't matter anymore.
Gnome has been quite good for more than 10 years but nobody really care because the web browser has become the Desktop Environment. I haven't notices any change in the last 10-15 years.
and power users will use i3, sway or hyprland anyway.
The Gnome people create drama about irrelevant things to get attention like "the danger in theming apps", some minor UI changes or the stronger dependency on systemd but few people care.
What I would worry more about in term of adoption across Unixes is Wayland, it seems the OpenBSD and FreeBSD people are not warm to it.
cristodcgomez · 1d ago
I just registered for comment here: they always refused to admit it (by "they" I mean Fedora/IBM) but we will end up having a Gnome OS for the general public... And I'm afraid the 3E rule is starting to be applied (Extended already, Embraced in all the "other OS" and now...)
Red Hat Enterprise Linux is basically a Gnome OS already. So is Ubuntu. Though both come in KDE flavour and a bunch of others too.
I don't see what's wrong with Red Hat spending development time for "only" one single desktop environment.
n3storm · 1d ago
For all worried check out xfce. It works, is light, is customizable, has gtk responsiveness (I find Qt click and drag and drop downs odd)
Only downside maybe is no Wayland support yet.
> One of the most notable improvements is the enhanced support for Wayland, bringing us closer to a fully native MATE-Wayland experience. Several components have been updated to work seamlessly with Wayland, ensuring a more integrated and responsive desktop environment.
airhangerf15 · 23h ago
> no Wayland support yet
That's not a downside.
n2h4 · 1d ago
with 4.20, there is experimental wayland support for almost all xfce4 applications. I've used it and didn't even face a single crash.
So, it's not far away.
n3storm · 4h ago
great!
Do you feel is a "good" change? does using a DE with wayland feels better or different? not talking about technical advantages...
jabiko · 1d ago
I think this is a good move: it focuses on maintaining a single, well-tested code path while still offering guidance for those who want alternatives (see the section "So what should distros without systemd do?" in the article).
It's not making it impossible to run GNOME on non-systemd systems, but it shifts the responsibility of maintaining that support to the projects that are actually interested in it. I think ultimately this might lead to a better user experience since the people developing non-systemd support are also the ones using it.
noisy_boy · 1d ago
Just rename Gnome to systemd-desktop and be done with it.
petepete · 1d ago
This is a good move. Without having endless resources keeping the codebase small and focused just makes sense.
I know it's going to be painful for non-Linux users but volunteer devs can't be expected to cover all bases.
yolkedgeek · 1d ago
They do have endless resources. They are an IBM company.
If people choose to work for IBM without getting payed, that's kind of their problem.
xtoilette · 1d ago
gnome is an IBM company?
yolkedgeek · 1d ago
IBM bought Redhat, Redhat hires the devs for GNOME and hosts its infrastructure.
IBM and Redhat where also the main founders of GNOME.
They don't need to legally own GNOME. When most of the people working on systemD and GNOME are IBM employees, IBM makes the decisions. And GNOME is an IBM company.
>Keeping the codebase small and focused makes sense
LMFAO. You have not even glanced at insane dumpster fire that is the gnome codebase.
petepete · 1d ago
Regardless of what it's currently like, supporting fewer things is going to make it easier to maintain.
msgodel · 1d ago
If Gnome cared about an easy to maintain codebase it would be radically different. Gnome's complexity is comparable to a large web browser (which is kind of insane considering how little it really does.)
const_cast · 19h ago
To be completely fair to Gnome, they're doing some stuff that nobody else is doing. The idea of building an entire desktop off the backs of C and the gobject system is very novel and gives Gnome a lot of advantages. For example, it had binding for just about every language under the sun. Compare that to KDE and Qt, which is C++ or bust.
Obviously it's a bit hacky and kind of a mess, but it is technically interesting.
pona-a · 17h ago
I don't know how things are done in the GTK-land, but Qt definitely has bindings for Python, Go, and others. Maybe GObject has some other advantages, but I don't know.
const_cast · 17h ago
Kind of, but those binding are incomplete and not all modules are supported.
When I say GTK has bindings for every language, I do literally mean every language. It's the nice thing about choosing C as the language to make your entire API in.
hnlmorg · 1d ago
What is Gnomes market share like these days?
It used to be the de facto FOSS desktop in the GNOME 2.x days but things changed with the release of Gnome 3 and I’ve not really noticed Gnome ever bounce back since.
criticalfault · 1d ago
Every time there is an interview of some startup and they show the offices with a glimpse of a monitor, it's always Ubuntu. Running gnome.
Also a few people I know, if they used Linux on a desktop it was Ubuntu.
Don't know anyone using KDE, steam deck being the only exception.
So from a personal perspective, if it's Linux on the desktop, it's gnome.
jeroenhd · 21h ago
KDE is quite popular for personal computers I believe. It's got things like HDR support much earlier than Gnome did.
Corporate also seems to like OpenSUSE and RHEL. Universities seem to like Debian. Practically all of them default to Gnome or offer Gnome equivalently.
Even several (relatively) big SteamOS-alikes are using Gnome despite SteamOS itself defaulting to KDE.
esseph · 1d ago
It's the default DE for RedHat, Fedora, Debian, Ubuntu, and many others.
shmerl · 1d ago
KDE is commonly more popular among gamers it seems.
forvelin · 1d ago
who does even compete with Gnome ? it is the de facto default desktop in almost all notable distros.
it just works, though it is far less customizable compared to KDE, it is far more stable -still only compared to KDE..
tpxl · 1d ago
> it just works
For some definition of works, like a folder with 300 videos loading for 15 seconds and image viewer unable to open 150MB images.
I prefer how Gnome works compared to KDE, but I can't get past the ridiculous performance issues.
vbezhenar · 1d ago
Your use-cases are hardly average. I don't think I ever encountered 150MB image or folder with 300 videos. I don't even use nautilus outside of the very niche cases. I'm using Chromium or Terminal or VScode or Idea 99% of time. My GNOME is just a shell switching windows. Whatever file managers, image viewers or other stuff bundled with GNOME matters little for me, I can easily replace them. I don't even understand the concept of DE, this is just wasted work to maintain those apps. They even develop their own browser...
bmn__ · 1d ago
A computer should have no problems at all dealing with a 150MB image or 300 videos. I'm invoking cmuratori here. What do you think you are getting out of running defense for objectively broken/unusable software?
flohofwoe · 1d ago
> it is far more stable -still only compared to KDE
Citation needed ;) I haven't seen any 'instability' in KDE since I switched from GNOME, and performance/snappiness of KDE is actually better.
DoctorOW · 1d ago
Performance/stability on KDE used to be a lot worse IMO. Your opinion on KDE depends on when you last checked.
LargoLasskhyfv · 17h ago
Does this matter as of now?
wizee · 1d ago
KDE 6 is quite stable in my experience and faster/more efficient than Gnome too.
bjourne · 1d ago
This is the back-end plague which is everywhere in free software. The idea is that whatever "it" is, adding support for "it" is "just another back-end" . Take cairo for example, it has or had back-ends for gdk, win32, png, svg, html canvas, pdf, postscript, opengl, xlib, quartz, etc. Only a few of them are actually usable and support has been removed for several others over the years. The number of sound back-ends on Linux is uncountable: ALSA, OSS, OpenAl, PulseAudio, Jack, Esound, PipeWire... It's never "just another back-end" because every back-end needs continuous testing and maintenance.
Poettering when designing systemd wisely, WISELY decided to not go the back-end route. Other free software hackers learn the hard way that multiple back-ends are expensive and rarely worth the cost.
imtringued · 1d ago
The problem is that everyone is doing their own thing instead of coming up with a common standard. That's kinda why Wayland is so hated.
What people seem to be misunderstanding about systemd is that it is not encroaching and forcing itself upon distros. It's the opposite. It's solving problems faster than anyone else and thereby wins by default. If there was a competing project that did the same things systemd did (the problem is that you need a whole collection of projects that are poorly integrated with each other), then you could start talking about standardizing things, but as of right now, systemd is spiritually the new Xorg of Linux.
sph · 1d ago
> The problem is that everyone is doing their own thing instead of coming up with a common standard
I mean, there is a reason XKCD 927 is the most quoted to the point of attracting downvotes. It's pure cliché, so I wonder why you believe a common standard to rule them all is possible.
There is only one sane approach in software: opinionated configuration. Yet the free-software world somehow still clings to the utopia of multiple, freely interchangeable choices, and all you get is half a dozen unmaintained backends and just one that actually works for a number of years when someone forgets 927 and decides to reinvent the wheel, badly.
nektro · 17h ago
yay about time
guilhas · 1d ago
I think this is a good announcement. Just making things clear
Because let's be frank GDM/Gnome has not been playing well with other software for a while
People want to understand their software as well as it's practically possible. It's not an uncommon preference; worse-is-better was quite successful for a reason. As systemd stands, it's an unauditable mess of tightly-coupled components built to handle any conceivable need. These features create new attack vectors: for instance, systemd-machined credential passing system, which can inject arbitrary files such as keys and configs into the guest, also runs on bare metal. And some are just running a musl system that can't even use systemd.
Some might look at the old SysV init scripts through rose-tinted glasses, but I don't think it represents the current state of the community. We have the modern OpenRC with parallel startup, dependency-based initialization, supervision, network management, and cgroups; dinit, which tries to imitate the 80% of systemd features that people use with 20% of its footprint; s6 with its supervision trees; runit that just works; and GNU Shepherd, which gives you an entire Scheme interpreter to configure your system.
Monocultures are bad because they eliminate competitive pressure for good design and create single points of failure that affect everyone. systemd was an excellent addition to the ecosystem in its day, but has become uncomfortably sticky: you can't just choose to replace systemd; you'll need to reimplement udevd, logind, D-Bus activation interfaces, and now userdb, all of which have their own subtle quirks you'll need to replicate. Look to the state of mdev or elogind and you'll see why it's not a sustainable compromise.
For a practical example of this, the XZ backdoor [1] affected liblzma which is (was?) a dependency for libsystemd, and some distributions patched OpenSSH to include libsystemd. As a result, the decision of putting journal file compression functionality directly into your init system means that a significant portion of all Linux systems out there came this close to being backdoored.
[1] https://news.ycombinator.com/item?id=39911311
What about the seemingly Apple monoculture on HN?
What about the OpenBSD monoculture with OpenBSD!!!!!
You know what Linux needs? Another audio stack. Be sure it's backwards compatible with all the others, just like the last dozen were.
...yes? Obviously?
> What about the seemingly Apple monoculture on HN?
I don't think that exists, but if it did then I would object to it.
> What about the OpenBSD monoculture with OpenBSD!!!!!
What would that even mean? ...Actually, no, even if I sort of pretend that the concept makes sense it's not really a thing; OpenBSD constantly exports their software to be usable on other systems (ex. OpenSSH is an OpenBSD project) and imports general unix-like software to work on it. So no, there is no OpenBSD monoculture and wouldn't be even if it was that popular.
> You know what Linux needs? Another audio stack. Be sure it's backwards compatible with all the others, just like the last dozen were.
See, the real reason that this is funny is that PipeWire is a new audio system, is mostly superior to its predecessors, and largely is successful because it is backwards compatibile. So... Yes, actually, exactly what you said but unironically and without the slightest bit of sarcasm.
And pipewire is fine and good? Ask a sound engineer.
Just link in a huge library into security critical code, what could go wrong?!
Systemd was chosen by distros and users across different communities because it solves hard problems better than the others. We can debate about why that is, but the maintainers of Systemd aren't running smear campaigns against other open source projects. Often systemd is the subject of such ire.
They chose to solve hard problems and people adopted it. It's not anything more sinister. It's definitely not an "un-auditable mess". It's written in well formatted C with structure, good tooling, and an open community. You can disagree with the ideology but that's open source for you.
Additionally and away from my point, I believe that Systemd won our because they chose to embrace some complexity to solve really hard problems. Let's not pretend that a modern "init" does only system initialisation by calling shell scripts and then disappearing.
Also show me evidence of them "shopping around" code. I'll wait.
Just ignore them. Their validation is meaningless. Their ignorance is mostly meaningless, too, for reasons that feel mean to type out.
After holding up well for a long time, absence of evidence becomes a good indicator for actual evidence of absence.
My completely oblique, binary logs disagree. It won because it solved problems companies with money needed solved. There is no indication that it succeeded on merit.
If it works for me but not for you, does it have more merit?
Usually I'm doing that from within htop, or btop++. Under systemd that is slow, the process-tree of FF takes several seconds to vanish.
That felt very wrong. I increased the update frequency of htop and btop++ to 200ms (usually they poll/actualize/redraw at 2 seconds only) to investigate.
Then I retested that with Runit/S6(6) on the same systems.
Magic! The process-tree is instantly gone! And if you only SigHup it, it instantly reappears. BAM! BAM! BAM!
This applies to all sorts of process-trees also, not only FF.
Compared to that systemd feels like a sloth.
Yes, Yes, I did that under several different distros, initially AntiX, recently "init diversity edition"(Debian derivative optimized for 'live-booting', running from RAM, in all sorts of 'Frugal' installs), some Arch-derivatives, sometimes 'riced' to the max, and default Debian, just to be sure.
Over several years. Initially on a Core-i7 640LM with only 8GB RAM, more recently on Core-i5 7500t, and Core-i7 7700t with 32GB RAM.
Verdict: systematically slo(w)thified.
> I believe that systemd won out because they chose to embrace some complexity to solve really hard problems. Let's not pretend that a modern "init" does only system initialization by calling shell scripts and then disappearing.
I made a point to clarify I do not think SysV init scripts are a good solution for most systems Starting the services in a correct maximally parallel order is a constraint satisfaction problem, and many modern alternative init systems understand that. My personal favorite, dinit, explicitly uses the systemd model to great success, being faster than runit or OpenRC with less LoC. If someone finds that too opaque, they are free to use a more imperative init system without any obstacles.
> They chose to solve hard problems and people adopted it. It's not anything more sinister. It's definitely not an "un-auditable mess". It's written in well-formatted C with structure, good tooling, and an open community. You can disagree with the ideology but that's open source for you.
A piece of software being hard to understand doesn't imply it's because it's badly written. systemd is simply more complex as an "enterprise" piece of software. Think about it: RedHat's business is selling support contracts, so they won't risk losing a major contract by not implementing a feature their client needs, even if most won't use it. This both made it more robust and much wider in scope than other init systems, maintained mostly by hobbyist desktops.
For contrast, despite Canonical having killed Upstart in 2014, Google still feels confident enough in its security to deploy it across millions of ChromeOS devices, because it's a simple program that does one thing well, and thus no more risky than any other privileged binary.
> systemd was chosen by distros and users across different communities because it solves hard problems better than the others. We can debate about why that is, but the maintainers of Systemd aren't running smear campaigns against other open source projects. Often systemd is the subject of such ire.
I'm not ascribing any intent to systemd maintainers. But it's undeniable there exists a connection between GNOME, Freedesktop, and systemd, namely that each receive support from RedHat and share the most active RedHat contributors. When systemd releases a new feature, GNOME very soon integrates it, which FreeDesktop then uses as a justification for their new specification, which other desktops soon follow. This often lead us to fast-tracking adoption of genuinely good standards, but there is the confounding factor of funding to their general merit.
Where are you getting this from? I do not see it at all. The parent comment just says that it is an emergent compromise they don't think is a good one. That the code cannot be audited is also not necessarily a quality issue, either. It is just impossible to feasibly audit over 10 million lines of C. (this criticism applies equally to the kernel, although I doubt anyone would claim the kernel is less audited than systemd)
> Let's not pretend that a modern "init" does only system initialisation by calling shell scripts and then disappearing.
Nobody is pretending this. the comment you are replying to literally says "I don't think it represents the current state of the community".
I get why some people don't want to use systemd. That's fine.
I really don't understand why this group of people are so passionate about broadcasting this opinion to anyone within earshot. They don't like a piece of software, great! They've got different values! Use something else!
I personally do not use GNOME, nor am I running a non-systemd system at the moment. This is the first time I wrote a single word about systemd vs other inits on the internet, explicitly because it couldn't be more on-topic.
It's a common false compromise to say you now depend on a component but welcome alternative implementations. In reality, this quickly becomes treadmill for their maintainers, forced to adapt to its quirks so the dependent software even has a chance of working. You can read more about eudev as a more notable example of that dynamic. Projects like Wayland avoid it by having a committee of major implementations vote on proposed specs.
I think, if this is a surprise to anyone, they're not really paying attention. If you want GNOME you go along for the ride, and that's the message we've all gotten for the past 10 years. This same conversation keeps coming back up.
Just use KDE or something else if that's not an experience you, or other's, want. Personally, I despise GNOME, so problem solved for me. But, we have these conflicting takes where people will complain about fragmentation on Linux and then also complain about monocultures like GNOME. That's the experience GNOME very clearly wants to give, so if that's bad to you, then don't use it. And, on a distro level, maintainers can decide if they want to ship GNOME or if they want to make it the default.
It's fine if they don't. Other users of GNOME will want to push back on API changes and deprecation. This is normal in software.
You don't need to reimplement logind or D-Bus, but you will need to patch your mechanisms of choice into Gnome itself. Gnome isn't planning on maintaining a second copy of common system services that exist on modern systems anymore (a copy that is based on a hack in the first place). The burden of maintenance now falls on whoever wants to provide their own alternative.
All the extra work you need to do to get alternative init systems working is work the Gnome team no longer needs to do.
I’ve been doing Linux a long time and my experience is that systemd is much more pleasant to work with than the brittle duct tape and shell script stuff which came before.
Here for example, suddenly systemd will be mandatory despite systemd not caring for multiple session of a single user. Not only not yet implemented but totally that don't need it personally so no one can want to have it. And so again the capability of our linux based distribution will be restricted for something that was just working for decades.
Again, we can also notice how systemd people try to force systemd usage down or throats by making it mandatory for core parts like the login. Where it is not the responsibility of the initsystem to deal with that (except in windows) and if the thing was not a damned crap, it would be easy to switch to alternatives with clear interfaces.
systemd is not an init system. It's an umbrella project with many distinct tools and services, only one of which is an init provider.
Nobody is forcing systemd down anyone's throats. You can use init.d if you like, or OpenRC, or whatever you prefer. What's happening instead is that people who maintain software are no longer interested in maintaing init.d scripts or working around the missing features many supposed alternatives lack.
- """bloat"""
- I dislike Poettering. Remember pulseaudio?
- a core user-space layer for modern applications that can’t only rely on the spartan kernel syscall API? Literally 1984.
Given that systemd is good enough and is running on 99% of desktops and servers, I always find it hilarious to see how the vocal minority is overrepresented on this forum.
Personally the last system I had systemd on corrupted my package database after killing apt that I was running in tmux. "Oh you can fix that with xyz systemd configuration." Here's my response:
Kindly shove it up your ass and quit moving things around all the time just because you're board.
Also if "it's good enough for most people" is a decent argument then you should be on Windows.
If it's good enough for most people, that means it's good enough to use as a basis for development. The same way no company develops mobile apps for Phosh or Plasma Mobile: the tiny fraction of people who have more esoteric preferences aren't worth rewriting the software stack for. Those who don't like the status quo can write their own wrappers and hacks if they want to use your software.
Those who oppose the norm are usually a lot more vocal than the people who support it, or just don't care. This is why you get bathtub curves in ratings - you can bet the low ratings are over-represented in comparison with the meh and the praise.
systemd is here to stay. It is ludicrous to imagine everybody to keep supporting that 1% that is ideologically opposed to it, no? As those people love to say, open-source is written by volunteers, you can always fork it.
Gnome has been quite good for more than 10 years but nobody really care because the web browser has become the Desktop Environment. I haven't notices any change in the last 10-15 years.
and power users will use i3, sway or hyprland anyway.
The Gnome people create drama about irrelevant things to get attention like "the danger in theming apps", some minor UI changes or the stronger dependency on systemd but few people care.
What I would worry more about in term of adoption across Unixes is Wayland, it seems the OpenBSD and FreeBSD people are not warm to it.
Red Hat Enterprise Linux is basically a Gnome OS already. So is Ubuntu. Though both come in KDE flavour and a bunch of others too.
I don't see what's wrong with Red Hat spending development time for "only" one single desktop environment.
See https://wiki.mate-desktop.org/developers-corner/wayland-meso...
Quote:
> One of the most notable improvements is the enhanced support for Wayland, bringing us closer to a fully native MATE-Wayland experience. Several components have been updated to work seamlessly with Wayland, ensuring a more integrated and responsive desktop environment.
That's not a downside.
So, it's not far away.
It's not making it impossible to run GNOME on non-systemd systems, but it shifts the responsibility of maintaining that support to the projects that are actually interested in it. I think ultimately this might lead to a better user experience since the people developing non-systemd support are also the ones using it.
I know it's going to be painful for non-Linux users but volunteer devs can't be expected to cover all bases.
https://wiki.gnome.org/RedHat https://en.wikipedia.org/wiki/GNOME_Foundation
LMFAO. You have not even glanced at insane dumpster fire that is the gnome codebase.
Obviously it's a bit hacky and kind of a mess, but it is technically interesting.
When I say GTK has bindings for every language, I do literally mean every language. It's the nice thing about choosing C as the language to make your entire API in.
It used to be the de facto FOSS desktop in the GNOME 2.x days but things changed with the release of Gnome 3 and I’ve not really noticed Gnome ever bounce back since.
Also a few people I know, if they used Linux on a desktop it was Ubuntu.
Don't know anyone using KDE, steam deck being the only exception.
So from a personal perspective, if it's Linux on the desktop, it's gnome.
Corporate also seems to like OpenSUSE and RHEL. Universities seem to like Debian. Practically all of them default to Gnome or offer Gnome equivalently.
Even several (relatively) big SteamOS-alikes are using Gnome despite SteamOS itself defaulting to KDE.
it just works, though it is far less customizable compared to KDE, it is far more stable -still only compared to KDE..
For some definition of works, like a folder with 300 videos loading for 15 seconds and image viewer unable to open 150MB images.
I prefer how Gnome works compared to KDE, but I can't get past the ridiculous performance issues.
Citation needed ;) I haven't seen any 'instability' in KDE since I switched from GNOME, and performance/snappiness of KDE is actually better.
Poettering when designing systemd wisely, WISELY decided to not go the back-end route. Other free software hackers learn the hard way that multiple back-ends are expensive and rarely worth the cost.
What people seem to be misunderstanding about systemd is that it is not encroaching and forcing itself upon distros. It's the opposite. It's solving problems faster than anyone else and thereby wins by default. If there was a competing project that did the same things systemd did (the problem is that you need a whole collection of projects that are poorly integrated with each other), then you could start talking about standardizing things, but as of right now, systemd is spiritually the new Xorg of Linux.
I mean, there is a reason XKCD 927 is the most quoted to the point of attracting downvotes. It's pure cliché, so I wonder why you believe a common standard to rule them all is possible.
There is only one sane approach in software: opinionated configuration. Yet the free-software world somehow still clings to the utopia of multiple, freely interchangeable choices, and all you get is half a dozen unmaintained backends and just one that actually works for a number of years when someone forgets 927 and decides to reinvent the wheel, badly.
Because let's be frank GDM/Gnome has not been playing well with other software for a while