This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
From: Jörg Schaible Reply-To: To: "[ML] CygWin " Subject: RE: ssh-agent variables available to any user process
Date: Wed, 30 Aug 2006 08:02:46 +0200
Lapo Luchini wrote on Wednesday, August 30, 2006 12:42 AM:
> Under FreeBSD, I launch ssh-agent in my .xsession script and its > environment is automatically inherited by every shell I then > open in my > X11 session. > No such luck with Windows, but I found a way to propagate a > environment variable to any (future) user process after the user is > already logged. > (or, at the very least...) Works for me. > > Variables will be then available on any shell and program opened after > the attached script is executed. > (put it in "Startup" menu in order to execute it at logon time)
I use a similar approach for years utilizing keychain. In my ~/.profile I have following lines:
I use
====== %< =======
if test -z "`pidof ssh-agent`"; then
keychain ~/.ssh/id_dsa
. ~/.keychain/`hostname`-sh
# Create batch files to be called from running shells
cat ~/.keychain/`hostname`-sh | sed -e "s/;.*$//g" | u2d > ~/.keychain/`hostname`-command.bat
# Set environment directly
regtool -s set /machine/SYSTEM/CurrentControlSet/Control/Session\ Manager/Environment/SSH_AUTH_SOCK $SSH_AUTH_SOCK
regtool -s set /machine/SYSTEM/CurrentControlSet/Control/Session\ Manager/Environment/SSH_AGENT_PID $SSH_AGENT_PID
# Broadcast of WM_SETTINGCHANGE
update-env
else
. ~/.keychain/`hostname`-sh
fi
====== %< =======
And update-env.c is:
====== %< =======
#include <windows.h>
int main() {
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment");
}
====== %< =======
build with Makefile:
====== %< ======= all: update-env.exe
%.exe: %.c gcc -mno-cygwin $^ -o $* strip $@ ====== %< =======
ssh-add -l >/dev/null 2>&1 if [ $? -eq 1 ]; then ssh-add fi
Neither did I. My helper application sendchenv.exe, but the same as update-env.exe. My source is also attached.
I never found a way to broadcast the WM_SETTINGCHANGE directly form the script without the little helper app.
Attachment:
secret-agent-service-install
Description: Text document
Attachment:
secret-agent-service
Description: Text document
Attachment:
sendchenv.c
Description: Text document
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |