基于telnet的程序如何将其terminaltypes报告给套接字服务器?

我写了一个由tcpserver调用的脚本,大量使用tput和类似的命令。 这些命令需要知道如何正确写入terminal,并依靠TERMvariables来获取这些信息。 现在TERMvariables正在从控制台tcpserver被启动,我想改变这一点。

我的客户端是基于telnet的terminal程序,如netcattelnet 。 我怎样才能让这些程序传达用户的terminaltypes到远程服务器?

你正在寻找什么被称为“terminal型谈判”,通常缩写为“termtype”。 这使得telnet感知的客户端软件能够使用telnet转义协商带外terminaltypes。

对于客户端来说, telnet会自动尝试协商terminaltypes。 另一方面, netcat并不假定远程服务器在默认情况下理解telnet转义,并且需要使用-t选项运行它才能启用telnet协商。

对于服务器的一半,我相信这将取决于你的实施,并超出了ServerFault的主题范围。 阅读RFC1091将是一个好的开始。