Em Tue, Apr 10, 2001 at 10:30:37PM +0000, Rafael Diniz escreveu:
> Desculpem, acho que me expressei mal, não quis dizer nada sobre a função do 
> /dev/random ou qq outra coisa.
> quando eu mando pro stdout alguma sequencia hexa para ele imprimir, é como se 
> essa sequencia redefinisse as propriedades do console tornando-o ilegível.
> isso acontece também, por exemplo, dando um cat /usr/bin/lex, etc

Ok! Mas isto _também_ é normal: como mudamos a cor de fundo, blink e outras
características de dispositivos tty (console, impressoras, etc)? Com
sequências de escape, exemplo:

[root@brinquedo Dois]# ltrace clear 2> /tmp/blah
[root@brinquedo Dois]# grep putc /tmp/blah
_IO_putc('\033', 0x40173dc0)                      = 27
_IO_putc('[', 0x40173dc0)                         = 91
_IO_putc('H', 0x40173dc0)                         = 72
_IO_putc('\033', 0x40173dc0)                      = 27
_IO_putc('[', 0x40173dc0)                         = 91
_IO_putc('J', 0x40173dc0)                         = 74
[root@brinquedo Dois]#

enviou um \033 (ESC), iniciando uma sequência de escape que diz ao
terminal: limpe toda a tela e se posicione no início da mesma (canto
superior esquerdo), além desta temos _muitas_ outras, que acabam sendo
disparadas quando dados binários são ecoados para a tela, como por exemplo,
quando damos um cat no /dev/random ou em um binário qualquer 8)

Para voltar ao normal basta:

<ENTER><ENTER> (algumas vezes)
reset

o que o reset faz? Envia uma sequencia de escape: volte para o modo
default, tente um:

ltrace reset

e veja as chamadas _IO_putc :)

- Arnaldo

Assinantes em 10/04/2001: 2192
Mensagens recebidas desde 07/01/1999: 108682
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a