Como os programas baseados em telnet informam seu tipo de terminal a um servidor de soquete?

2

Eu escrevi um script chamado por tcpserver que utiliza intensamente tput e comandos semelhantes. Esses comandos precisam saber como gravar corretamente no terminal e confiar na variável TERM para obter essas informações. No momento, a variável TERM está sendo herdada do console tcpserver é lançada e eu gostaria de alterar isso.

Meus clientes são programas de terminais baseados em telnet, como netcat e telnet . Como posso obter esses programas para comunicar o tipo de terminal do usuário ao servidor remoto?

    
por LoCoZeNoz ZUE 10.04.2013 / 00:33

1 resposta

3

O que você está procurando é algo conhecido como "negociação do tipo terminal", geralmente abreviado como "termtype". Isso permite que o software cliente com reconhecimento de telnet negocie um tipo de terminal fora da banda usando escaneamentos de telnet.

Para a metade do cliente, telnet tentará automaticamente negociar o tipo de terminal. netcat , por outro lado, não assume que o servidor remoto entenda as fugas de telnet por padrão, e você precisará executá-lo com a opção -t para ativar a negociação de telnet.

Para a metade do servidor, acredito que seria sua implementação e está fora do escopo do assunto do ServerFault. Ler o RFC1091 seria um bom começo.

    
por 10.04.2013 / 01:15