Backspace, del, teclas de seta não funcionam com programas interativos em Tilda

4

Eu atualmente executo o Openbox em uma leve netinstall do Debian. Em Tilda, quando uso um programa como nslookup ou winexe , algumas das minhas chaves não funcionam corretamente.

  • Backspace gera ^?
  • Acima gera ^[[A
  • Esquerda gera ^[[D
  • Abaixo gera ^[[B
  • Direito gera ^[[C
  • Excluir gera ^[[3

Isso não é um problema quando eu estou digitando a partir do próprio prompt do bash, apenas quando os programas estão rodando dentro do Tilda. Isso também não acontece quando eu executo os mesmos programas de uma janela xterm.

O que dá?

    
por bw. 11.10.2012 / 04:45

1 resposta

3

Dentro de bash , a interpretação dessas chaves é feita pela biblioteca readline , que verá essas sequências e executará as ações corretas. Fora de bash , você está confiando na disciplina da linha tty para interpretá-los. Veja esta pergunta recente e suas respostas para mais informações sobre esse processo: Apaga / apaga uma senha invisível digitada incorretamente em um shell / terminal no Linux

A disciplina de linha não lida com teclas como Acima , Esquerda , Abaixo , Direita e < kbd> Apagar . Se eu executar nslookup em um xterm agora, eles farão a mesma coisa - isso é um comportamento normal. (Eu não tenho winexe para testar).

Backspace é um problema diferente. Você pode alterar o que o backspace e as teclas delete enviam na janela de preferências do Tilda (em Compatibilidade). Ou você pode ter certeza de que seu TTY está configurado com os caracteres certos, verificando a saída de stty -a e definindo o caractere de apagamento para corresponder ao que está sendo enviado com stty erase ^? .

    
por 12.10.2012 / 00:05