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.
doarAsked:
Who is Participating?
 
kiffneyCommented:
Something like

echo -ne "\005" && read && TERM=$REPLY

should work. Actually when I try it it works, but I still get the answerback reply stuffed into the keyboard buffer too.  Maybe some bash wizard can step in here and fix that.  
0
 
jlevieCommented:
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.
0
 
doarAuthor Commented:
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...
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
jlevieCommented:
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.
0
 
kiffneyCommented:
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.  
0
 
doarAuthor Commented:
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.
0
 
doarAuthor Commented:
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.
0
 
doarAuthor Commented:
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!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.