Re: change an environment variable in a running gnome session



Havoc Pennington wrote:
> Colin is right that D-BUS is intended to be the only app that does this,
> because D-BUS is in turn the "grounding point" for the rest of the
> desktop and apps. In other words once we bootstrap D-BUS you can use
> D-BUS to locate other apps, communicate between apps, and find config
> settings. (gconf is the place for config settings now but the idea is
> that we'd eventually route this through dbus also)

Agreed.

> If you're talking about an env variable that command line gpg looks at
> then that's a little tougher to deal with.

Yes that's the case, as was the case for the original question.

> Anyway, people should know not to copy D-BUS since the way it works is a
> one-time special case needed because D-BUS can't use D-BUS to launch
> itself.

Well the recommended, 'blessed' method of starting gpg-agent (and by
extension seahorse-agent) is to put it in your .xinitrc (or some such)
in a similar fashion to DBUS. So essentially people will run into this
problem, and will have this fragile chain of applications starting each
other.

I understand that modern desktop apps won't run into this, but anything
else such as ssh-agent or gpg-agent or seahorse will have this problem.

Seahorse has hacked around the problem in a way that breaks things like
fast user switching, remote desktop logins and the like. It's sad to
resort to a big old hack, but we're forced to and it works for the lange
majority of desktops.

What I would love to see is some way for apps started in the session to
communicate a variable back to gnome-session and then be put in the
users session before the main desktop is started. Last time I brought
this up, the reaction seemed that it wasn't feasible, so I resigned
myself to the current state of affairs.

However it's interesting that this has come up again. I'd be interested
in looking into it and seeing if there's not some solution in
gnome-session.

Cheers,
Nate




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]