1

I have an odd predicament. I want to detect on the remote end of an ssh connection if the client is running the terminal inside a screen session. I want to set my prompt based on this. So far I have tried using remotehost:~/.ssh/env[1] and the SendEnv option in my localhost:~/.ssh/config to send my $STY variable[2]; but both have failed.

So I was wondering if there is any other way to achieve this?

Footnotes:

[1] This doesn't work since it doesn't evaluate anything, I can't set things up dynamically.

[2] This requires AcceptEnv be allowed on the remote end. This is not possible because I'm not the admin on the remotehost and even if I were, the man sshd_config advises against it.

suvayu
  • 221
  • 2
  • 7
  • On my system, screen sets the `$TERM` variable, and it is reflected on the remote host `$TERM` variable. – wnrph Dec 04 '11 at 01:04
  • related: http://superuser.com/questions/174494/transfer-information-about-the-connection-from-ssh-client-to-ssh-server – Lesmana Dec 04 '11 at 07:26
  • @artistoex Sorry I forgot to mention that I'm set term to xterm – suvayu Dec 04 '11 at 09:45
  • @lesmana That seems to answer my question adequately. I should have searched more carefully. – suvayu Dec 04 '11 at 09:46

1 Answers1

0

Try this:

if [ "${TERM}" == "screen" ]
then
    # Set prompt to something special for screen.
fi

Here is the relevant quote from the screen manpage:

   term term

   In  each  window's  environment  screen opens, the $TERM variable is set to "screen" by default.  But when no description for "screen" is installed in the
   local termcap or terminfo data base, you set $TERM to - say - "vt100". This won't do much harm, as screen is VT100/ANSI compatible.  The use of the "term"
   command is discouraged for non-default purpose.  That is, one may want to specify special $TERM settings (e.g. vt100) for the next "screen rlogin otherma-
   chine" command. Use the command "screen -T vt100 rlogin othermachine" rather than setting and resetting the default.
Adam Zalcman
  • 228
  • 2
  • 9
  • As I mentioned in my comment, I already set TERM to something else to resolve other issues (e.g. scrolling). I did get my answer in the thread referred to by artistoex. – suvayu Jan 07 '12 at 09:00