System and Session Bus

John (J5) Palmieri johnp at redhat.com
Wed Mar 22 13:32:56 PST 2006


On Mon, 2006-03-20 at 09:20 +0100, Oliver Frommel wrote:
> > 
> > - What is the point in having a separate session bus when
> > > a system bus is already running?
> > 
> > 
> > The system bus is there to provide coordination between system-wide services
> > that are independent
> > of individual users and their apps running, while the session bus is there
> > for "desktop communication" primarily,
> > that is, to provide coordination and communication between apps that an
> > individual user would run (as opposed
> > to apps/services that the "system would run").
> > 
> 
> Ok, thank you so far. 
> Can you provide any more actual use cases / examples for
> both busses? For instance if I want to make use of HAL
> I have to connect to the system bus, right?
> In order to have my application communicate with other
> programs running in my desktop session I would connect to
> my session bus. In practice that would mean most applications
> would need to connect to both busses.
> 
> When I list the interface names of both busses on FC5 I get:
> (system:)
> [u'org.freedesktop.DBus', u':1.7', u':1.8',
> u'org.freedesktop.NetworkManagerInfo', u'org.freedesktop.Avahi',
> u':1.10', u'com.redhat.CupsDriverConfig', u':1.1',u':1.2',
> u'org.freedesktop.Hal', u':1.3', u':1.4', u':1.5',
> u'com.redhat.PrintDriverSelection', u':1.6']
> 
> (session:)
> [u'org.freedesktop.DBus', u':1.3', u':1.0', u':1.1',
> u'com.redhat.PrinterManager']
> 
> So what is the purpose and difference of the printer services 
> that are available on the respective busses. 

The printing services are all a first pass implementing some of my ideas
about giving limited privileges to non-root users for things like
configuring hardware.  It is being revamped currently but the idea is
the same.  You have a service running as root that listens on the system
bus for configuration change requests (com.redhat.CupsDriverConfig).
You have a service running as the current console user that listens for
requests for input on the system bus (com.redhat.PrintDriverSelection). 

com.redhat.PrinterManager is a bit different.  It seems to be used to
pop up a password dialog most likely for authenticating to a secure
printer.  Colin wrote that and I am not sure who uses the service.

-- 
John (J5) Palmieri <johnp at redhat.com>



More information about the dbus mailing list