Comportamento de recuo inesperado quando configuro o terminal para o modo raw - por que isso está acontecendo?

26

Com base no que li, quando um terminal está no modo raw, os caracteres não são processados pelo driver do terminal, mas são enviados diretamente.

Eu configurei o terminal no modo raw usando o comando stty raw , e notei que a saída é recuada para a direita toda vez até que não haja mais espaço. É isso que eu quero dizer:

Por que esse comportamento está acontecendo?!

    
por paul 21.05.2017 / 22:19

1 resposta

44

Uma das configurações stty ( onlcr ) diz ao driver de terminal para converter nova linha (que é na verdade alimentação de linha ASCII) para retorno de linha mais alimentação de linha.

Sistemas semelhantes a Unix apenas escrevem uma nova linha para as linhas finais, deixando o driver do terminal fazer a coisa certa (converter nova linha para retorno de carro mais alimentação de linha).

Retorno do carro "vai para a esquerda" e o avanço de linha "desce".

Quando você define o terminal para o modo raw, a nova linha não será mais convertida para o retorno do carro mais a alimentação de linha. Na falta dos retornos de carro, você obtém o efeito escadaria .

    
por 21.05.2017 / 22:31