At Fri, 30 Aug 2002 17:46:24 +1000, Lucas King wrote: > As i could not get satisfactory results from Expect i rewrote the entire > program in 'C'. when i tested the code, exactly the same problems as i > had in Expect manifested themselves. i kept getting control codes being > displayed to the screen. after a certain period of time the Telnet > session reported that certain "variables" could not be set and then > continued on its merry way. > > the control codes were not coming from the remote system. these are > being passed through to the Telnet session OK. the control codes are > being generated by the Telnet session on my local Linux box. it is > trying to query the terminal type on the local system. but as i had > redirected the Telnet input/output (using DUP2) to a pipe to another > process so that i could interact with the Telnet session via software, > the Telnet session was unable to obtain the values that it needed. > Expect, i suspect, does exactly the same thing. i conclude this only > because i am getting exactly the same "error" messages as it is.
try setting TERM=dumb or something before running the telnet client. i'd hope that the relevant curses libraries wouldn't attempt any fanciness with that sort of terminal.. otherwise, iirc expect creates a pty and does the whole terminal thing itself (i've never actually used expect, so i could be completely wrong here). if the other end is expecting something cleverer than a simple linear stream of bytes for output, then you may find yourself having to mess with ptys yourself. (i presume you're running the telnet client executable and messing with stdin/stdout? you could even dump that and just talk to the network port yourself; the telnet protocol isn't too complicated if you don't want any of the features. of course, perl has a Net::Telnet, which would make all of this easy ;) -- - Gus -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
