Tengo algunos dispositivos conectados a un servidor de término en serie de Cisco; muchos funcionan bien cuando yo telnet
directamente al puerto en Cisco. Sin embargo, tengo algunos dispositivos obstinados que no se usarán, Backspaceya que está asignado en telnet de forma predeterminada.
En caso de que sea importante, hago telnet desde rxvt
debajo de Debian Squeeze (en una X Window). TERM
se establece en rxvt
, pero no importa si yo uso vt100
, vt101
o xterm
... el cambio TERM
no tiene ningún efecto. Comencé el camino del cambio TERM
según lo que vi en un viejo Kermit FAQ . FWIW, stty erase ^h
y stty erase ^?
tampoco funcionan.
He notado que Backspacefunciona correctamente en estos dispositivos si uso un socket TCP sin procesar de netcat
... es decir nc 192.168.12.117 2006
; sin embargo, luego me encuentro con otros problemas con contraseñas no ocultas o paginación de terminal.
¿Cómo puedo forzar selectivamente telnet y ssh para asignar Backspacea CtrlHestos dispositivos? Además, ¿qué criterios debo usar para evaluar si se trata de un error en el dispositivo?
EDITAR
En caso de que sea importante, esta es la salida de showkey -a
las teclas en cuestión ... ^?
corresponde a Backspacey ^H
es CtrlH. Parece que debería estar acercándome cuando miro El Teclado y la Consola de Linux , pero parece que no puedo descifrar lo que puedo hacer para cambiar esto. He intentado varios encantamientos sin loadkeys
ningún efecto.
[mpenning@hotcoffee docs]$ sudo showkey -a
Press any keys - Ctrl-D will terminate this program
^? 127 0177 0x7f
^H 8 0010 0x08
También incluyo resultados relevantes de dumpkeys
... esta es la asignación actual en mi sistema (que no funciona en algunos dispositivos en cuestión). Si pudiera descubrir cómo Backspacehacer lo mismo CtrlH, tendría una solución.
[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 '^?'
? Si los dispositivos insisten en unC-h
, no es una llamada de Telnet, es el terminal (emulador).