OK, have "working" but would like some input/review of my work-around.
Starting the keyring daemon in .xinitrc somehow causes trouble for the nm_applet, as mentioned in the previous comment. Thus I decided to try the login shell, i.e. .login file for tcsh (which I run).
In .login I know have the following:
set gkeyd=/usr/bin/gnome-keyring-daemon
set gkeydArgs="--start"
set gkeydInfo=~/.gnome2/keyrings/daemon-info
set countFile=~/.gnome2/keyrings/daemon-counter
if ( -r $gkeydInfo ) source $gkeydInfo
if ( $?GNOME_KEYRING_PID ) then
set this=`ps -elf | grep ${GNOME_KEYRING_PID} | grep gnome-keyring-daemon > /dev/null`
# start the daemon if it is not running
if (( $? != 0 ) && ( -x "gkeyd" )) then
$gkeyd $gkeydArgs | awk -F = '{print "setenv " $1 " " $2}' > $gkeydInfo
echo "1" > $countFile
source $gkeyInfo
else
set count=`cat ${countFile}`
echo "$count + 1" | bc > $countFile
endif
else
$gkeyd $gkeydArgs | awk -F = '{print "setenv " $1 " " $2}' > $gkeydInfo
echo "setenv GNOME_KEYRING_COUNTER ${$countFile}" >> $gkeydInfo
echo "setenv GNOME_KEYRING_INFO ${gkeydInfo}" >> $gkeydInfo
echo "1" > $countFile
source $gkeydInfo
endif
After I restart everything is working, ssh-agent, which I start separately in .xinitrc as follows:
eval `/usr/bin/ssh-agent -s`
SSH_ASKPASS=/usr/lib64/ssh/ssh-askpass
if test -S "$SSH_AUTH_SOCK" -a -x "$SSH_ASKPASS"; then
ssh-add < /dev/null
fi
And the keyring is running. Better yet running an osc command it actually appears to use the keyring and I no longer get stupid "auth" errors.
Now the problem. Although everything is running there was no ~/.gnome2/keyrings/daemon-info file and the daemon-counter was empty. Does the daemon somehow fiddle with the .gnome2/keyrings directory when it starts? I can certainly store the file somewhere else.
Other comments/thoughts on this solution?
I will test this for a while and if things work I'll write a blog on Lizards.
OK, have "working" but would like some input/review of my work-around.
Starting the keyring daemon in .xinitrc somehow causes trouble for the nm_applet, as mentioned in the previous comment. Thus I decided to try the login shell, i.e. .login file for tcsh (which I run).
In .login I know have the following:
set gkeyd=/ usr/bin/ gnome-keyring- daemon ~/.gnome2/ keyrings/ daemon- info ~/.gnome2/ keyrings/ daemon- counter
set gkeydArgs="--start"
set gkeydInfo=
set countFile=
if ( -r $gkeydInfo ) source $gkeydInfo KEYRING_ PID} | grep gnome-keyring- daemon > /dev/null` COUNTER ${$countFile}" >> $gkeydInfo
if ( $?GNOME_KEYRING_PID ) then
set this=`ps -elf | grep ${GNOME_
# start the daemon if it is not running
if (( $? != 0 ) && ( -x "gkeyd" )) then
$gkeyd $gkeydArgs | awk -F = '{print "setenv " $1 " " $2}' > $gkeydInfo
echo "1" > $countFile
source $gkeyInfo
else
set count=`cat ${countFile}`
echo "$count + 1" | bc > $countFile
endif
else
$gkeyd $gkeydArgs | awk -F = '{print "setenv " $1 " " $2}' > $gkeydInfo
echo "setenv GNOME_KEYRING_
echo "setenv GNOME_KEYRING_INFO ${gkeydInfo}" >> $gkeydInfo
echo "1" > $countFile
source $gkeydInfo
endif
After I restart everything is working, ssh-agent, which I start separately in .xinitrc as follows:
eval `/usr/bin/ssh-agent -s` /usr/lib64/ ssh/ssh- askpass
SSH_ASKPASS=
if test -S "$SSH_AUTH_SOCK" -a -x "$SSH_ASKPASS"; then
ssh-add < /dev/null
fi
And the keyring is running. Better yet running an osc command it actually appears to use the keyring and I no longer get stupid "auth" errors.
Now the problem. Although everything is running there was no ~/.gnome2/ keyrings/ daemon- info file and the daemon-counter was empty. Does the daemon somehow fiddle with the .gnome2/keyrings directory when it starts? I can certainly store the file somewhere else.
Other comments/thoughts on this solution?
I will test this for a while and if things work I'll write a blog on Lizards.