Eu tenho alguns dispositivos conectados a um servidor de termo serial da Cisco; muitos funcionam bem quando eu telnetdiretamente 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 rxvtno Debian squeeze (em uma janela X). TERMestá definido para rxvt, mas não importa se eu usar vt100, vt101ou xterm... mudando TERMnão tem efeito. Comecei no caminho da mudança com TERMbase no que vi em uma antiga FAQ do Kermit . FWIW stty erase ^he 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 -apara 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 loadkeyssem 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 dumpkeystambé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).