tty
s são bestas complexas, que podem funcionar em vários diferentes modos . Por exemplo. ao executar vi(1)
, você não quer que os caracteres digitados apareçam na tela, o editor é responsável pelo que é exibido. Isso é chamado de modo "bruto". Normalmente você está no modo "echo", no qual o kernel envia diretamente o que é digitado para a tela. Se um programa que assumiu os detalhes da tela falhar e não restaurar o modo antes de sair, todos os tipos de coisas estranhas serão exibidas durante a digitação. Outra maneira popular de estragar as configurações é sedar um arquivo binário (por exemplo, um executável ou uma imagem) para a tela, eles são propensos a conter as seqüências de teclas para alterar as configurações ...
A maneira de restaurar as configurações de tty
para o normal é executar o comando reset
, que é feito por ^Jreset^J
(o ^J
é ctrl-J, pressione as teclas ctrl e J simultaneamente).
ctrl-J
é o que C chama de '\ n', NEWLINE, termina a linha anterior que o shell estava lendo (se houver); reset
é o comando; ctrl-J
termina a linha e faz o shell executar o comando. Esse absurdo é necessário, pois a chave de retorno gera '\ r', CARRIE RETURN, que o modo normal traduz em '\ n' por conveniência.
Bem-vindo às complexidades das raízes do Unix.