Gnome, Wayland, KDE
> how much work would it be to untie them?
a lot
Gnome, Wayland, KDE
> how much work would it be to untie them?
a lot
For example policykit was broken and things like mounting USB devices or managing VPN connections didn't work. That is finally fixed and with latest cgmanager from unstable, and policykit-1 from experimental those things work again.
The only noticable loss compared to systemd is the lack of 'Suspend/Hibernate' in the KDE menu, but you can still use 'pm-suspend' from the cmdline, or even with 'qdbus' and the systemd specific dbus API, so in the end this should be fixable too.
So I wouldn't put KDE into the same bucket as Gnome, its dependencies on systemd seem to be mostly indirect:
* policykit, which started to depend on systemd-logind instead of consolekit. Works with cgmanager+systemd-shim as replacement
* upowerd doesn't support suspend/hibernate anymore but apparently, so apparently systemd specific dbus methods have to be used now.
Also Gnome3 works under OpenBSD (with consolekit?), and there is definitely no systemd there, although it might not be the latest version: http://callfortesting.org/gnome3/
I'm having a similar experience with systemd. I had problems with USB storage (seems fixed now) and I'm still having problems with networking. DBus went haywire, not sure if it's in a sensible state yet or not. I haven't been using VPN connections or suspend.
This isn't exactly a nightmare scenario. Most of the evident problems with systemd seem to be fixable. I can't say I'm impressed. I'm also having a hard time remembering why it was so important to move away from sysv init in the first place.
systemd may or may not suck and I'm not discussing that aspect in this post. What definitely horribly sucks is product tying a desktop environment (you know, cut and paste, drag and drop, background images, window animations) deeply in with the earliest intricacies of the boot process.
Farther than that, I bet. It's pretty safe to assume that all of those things are already written on a few informal systemd roadmaps.
GNOME and KDE did work just fine without systemd until they didn't. udev did as well. Samba, PAM, OpenSSH, and most of the rest of the services on my system, work just fine without it. I rather doubt that'll be the case five years down the line.
Done many times.
...Oh, wait.
You mean to tell me that systemd isn't just an init system? And that it includes, but is not limited to, and I quote [1]:
"init system, journal logging, login management, device management, temporary and volatile file management, binary format registration, backlight save/restore, rfkill save/restore, bootchart, readahead, encrypted storage setup, EFI/GPT partition discovery, virtual machine/container registration, minimal container management, hostname management, locale management, time management, random seed management, sysctl variable management, console managment, . . ."
They are working on:
"network management, Local DNS cache, mDNS responder, LLMNR responder, DNSSEC verification, IPC in the kernel, time synchronisation with NTP, stateless systems, factory reset, OS/container/app image format, sandboxing of services and apps..."
[1] http://0pointer.de/public/gnomeasia2014.pdf
So what people really mean by "Write a better init system." is "Write a second, competing hulking mammoth like systemd."
Also consider that until now many of the things you listed were done by shell scripts that every distro reimplemented differently, so if you're happy with such ugliness you can pick it up as-is. ;)
The latter is the easier approach. However, it's still hard. The major problem is logind, and no-one has yet tackled writing a logind that layers on top of Debian-without-systemd. See: http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/de...
And that is exactly what I think is the most irritating thing about it. I just want it to init my system. I'll do the rest, or decide which piece of software should. NOT the systemd developers.
Doesn't this becomes more difficult though, when things people are used to like KDE/Gnome are depending on systemd?
What happens if more tools start depending on systemd? Will people just have to keep finding alternatives?
Linux becomes the new OSX (Slick, integrated, everything works great as long as you are doing the things that the system designers expect you to do); FreeBSD becomes the new Linux (Weird and confusing out of the box, but can be customised however you want it)
I think that is the reason so many people dislike it.
Replacing init - and nothing else - is something many of those people would be totally fine with. Starting services in parallel, and watching them when running, restarting them if they crash, that is something a lot of people would like very much, I am certain.
But the systemd developers did not stop there and are trying - it seems - to have systemd replace everything but the proverbial kitchen sink. I am not even saying that this is a bad (or a good idea). But doing so just rubs many people the wrong way, if only because it means the systemd people are attempting to change an important aspect of the architecture of the system without having a proper discussion about it first.
Desktop environments now have an actively-maintained cross-distro interface that they can target to simplify their life (from setting the hostname to secure multi-seat handling), so it's not a surprise that they make use of it.
That's what I've found at least, their rc system is dead simple, like Arch used to be before they started making changes to allow for systemd. I miss the day's of arch's rc.conf.
No need to be quite so weaselly: 'Many disagree...' is something I'm pretty sure you could provide references for if pressed.
Also, what's so bad about coredumps? You can disable storing them in the journal, discarding them or saving them in a separate location (which is the default). Where coredumps are rare (which I guess it's the case in most of the deployments) it seem nice having a clean, standardized way to manage them.
This is the same thing I see about HTTP/2. It's good to finally remove a huge number of parsing errors and inefficiencies!
I've been solving this problem by writing a non-pretty printed JSON blob to one line in a log file. Structured, but still text and very easy to stream. I build a separate binary index that gives more efficient time based lookups, but it isn't needed to understand and process the log file.
systemd is the launchd for Linux I've been wanting for years.