One user morne than one time logged in.

Havoc Pennington hp at redhat.com
Tue Jan 24 17:03:41 PST 2006


On Tue, 2006-01-24 at 23:05 +0100, Tako Schotanus wrote:
> Noob question: again just curious, but how is this handled for things 
> like... let's say GConf?
> 

GConf is where I learned my opinion on this ;-) I tried to make gconf
per-user and learned that it was impossible, or at least I could not
figure it out. We had to drop the attempt to make gconf
per-home-directory due to the multiple machines issue.

The right way to do gconf IMO is to default to per-session semantics
(like every other dotfile, this ends up as "last app instance to exit
wins"). Then support a network backend for LDAP/IMAP type of semantics
with a user global data store.

> Because  2 application could be accessing the settings store at the same 
> time and theoretically I guess they should be told about the other's 
> changes.

Right, that was the original gconf idea and it sort of works in
non-real-world scenarios (i.e. no firewalls, all one network, etc.). But
it doesn't work in real life.

Realistically the only way to have a conceptually global data store is
with a network server, like IMAP. per-home-directory/per-user can't work
peer-to-peer because shared home dir doesn't mean there's any way to get
a network connection between the peers.

You could probably do some crazy complex firewall-jumping code, things
like Google Talk and Skype have this, but I don't want to go there...

Not to mention nastiness like if you run the per-user dbus on machine A,
then log in to machine B and it uses the dbus running on A, and then A
powers down or logs out... why open this can of worms? it's too complex
for both users and developers.

Havoc




More information about the dbus mailing list