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.
it just works, though it is far less customizable compared to KDE, 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.
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.
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.
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.
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.
So, it's not far away.
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.
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.
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.
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.
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?!
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.
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.
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.
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.
After holding up well for a long time, absence of evidence becomes a good indicator for actual evidence of absence.
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.
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".
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.
Because let's be frank GDM/Gnome has not been playing well with other software for a while
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.
SpecialistK•1d ago
sph•1d ago
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•17h ago
surajrmal•2h ago