Linux
基於 telnet 的程序如何向套接字伺服器報告其終端類型?
我編寫了一個
tcpserver
大量使用tput
和類似命令呼叫的腳本。這些命令需要知道如何正確寫入終端並依賴TERM
變數來獲取這些資訊。現在這個TERM
變數是從控制台繼承的tcpserver
,我想改變它。我的客戶是基於 telnet 的終端程序,例如
netcat
和telnet
. 如何讓這些程序將使用者的終端類型傳達給遠端伺服器?
您正在尋找的是被稱為“終端類型協商”的東西,通常縮寫為“termtype”。這允許 telnet 感知客戶端軟體使用 telnet 轉義在帶外協商終端類型。
對於客戶端,
telnet
將自動嘗試協商終端類型。netcat
另一方面,預設情況下不假定遠端伺服器理解 telnet 轉義,並且您需要使用-t
啟用 telnet 協商的選項來執行它。對於伺服器部分,我相信這將由您來實施,並且超出了 ServerFault 的主題範圍。閱讀RFC1091將是一個好的開始。