musings on session service mgmt

Dan Winship dwinship at redhat.com
Fri Jan 4 14:48:41 UTC 2008


David Zeuthen wrote:
> Also, since we're talking about environment variables, we surely need to
> care about the ordering; e.g. we want
> 
>  00-ck-xinit-session.sh
>  01-dbus-session-bus.sh
>  10-ssh-agent.sh
>  10-seahorse-agent.sh
> 
> and so forth.

That still doesn't work though; dbus-daemon won't have access to
$SSH_AGENT or $GPG_AGENT_INFO, and so therefore neither will any
applications that it launches. (We already have this problem with
$SESSION_MANAGER.)

The only real solution is "don't use environment variables for long-term
IPC". Eg, libgnomekeyring used to use an environment variable to find
gnome-keyring-daemon, which ended up meaning that dbus-launched apps
couldn't access gnome-keyring, but now it's been fixed to use dbus
instead. But yeah, we're not going to get gpg and ssh to use dbus, I know.

The "new-gnome-session" branch in SVN (which Lucas Rocha is hacking on,
but it looks like won't make it in time for 2.22?) has a dbus interface
(org.gnome.SessionManager.Setenv) that lets apps that start very early
in the startup process hand environment variables back up to the session
manager so that apps started after them will see those vars. If
dbus-daemon itself also supported something like this, that would help
solve the ordering issues somewhat (though still not entirely).

-- Dan




More information about the Fedora-desktop-list mailing list