@vic systemd, avahi, PulseAudio, dbus, all of which are Poettering's fault, and then there's all the other bullshit, the gtk3, Wayland, boost, a million shitty parallel language-specific package managers, a million shitty build systems, etc.

@p
What's wrong with dbus though? Something has to fill the role of IPC to pass messages between daemons and other software that isn't… you know, a named socket — something higher level 😅
Even OpenWRT — which doesn't have all the luxuries of a full-blown system, has ubus.
@vic

@m0xee @vic

> What's wrong with dbus though?

FSE's text limit is 16,384 characters. I don't think I need a daemon for a browser to run, I sure as hell don't know why the browser should crash if the daemon is killed.

> Something has to fill the role of IPC

Processes have to communicate, sure. dbus is not the only answer, or the best answer. Sun had an answer and people hate the rpcbind shit.

> to pass messages between daemons and other software

Sit on dbus-monitor a while and look at exactly what passes through.

> that isn't… you know, a named socket — something higher level

No, you do not. For most of these terrible pieces of software, people say this sort of thing, and sometimes the best alternative to a terrible thing is "nothing". I can ask you why you need that and you can say "Because otherwise we couldn't have $x" and I tell you that I don't have $x (or maybe I have $x but I don't want it but shit refuses to build without it). It is an overengineered piece of shit, it is a freedesktop.org bureaucratic nightmare, it provides literally nothing that I want and compels a lot of things that I do not want.

If we take it as a given that a real problem is being solved, even then "dbus is a solution to a problem" doesn't necessarily mean that it is the only solution. There are a lot of ways to achieve interprocess communication. A named socket is fine for Linux, terrible programs spew way too much information down dbus and it's another piece of shit tool in Lennart's open attempt to create a standard that no one needs in order to ensure that RedHat controls the ecosystem.

It's like a DE. I don't want a DE. People ask how you can have a widget tray without a DE. I don't want a widget tray. Increasingly, I don't want Linux, because all of the dumb shit that is present in Windows or OSX is getting added, as if the HCI problem were solved and there's only one way to do any of this. (Joke's on anyone that made that argument, because OSX is turning into iOS and Windows is turning into a shitty Flash website from 2002. Evidently the final word in user interfaces has not been spoken, or there wouldn't be any changes.)

> Even OpenWRT — which doesn't have all the luxuries of a full-blown system, has ubus.

It has that to support the stupid web GUI, and the web GUI breaks if you uninstall dnsmasq, which you might do because the stupid web GUI completely ignores you if you tell it that you already have a DHCP server and you want it to just route packets, and then you tell it to just not start dnsmasq and it ignores you anyway so you have to actually remove dnsmasq. So if you remove dnsmasq then the stupid web GUI actually crashes on startup.

@p @vic
> It's like a DE. I don't want a DE. People ask how you can have a widget tray without a DE. I don't want a widget tray.
Same here, I have machines that do not have dbus, but I have no problem running it on the ones where I can benefit from it — seriously, among these things it's the only one I have zero problems with. Overengineered — sure, but it's nowhere near as buggy as systemd and it's fully modular: you can easily replace it with another thing and you can even not have it at all.

@m0xee @vic

> I have no problem running it

Like you have a choice. I'd be delighted if I could remove it from this system but there are programs that I need to execute and they are tied to gtk.

> on the ones where I can benefit from it

That is exactly my point: I don't know what benefits you mean but I do not think they exist and if they do, they probably apply to things that I don't want anyway. We could enumerate the benefits and I could explain why I don't want them.

> it's nowhere near as buggy as systemd

If I kill dbus, a bunch of shit crashes. That is a bug, and it is a bug that they will never fix. Even with a named socket, usually you'll write code to reconnect if it goes missing instead of fucking segfaulting.

@p @vic
> If I kill dbus, a bunch of shit crashes.
I suppose it depends on the distro, how deeply it integrates it and how modular it assumes it to be.
I have just restarted dbus in my Void system (where I even have elogind) — literally nothing started falling apart, no user-facing software crashed or got terminated, bluetoothd got restarted — that's it 🤷

@m0xee @vic

> I suppose it depends on the distro, how deeply it integrates it and how modular it assumes it to be.

No, it's how dbus works. You kill dbus and Firefox crashes, and this is every distro I have tried it on. This is intentional behavior, because dbus is designed for DE users and if the Windows taskbar crashes, Windows will restart it. The idea is that if dbus crashes, your session is broken and your xdm or whatever should restart your DE.

> I have just restarted dbus in my Void system (where I even have elogind) — literally nothing started falling apart,

If you are talking about the system dbus, it's the same program that is used to run a user-level dbus. I am not running the system-level dbus.

@p @vic
I just tried stopping it (instead of restarting) and killing all instances of dbus-daemon running as user — again, nothing special happened, except for… yeah, Firefox — it didn't segfault though, terminated gracefully with something like "channel closed".
Ironically, I can start Firefox again without dbus running, dbus doesn't get spawned and FF works fine.
Well, what can I say… It's odd, it's lame, but so is its developers design decision.

@p @vic
Does it have to do specifically with dbus? Of course not, FF does a plethora of questionable things, like audio input not working in FF without PulseAudio, so I have to use apulse — luckily the output works with alsa.
I agree with you — it should be optional, but IMO it doesn't make dbus itself bad.
I probably wouldn't even have a problem with systemd — were it modular (and less bug-infested😏), BTW this would fit nicely with your approach: don't need the horse — throw it the fuck out!

@m0xee @p @vic try uploading a image without dbus(it does not work)
Follow

@dcc @p @vic
No — I checked, the only thing with dbus in its process name is dbus-run-session — because that is how I run dwm from slim, if I kill that, the session obviously terminates just because it's the parent process. But no dbus-daemon or friends running.
And bluetoothd starts complaining that it can't connect to dbus and keeps restarting — so no, not the case.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml