Chave Del no AIX ksh sobre PuTTY telnet

2

No local onde trabalho, estamos desenvolvendo no AIX com o ksh e nos conectando a ele via telnet . A maioria das pessoas usa o ArcTel para se conectar, enquanto eu prefiro o PuTTY. O único problema que tenho com o PuTTY é que a chave Del não está funcionando - ela imprime [3~ . O engraçado é que no ArcTel ele está funcionando corretamente.

Eu tentei olhar para as configurações do ArcTel e lá ele tem apenas um switch, chamado de "Backspace and Delete": pode ser "normal" ou "estilo VNS". Eu tenho normal ligado (e Del funciona como esperado). Em PuTTY tentei brincar com as configurações do teclado e não consegui encontrar uma combinação que fizesse Del fazer o que eu quero fazer.

Existe uma maneira de fazer isso funcionar no PuTTY? Talvez remapeando o caractere [3~ no meu .profile ? Eu não quero mudar do modo Vi no KSH.

    
por Anton Zujev 12.02.2013 / 09:59

2 respostas

1

Eu uso o putty sem nenhum problema para me conectar ao AIX. Meu perfil está

stty erase ^?

e minhas configurações de massa têm o teclado do terminal "A tecla Backspace" marcada no Control-? (127)

    
por 18.02.2014 / 13:34
0

Não tenho certeza se o ksh do AIX suporta ligações de teclas personalizadas. Não consigo encontrá-los documentados nos manuais do AIX, mas acho que é um recurso do ksh padrão . Tente configurar uma ligação para \e[3~ (onde \e é o caractere de escape). Se isso funcionar, você também pode configurar ligações para outras combinações de teclas.

KEYBD_handler () {
  case ${.sh.edchar} in
    $'\e[3~') .sh.edchar=$'
KEYBD_handler () {
  case ${.sh.edchar} in
    $'\e[3~') .sh.edchar=$'%pre%4';;
  esac
}
trap KEYBD_handler KEYBD
4';; esac } trap KEYBD_handler KEYBD

( $'Ctrl+D4' , ou seja, stty erase '^?' , é o stadndard ligação para excluir o próximo caractere.)

Pode ser possível corrigir isso alterando sua definição de terminal em terminfo . Eu não sei como fazer isso no AIX.

Em uma nota relacionada, talvez seja necessário configurar o PuTTY para enviar o caractere correto para Backspace , ou execute stty erase '^h' ou %code% conforme apropriado na máquina AIX ou altere a definição do terminfo para corresponder.

    
por 13.02.2013 / 02:09