Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dconf setting /org/mate/desktop/session/gnome-compat-startup should not include 'keyring' by default #182

Open
duairc opened this issue Jan 9, 2019 · 3 comments

Comments

@duairc
Copy link

duairc commented Jan 9, 2019

Expected behaviour

I wasted a whole day trying to get GnuPG's SSH agent working. Most of the things you read, e.g., here tell you you need to prevent the SSH component of gnome-keyring from autostarting, which you can do by editing /etc/xdg/autostart/gnome-keyring-ssh.service, or doing the equivalent in ~/.config/autostart. I would expect that to prevent the SSH component of gnome-keyring from being started on MATE.

Actual behaviour

Out of the box, none of this has any effect in MATE. It turns out this is because of a dconf property, /org/mate/desktop/session/gnome-compat-startup, which includes "keyring" by default. When this list contains "keyring", msm-gnome.c is hardcoded to run gnome-keyring-daemon --start, which indiscriminately starts all components of gnome-keyring-daemon regardless of what you've done with the autostart stuff.

The reason I'm saying MATE shouldn't include it by default is because gnome-keyring-daemon includes the autostart files by default anyway, and they explicitly contain the line OnlyShowIn=GNOME;Unity;MATE;, which means that this "feature" is redundant. Maybe it could still be useful for distributions that don't include systemd? Even so, they're a minority, and they can write a patch to change the default dconf setting themselves if they want.

If you insist that this is the right default, I'll write a patch for NixOS at least.

Steps to reproduce the behaviour

Try to disable /etc/xdg/autostart's gnome-keyring-ssh.service, and observe that gnome-keyring continues to hijack the SSH_AUTH_SOCK environment variable no matter what you try to do.

MATE general version

1.21.0

Package version

/nix/store/03f9d0cr3wpci47z9kx71a1386ffj3h5-mate-session-manager-1.21.0

Linux Distribution

Right now, NixOS, but I had the same problem before on Debian, and unfortunately didn't remember how I solved it so I wasted a lot of time again today.

Link to downstream report of your Distribution

n/a

@milouse
Copy link

milouse commented Mar 22, 2019

I can confirm this bugs. @duairc you just made my day. I finally fall here after hours of digging around.

milouse added a commit to milouse/mate-session-manager that referenced this issue Mar 22, 2019
Mate Desktop support /etc/xdg/autostart elements and gnome-keyring-daemon (GKD) add entries, which mention explicitely Mate desktop there. Thus this entry is redundant. On the other hand, this entry is responsible for a "start-all-subcomponent" of GKD, which block fine selection of components to load at startup.

I think this compat element is not needed any more.

Fix: mate-desktop#182
@raveit65
Copy link
Member

Reported for fedora in redhat bugzilla. https://bugzilla.redhat.com/show_bug.cgi?id=1667051
I will test pull request.

@milouse
Copy link

milouse commented Mar 22, 2019

Discussion continue on PR #200

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants