Link to home
Start Free TrialLog in
Avatar of doar
doar

asked on

answerback in unix login, to pass terminal type through telnet

How do I query what the answerback setting is so I can set the TERM environmental variable through a telnet?  UNIX.

Thanks.
Avatar of jlevie
jlevie

How to query the "answerback" and what the reponse is elicited is highly dependant on what the terminal is. When dumb terminals were more popular, I remember a number of programs being posted to various Usenet groups that intelligently interrogated a terminal to determine what it was. They are probably still around somewhere on ftp.uu.net, but I can't remember any of the names.
Avatar of doar

ASKER

To be specific, I have a remote terminal, running a version of MS DOS, and using a tcp/ip program to connect.  And I want to be able to distinguish between this terminal and normal terminals (due to its small screen).  The tcp/ip software has a place to set the "answerback" and I was told that could be used to give a terminal type of something like: wy60small or whatever I choose...I'll check that site to see if it has my answer...anyone else know the answer would be helpfull...
If you only have this one terminal to deal with and it has a fixed IP, you could key off of where the remote session originates from. That wouldn't even require answerback. Something along the lines of:

`who | grep special-host >/dev/null`
if [ $? = 0 ]; then
  TERM=wy60small
  export TERM
fi

in your shell init script should do it.
Another way to do this, if the dos terminal does support answerback, is just send the ENQ character '\005' to the terminal on login and capture what the terminal says back.  
Avatar of doar

ASKER

Jlevies comment is a good idea, however since I will be having  a bunch of these (all with fixed ip's), I would have to manage a list of IP's.

Kiffney, your soln seems to be what I am looking for, however I do not know how to send an ENQ to the dos terminal, could you enclose a code snippet, and ill put it in the .profile of the unix box login to try it.
Avatar of doar

ASKER

Jlevies comment is a good idea, however since I will be having  a bunch of these (all with fixed ip's), I would have to manage a list of IP's.

Kiffney, your soln seems to be what I am looking for, however I do not know how to send an ENQ to the dos terminal, could you enclose a code snippet, and ill put it in the .profile of the unix box login to try it.
ASKER CERTIFIED SOLUTION
Avatar of kiffney
kiffney

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of doar

ASKER

Thanks guys for the help, I "avoided" the keyboard input buffer thingy by a
kind of work around:

awk 'BEGIN {

        eh = sprintf("echo -n \"\005\" ")
        system("stty -icanon min 0 time 1")
        system(eh)
        getline bah
        printf("%s\n",bah)
        system("stty icanon")

}'

It may not be the best solution but it does what I want, so basically I am
able to read the answerback with this, and hand it to the TERM environmental
variable.  The only problem with this is that it echo's the 005 as a command
to the shell if there is no answerback, and gets some command not found or
something harmless.  (btw there isn't a -e for the echo in my unix
environment Unixware).  Ok, thanks again guys!