Por que rodar 'cat / etc / localtime' no PuTTY coloca um fluxo de “PuTTY” no prompt?

1

Eu estava experimentando aleatoriamente e descobri que executar cat /etc/localtime no PuTTY e no xterm tem efeitos diferentes.

Exemplo:

root@webtest:~# cat /etc/localtime
TZif2

     ▒
      ▒▒Kmp▒▒ǀ▒▒▒p▒Ƀprp▒▒▒▒_Tp▒▒▒p▒A▒p▒nop▒#
▒O▒▒▒p▒▒▒ɧ▒#▒Op▒▒▒k▒p"p▒r▒p▒Pp▒2Lp▒▒p▒▒▒p▒▒p▒ȷ                    
por Ismael Miguel 02.12.2016 / 16:15

2 respostas

7

É uma FAQ ( para PuTTY ):

A.7.12 When I cat a binary file, I get ‘PuTTYPuTTYPuTTY’ on my command line.

Don't do that, then.

This is designed behaviour; when PuTTY receives the character Control-E from the remote server, it interprets it as a request to identify itself, and so it sends back the string ‘PuTTY’ as if that string had been entered at the keyboard. Control-E should only be sent by programs that are prepared to deal with the response. Writing a binary file to your terminal is likely to output many Control-E characters, and cause this behaviour. Don't do it. It's a bad plan.

To mitigate the effects, you could configure the answerback string to be empty (see section 4.3.7); but writing binary files to your terminal is likely to cause various other unpleasant behaviour, so this is only a small remedy.

Os desenvolvedores do PuTTY começaram copiando as coisas, e às vezes esquecem o motivo. A seqüência de resposta (por um tempo) no xterm iria ecoar "xterm". Mas isso foi embora em 1999 :

change default answerback response to an empty string.

Não obstante, você ainda encontrará pessoas dizendo que o xterm faz isso (por padrão).

Quando um terminal envia uma resposta de resposta, o resultado é exatamente como se você tivesse digitado essa informação. Seu shell (ou outro programa) irá ecoar os caracteres.

    
por 02.12.2016 / 17:01
2

/etc/localtime é um link simbólico para um arquivo binário, não um arquivo de texto. Descarregar o conteúdo de um arquivo binário em um terminal pode ter resultados interessantes e inesperados, especialmente se alguns dos dados binários coincidirem com os códigos de controle do terminal. O PuTTY pode ter um código de controle para gerar seu nome, o que o xterm não faz ou, se o fizer, analisa diferentemente.

    
por 02.12.2016 / 16:45

Tags