我写了一个由tcpserver
调用的脚本,大量使用tput
和类似的命令。 这些命令需要知道如何正确写入terminal,并依靠TERM
variables来获取这些信息。 现在TERM
variables正在从控制台tcpserver
被启动,我想改变这一点。
我的客户端是基于telnet的terminal程序,如netcat
和telnet
。 我怎样才能让这些程序传达用户的terminaltypes到远程服务器?
你正在寻找什么被称为“terminal型谈判”,通常缩写为“termtype”。 这使得telnet感知的客户端软件能够使用telnet转义协商带外terminaltypes。
对于客户端来说, telnet
会自动尝试协商terminaltypes。 另一方面, netcat
并不假定远程服务器在默认情况下理解telnet转义,并且需要使用-t
选项运行它才能启用telnet协商。
对于服务器的一半,我相信这将取决于你的实施,并超出了ServerFault的主题范围。 阅读RFC1091将是一个好的开始。