After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 610715 - the autostart desktop should list xfce too
the autostart desktop should list xfce too
Status: RESOLVED WONTFIX
Product: gnome-keyring
Classification: Core
Component: keyring files
2.29.x
Other Linux
: Normal normal
: ---
Assigned To: GNOME keyring maintainer(s)
GNOME keyring maintainer(s)
: 610714 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-02-22 18:03 UTC by Sebastien Bacher
Modified: 2010-09-11 20:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastien Bacher 2010-02-22 18:03:15 UTC
The bug has been described on https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/525434

"The /etc/xdg/autostart/gnome-keyring desktop files need to be appended XFCE; in OnlyShowIn= for xubuntu to work properly with keyring.
...
gnome-keyring 2.29.90git20100218-0ubuntu1"
Comment 1 Sebastien Bacher 2010-02-22 18:04:41 UTC
*** Bug 610714 has been marked as a duplicate of this bug. ***
Comment 2 Sebastien Bacher 2010-02-22 18:05:25 UTC
*** Bug 610714 has been marked as a duplicate of this bug. ***
Comment 3 Sebastien Bacher 2010-02-22 18:07:26 UTC
*** Bug 610714 has been marked as a duplicate of this bug. ***
Comment 4 Heiko Baums 2010-03-11 14:50:17 UTC
It would be better if the line OnlyShowIn=Gnome would be removed completely.
Comment 5 Tomas Bzatek 2010-05-03 15:44:16 UTC
Hasn't this been recently obsoleted by the change introduced as a fix for bug 611002?
Comment 6 Sebastien Bacher 2010-05-04 09:05:00 UTC
not really I guess, or do you mean that the desktop autostart is deprecated since it's not useful and should not be shiped in new versions?
Comment 7 Tomas Bzatek 2010-05-04 12:42:45 UTC
Right, only the "secret" service gets autostarted from dbus, other services like ssh need to be started via desktop files.
Comment 8 Forest 2010-06-05 23:06:38 UTC
Actually, no, not for xfce.  Unfortunately, starting gnome-keyring-daemon using .desktop files does not capture and export the environment variables that are printed to its standard output.  Those variables must be exported to the session environment in order for certain programs (like ssh) to find and use the services that gnome-keyring-daemon offers.

There are two ways to get the environment variables set:

1.  If the session manager implements a certain dbus interface that allows environment variables to be exported to the session, gnome-keyring-daemon can set its variables using that interface.  The gnome session manager implements this interface, so although starting gnome-keyring-daemon via .desktop files loses the variables that get printed to standard output, they get set anyway via dbus.  xfce4-session does not implement the interface.

2.  If gnome-keyring-daemon --start is run by something that captures the printed output, that output can be exported to the session environment.  As far as I know, .desktop files have no way of doing this.

That's probably why the .desktop files in question used OnlyShowIn=Gnome to begin with.  The author probably knew that only Gnome's session manager had the feature that would make up for the lost environment variables.

http://live.gnome.org/GnomeKeyring/RunningDaemon
http://live.gnome.org/GnomeKeyring/Ssh

To make things work properly under xfce, gnome-keyring-daemon should not be started via desktop files.  Instead, it should be started by xfce4-session or a session startup script, and its printed output should be exported to the session environment.  It turns out that xfce4-session already tries to do this, but the code needs updating to accommodate recent changes to gnome-keyring-daemon.

Relevant bug reports:

https://bugs.launchpad.net/ubuntu/+source/xfce4-session/+bug/564831
http://bugzilla.xfce.org/show_bug.cgi?id=5137
http://bugzilla.xfce.org/show_bug.cgi?id=5912
Comment 9 Stef Walter 2010-09-11 20:09:58 UTC
Yes, Forest, I can confirm that your research is correct.

Previously gnome-session-manager was hard coded to run gnome-keyring-daemon. But once the org.gnome.SessionManager.Setenv() is implemented in the session manager, we switched to using autostart desktop files.

Only the password storage parts of gnome-keyring can work without the relevant environment variables being exported into the user's session. And that's started by DBus on demand.

I believe there's not much more that can be done here on gnome-keyring's side. So I'll close this bug. But if anyone has a patch or any other insight, please reopen.