FS#17099 - [gdm] Add support for seahorse-agent in default Xsession

Attached to Project: Arch Linux
Opened by Magnus Therning (magus) - Wednesday, 11 November 2009, 14:27 GMT
Last edited by Jan de Groot (JGC) - Thursday, 05 May 2011, 10:23 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
The default Xsession file (/etc/gdm/Xsession) contains code that'll start ssh-agent in the sesssion if it's available. It would be great to do the same for seahorse-agent. Adding something like the following should be enough:

# add seahorse-agent if found
seahorseagent="`gdmwhich seahorse-agent`"
if [ -n "$seahorseagent" ] && [ -x "$seahorseagent" ]; then
command="$seahorseagent --execute $command"
elif [ -z "$seahorseagent" ] ; then
echo "$0: seahorse-agent not found!"
fi
This task depends upon

Closed by  Jan de Groot (JGC)
Thursday, 05 May 2011, 10:23 GMT
Reason for closing:  Won't implement
Additional comments about closing:  Seahorse-plugins is dead.
Comment by Jan de Groot (JGC) - Wednesday, 11 November 2009, 14:47 GMT
Seahorse already contains an autostart launcher for the daemon, so I see no need for this.
Comment by Magnus Therning (magus) - Wednesday, 11 November 2009, 22:45 GMT
It's very possible that I have missed something, but how do I get seahorse-agent started automatically as part of my Xsession?

The above is one way, but I'm very keen to find out if there's some better way. Especially if it survives upgrades of gdm.

What I need of course is the environment variable GPG_AGENT_INFO to be set in all X programs.
Comment by Magnus Therning (magus) - Sunday, 22 November 2009, 22:04 GMT
I've now looked a bit closer at this.

The request is for seahorse-agent to be added to GDM's startup script. What you refer to is seahorse-daemon. The two are separate executables, and offer different services:

seahorse-daemon - This is the daemon program which provides services to other parts of Seahorse, and shares your keys over the network if so desired.

seahorse-agent - This is the agent program for seahorse which keeps a temporary secure storage of your pass phrases. It also works with the SSH agent to prompt you for SSH passphrases.

As the description for the agent says, it complements ssh-agent (in fact it offers services similar to gpg-agent). So, please, consider adding code similar to what I posted in the initial report.
Comment by Magnus Therning (magus) - Monday, 14 December 2009, 17:28 GMT
Jan, are you just swamped, or is there anything else you need from me to decide which way to go on this?
Comment by Gerardo Exequiel Pozzi (djgera) - Saturday, 13 February 2010, 04:48 GMT
any decision here? There are no activity in 2 months.
Comment by Magnus Therning (magus) - Tuesday, 30 March 2010, 10:01 GMT
Still no activity.

Jan, the previous question still stands. Do you need anything else from me to decide where to take this issue?
Comment by Green (The_Green_Arrow) - Sunday, 15 August 2010, 09:28 GMT
Magnus >> have you tried just to replace :
ssh-agent="`gdmwhich ssh-agent`"
by
ssh-agent="`gdmwhich seahorse-agent`"
?


Comment by Magnus Therning (magus) - Sunday, 15 August 2010, 09:38 GMT
@Green, Thanks for the suggestion, but that you have to suggest *is the bug*. In other words, the bug is that I have to manually edit /etc/gdm/Xsession in the first place.
Comment by Green (The_Green_Arrow) - Sunday, 15 August 2010, 10:30 GMT
Yeah you're right...it doesn't work anyway...
But I don't think this is a bug, but just a missing configuration file somewhere (remember the arch way, the user have to configure the system on its own).
I look into ubuntu seahorse-plugins and I've foudn a file in /etc/X11/Xsession.d named 60seahorse-plugins wich contains :
# This file is sourced by Xsession(5), not executed.

SEAHORSE=/usr/bin/seahorse-agent
GPGAGENT=/usr/bin/gpg-agent

if [ -n "$GNOMERC" ] && [ -x $SEAHORSE ] && ! [ -x $GPGAGENT ]; then
BINARY="${STARTUP%% *}"
OPTIONS="${STARTUP#* }"
# BINARY and OPTIONS are the same if no option in STARTUP
if [ "$BINARY" != "$OPTIONS" ]; then
STARTUP="$BINARY -- $OPTIONS"
fi
STARTUP="$SEAHORSE --execute $STARTUP"
fi

So maybe we should put something in /etc/X11/xinit/xinitrc.d

What do you think ?
Comment by Green (The_Green_Arrow) - Sunday, 15 August 2010, 13:07 GMT Comment by Greg (dolby) - Friday, 04 March 2011, 05:36 GMT
 FS#19076  seems related

Loading...