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





------- Additional Comments From [EMAIL PROTECTED]  2003-04-09 19:57 -------
Well, with ssh-agent currently, if I do: 
 
$ ssh-agent tcsh 
(now inside the spawned tcsh): 
$ killall ssh-agent 
 
ssh-agent dies, but nothing bad happens to tcsh (or bash, or startx or anything 
else I've tried) 
 
Also a clairification:  
  
gpg-agent --daemon command  
  
does in fact run "command". However, unlike ssh-agent, gpg-agent stays alive  
indefinately after "command" exits. I guess what would be nice is additional  
symantics like:  
  
gpg-agent --exec command  
  
Where it would start gpg-agent, run the command, and exit gpg-agent when the  
command finishes (this is how ssh-agent currently works if used in this mode).  

-- 
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