http://qa.mandrakesoft.com/show_bug.cgi?id=5259





------- Additional Comments From [EMAIL PROTECTED]  2003-04-09 20:11 -------
Created an attachment (id=746)
 --> (http://qa.mandrakesoft.com/attachment.cgi?id=746&action=view)
Wrapper script that would do the trick

Hmmm... well, maybe it's not as good as a patch to the source (which I was
considering), but here is a small wrapper shell script that will give the right
kind of semantics and isn't as intrusive.

This will let you run:

gpg-agent-exec command

A gpg-agent will be started that is just in the context of that command, and
when command is finished, the corresponding gpg-agent will be stopped.

-- 
Configure bugmail: http://qa.mandrakesoft.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


------- Reminder: -------
assigned_to: [EMAIL PROTECTED]
status: UNCONFIRMED
creation_date: 
description: 
One of the greatest things about ssh-agent is that it can exec another program 
transparently. I *often* end up running things like: 
 
ssh-agent startx 
or 
ssh-agent bash 
 
... in fact, Mandrake's init scripts are smart enough to ssh-agent your whole 
session this way if it's installed. This is wonderful! 
 
gpg-agent, on the other hand, is a little trickier to use. It operates in the 
other mode that ssh-agent supports, which is to daemonize and spit out an 
environment variables. This works okay, but to get the above uses, I have to 
do: 
 
eval `gpg-agent --daemon` && startx 
and then when X exists, if I wanted gpg-agent to only live for the scope of 
that session, I have to now find and kill it. Or save the pid and kill that, 
or do a messy killall. 
 
Accordingly, if I want to *only* have a gpg-agent work for the life of a 
shell, I have to do something like: 
eval `gpg-agent --daemon` && bash && killall gpg-agent 
 
So, SUGGESTION: 
 
Let's support 
gpg-agent startx 
or 
gpg-agent bash 
 
gpg-agent in this case can work like ssh-agent does. Set up it's environment 
internally, then fork and exec the given command, then when that process ends, 
exit. Thus, we have a nice encapsulated contex for gpg-agent with a known 
lifespan, without any external messiness. 
 
This also means I could now easily do: 
 
gpg-agent ssh-agent startx 
or 
ssh-agent gpg-agent bash 
 
This is very clean and nice. =)

Reply via email to