Question about file desriptors.

Stef Bon stef at bononline.nl
Wed Sep 23 01:51:56 PDT 2009


>> Ok, two questions: what's a X11 atom?
>
> http://en.wikipedia.org/wiki/X_Window_System_core_protocol#Atoms
>
> In case of dbus-launch I think what is meant is a root window property 
> (the name of which is an atom).
>
>> And what's so special about it that the dbus-launch program wants 
>> info from it?
>>
>
> It is a way to make sure that you have only one session bus per X 
> session, by using the X server (root window) as a registrar.
Ok, that's making things clear to me.

Well, to be honest I'm a bit of a purist. I know that everything is 
working now perfectly, but I think that the same things are done here 
more than once.

THis atom is as I understand a way to identify the session, unique, 1:1. 
Now I've made some remarks about ConsoleKit. This tool is for 
administration of the seats and sessions. One of the things it does, is 
create a cookie (XDG_SESSION_COOKIE) which is unique to the session, 
also 1:1.

Dbus could also use that one, and also take in account it's a 
x11-display or not, and it's a local or a remote session. This 
information it can also get from CK.
Then things do not have to be done more than once, and as far I 
understand, the session cookie is THE key to identify the session.

Now futher I look at Upstart. It's very possible to make the Upstart 
aware of sessions, and do something like this

on new session and x11-display set and is-local do

    start new dbus-daemon session for this user

This is wat I've meant with integration with CK and Upstart.

Again I know it's working very good now, but I'm very enthousiast about 
Upstart. I think it's a very good tool to start services, and look at
dependencies when doing so. I also know that Upstart is not in every 
distro available.

Is this good a good idea?

Stef Bon




More information about the dbus mailing list