Я написал сценарий, названный tcpserver
что в значительной степени использует tput
и подобные команды. Эти команды должны знать, как правильно писать в терминал и полагаться на TERM
переменная для получения этой информации. Прямо сейчас TERM
переменная наследуется от консоли tcpserver
запущен, и я хотел бы это изменить.
Мои клиенты - это терминальные программы на основе Telnet, например netcat
и telnet
. Как я могу заставить эти программы сообщать тип терминала пользователя удаленному серверу?
То, что вы ищете, - это то, что известно как «согласование типа терминала», часто сокращенно «тип термина». Это позволяет клиентскому программному обеспечению, поддерживающему telnet, согласовывать тип терминала вне диапазона с помощью экранирования telnet.
Для клиентской половины, telnet
автоматически попытается согласовать тип терминала. netcat
с другой стороны, не предполагает, что удаленный сервер по умолчанию понимает экранирование telnet, и вам нужно будет запустить его с -t
опция для включения переговоров по telnet.
Что касается серверной половины, я считаю, что это зависит от вас, и это выходит за рамки предмета ServerFault. Чтение RFC1091 было бы хорошим началом.