screen-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: reading an environment variable from screen


From: Thomas Köhler
Subject: Re: reading an environment variable from screen
Date: Thu, 17 Dec 2020 09:33:51 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

Hi Michael,

On Wed, Dec 16, 2020 at 01:28:15PM -0500, Michael Grant <mgrant@grant.org> 
wrote:
[...]
> Thomas, what you suggest, it's similar to the people who
> suggest symlinking some known place to the /tmp folder and then
> setting that in the environment.  Here's a link to the
> superuser.com post about this:
> 
> https://superuser.com/questions/180148/how-do-you-get-screen-to-automatically-connect-to-the-current-ssh-agent-when-re
> 
> You're right, it works a most of the time.  Where it fails is if I log
> in a second time from a different computer.  I was just looking to see
> if I could fix that.

In that case, this solution can be expanded a bit to do what you
want. The basic idea would be:
1. On login, create a directory $HOME/.ssh/sockets/$TIME/ and put
   a file setting the variables correctly in there (for example,
   name the file $HOME/.ssh/sockets/$TIME/sshenv). In that case,
   $TIME is what you get from "date +%s" (so don't login to the
   same machine from two different sources in the same second to
   avoid any trouble). At the same time, set a variable
   "remove_on_logout" to "$HOME/.ssh/sockets/$TIME/"
2. In your .logout, put this command:
   rm -fr "$remove_on_logout"
3. In your shell, set prompt_command or pre_cmd or similar to
   contain something like
   . $(ls -1 $HOME/.ssh/sockets/*/sshenv | tail -1)

This way, you will always have a working $SSH_AUTH_SOCK even
though you login and logout time and again.

> Michael

Ciao,
Thomas

-- 
 Thomas Köhler       Email:       jean-luc@picard.franken.de
     <><             WWW:              http://gott-gehabt.de
                     IRC: tkoehler       Freenode: thkoehler
                     PGP public key available from Homepage!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]