Eu tenho alguns dispositivos conectados a um servidor de termo serial da Cisco; muitos funcionam bem quando eu telnet
diretamente na porta da Cisco. No entanto, tenho alguns dispositivos teimosos que não serão usados Backspace, pois são mapeados no telnet por padrão.
Caso isso importe, eu faço telnet rxvt
no Debian squeeze (em uma janela X). TERM
está definido para rxvt
, mas não importa se eu usar vt100
, vt101
ou xterm
... mudando TERM
não tem efeito. Comecei no caminho da mudança com TERM
base no que vi em uma antiga FAQ do Kermit . FWIW stty erase ^h
e stty erase ^?
também não funciona.
Eu notei que Backspacefunciona corretamente nesses dispositivos se eu usar um soquete TCP bruto de netcat
... ie nc 192.168.12.117 2006
; no entanto, encontro outros problemas com senhas não ocultas ou paginação de terminal.
Como posso forçar seletivamente telnet e SSH para mapear Backspacea CtrlHpara esses dispositivos? Além disso, quais critérios devo usar para avaliar se isso é um bug no dispositivo?
EDITAR
Caso isso importe, essa é a saída de showkey -a
para as chaves em questão ... ^?
corresponde a Backspacee ^H
é CtrlH. Parece que eu deveria estar chegando perto quando olho no Howto sobre teclado e console do Linux , mas não consigo decifrar o que posso fazer para mudar isso. Eu tentei vários encantamentos loadkeys
sem efeito.
[mpenning@hotcoffee docs]$ sudo showkey -a
Press any keys - Ctrl-D will terminate this program
^? 127 0177 0x7f
^H 8 0010 0x08
Também estou incluindo resultados relevantes dumpkeys
também ... este é o mapeamento atual no meu sistema (que não funciona em alguns dispositivos em questão). Se eu conseguisse descobrir como Backspacefazer a mesma coisa CtrlH, teria uma solução.
[mpenning@hotcoffee docs]$ sudo dumpkeys | grep -Ei "backspace|127"
keycode 8 = BackSpace ampersand braceleft
keycode 14 = BackSpace Delete
control keycode 14 = BackSpace
keycode 127 =
[mpenning@hotcoffee docs]$
ssty erase '^?'
? Se os dispositivos insistirem em umC-h
, não é a chamada do telnet, é o terminal (emulador).