System D-BUS and $DISPLAY

David Zeuthen david at
Fri Jul 2 05:56:31 PDT 2004

On Thu, Jul 01, 2004 at 05:19:53PM -0400, Havoc Pennington wrote:
> On Thu, 2004-07-01 at 08:43, David Zeuthen wrote:
> > So, I think maybe it would make sense to be able to ask the system bus
> > what session buses are running as well as characteristics of each
> > session, e.g. whether they are remote or local and what user is logged
> > etc. etc. 
> Seems like a pretty good idea, I'm not sure we need the session buses to
> connect directly to the system bus, instead you could have gnome-session
> and equivalents connect to the system bus and provide this info.

Supposedly one could have a org.freedesktop.Session service on the
system bus that keep track of sessions and gnome-session and others
interact with, yes, but I kind of like the simplicity of this being
hardcoded into dbus-bus.[ch], e.g. perhaps a

 DBusBusses *dbus_bus_get_busses (DBusBusType     type,
                                  DBusError      *error);

where DBusBusses is an opaque type you can access to iterate over the
busses of the given type and query them - I'm sure someone can come up
with a better design though :-)

The reason for this being nice is that desktop XYZ need not worry
about connecting to the system bus when launching a session bus from
XYZ-session, hmm, or maybe that part could be hardcoded into
dbus-daemon when launching in session mode?

> > Basically, I guess this is useful for maintaining system-wide policy
> > according to preferences specified by user with the current session. The
> > thing is, you want to store these preferences in either gconf, Kxconfig
> > or whatever session-wide preference system is running. 
> Dan Williams and Seth Nickell already coded an "ask the session for user
> preferences" hack for some network stuff we're doing in the Fedora
> Project, not sure how it works.

IMHO, in the ideal world all policy should be maintained in the
desktop session but alas lack of privileges and security makes this
difficult. POSIX capabilities or the SELinux stuff just might help
here; Robert Love posted something here 


More information about the dbus mailing list