[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 9p/plumber to replace D-Bus?





Le 12.12.2014 06:13, seeker5528 a écrit :
On 12/11/2014 8:33 AM, berenger.morel@neutralite.org wrote:


Le 08.12.2014 18:59, Marty a écrit :

If this proves feasible, that's what I hope to do. I just want to know if anyone thinks it's a good idea, before I commit time and resources.
My knowledge of all of the issues is sketchy at best.


Don't know about the feasibility.

When I first heard some guy was working on something called Wayland,
I thought it sounded like something that was never going to be more
than a personal project, but years later, it looks like not only is it
gaining steam, it has competition. Whether that competition ever gets
adopted outside of Ubuntu is a whole other question, but it exists.

These are the things that freedesktop.org is for, get something out
there people can get there hands on and provide a place to discuss it.
You still have to do outreach to get people interested/involved, be
responsive to their feedback, etc...

Oh. Then, I doubt it's useful since my opinion is that dbus is useless (my opinion, which depends on my uses of my computers).
Why?
Because I do not see why my softwares should discuss between them without asking me.

Your entitled to your opinion.

Indeed. I rarely discuss to show that things I disagree with are good, except when the guy which agrees with just seems to agree without having thought about it at all :) I prefer discussing with people which disagree, it's just more fun and it makes it easier to have enlightenment.

Personally I would prefer software X gets a poke in the arm and a
message indicating network status changed, screen orientation changed, configuration changed here, there was an event in software Y that X is set to react to, Z is advertising a service X can use, etc.... instead of software X having to run around to multiple locations and check all the time or on the odd occasion restart and take inventory of what has
changed.

Sometimes looking at what was
https://www.youtube.com/watch?v=j02b8Fuz73A makes it seem like what is
should be a little more.

Later, Seeker

This is a 35min long video. I'll watch it later. For now, I do agree with you that, X11 should not be in the middle of everything. And I think the same for every software, and this is what DBus does. I was not clear enough when I spoke about the relation between X11 and softwares. In fact, I was only thinking the the actual only useful thing I have seen for now in general IPCs on my system: windows notifying that they need some attention. The window sends the notification, probably (never checked in code) through X11 protocol, X11 resends it to window manager. Ok, X11 is in the middle, but it is something which allows me, who does not use a mainstream DE, to have this feature too, and it is, imho, graphic-related. Now, when I change, say, GTK's theme, I should not have to restard my applications to use it. And it's what dbus allows. But, there are actually many software that do not use dbus which supports such notification system, like daemons. They simply use signals, and on a given signal, they do something. No need for centralized dbus here.

I guess that, yes, building a protocol based on signals to know what is the thing one wants us to take a look at, would need some way to know what's the "problem", but I do not think having a daemon here is required. Just consider having a protocol which defines standard messages. Then, this protocol would mention that, when something wants to notify someone of some standard event, it just have to send a message on a socket of the application in question, and then sending SIGINT (for example) to it. How could it know the application's socket? There are 2 responses here: a daemon like dbus acting as a central point, and if (I said, if) it fails everything fails, or more simply at install time, building a text file like "port : application : message1, message 2,etc". Each solutions have flaws, of course. In such a solution, the flaws I see would be: only software installed at the moment the application starts could be registered (but, applications should not, imho, be added or removed everytime. Plus, it could be worked around by specifying a second signal to re-read that configuration file), and multiple instances of a software which could not be supported. But, those days, many software just do their best to avoid that (not that I like it, heh), so by extending the way they are doing that, it is probably possible to find a solution to this issue.

So, you have to choose between:
_ having a daemon running everytime, and an application which needs to listen at it's socket everytime (I guess it's how dbus works? If someone have any clue about this part of internal, I would be happy to learn), but which have a more flexible way to send messages (not tied to a protocol? I'm not that sure, but I suppose it can at least support non-standard messages), which is something I do not like: if the daemon crash, for a reason or another, or is exposed to a security issue, it's all applications using it which are in danger. Plus, it's not portable. _ having a signal+socket+configuration protocol, which needs to be updated everytime an application is added to the system.

Note that I only thought about the problem today, the solution I described probably have tons of issues, it have not been since years ;) But, if someday, I wanted to build a DE (why not... a DE for power, keyboard users, which are not only obsessed by aesthetic, but by reliability by having as less as possible SPOF... the problem is that, for something like that, the core of a DE still need to be identified*) where everything can discuss with every other things, I would go that way. Because I do not like SPOFs, and I see dbus as one of them (yes, X11 is another one, in the way interactive software are usually builts, I know, but this one is quite hard to solve because of it's age, unlike dbus which is young --I mean, age is not what makes dbus hard to solve--)

*: probably window manager, but what else? Unified configuration manager, unified message protocol, text editor? MUA, web browser, various-file-viewers, word processor, image editor, spreadsheet?

SPOF: Single Point Of Failure
MUA: Mail User Agent, like claws, mutt, thunderbird... outlook? XD


Reply to: