У меня есть несколько устройств, подключенных к серверу последовательных терминалов Cisco; многие работают нормально, когда я telnet
напрямую в порт на Cisco. Тем не менее, у меня есть несколько упрямых устройств, которые не будут использоваться, так Backspaceкак они отображаются в telnet по умолчанию.
В случае, если это имеет значение, я делаю телнет из- rxvt
под Debian squeeze (в окне X Window). TERM
установлен на rxvt
, но это не имеет значения , использую ли я vt100
, vt101
или xterm
... изменение TERM
не имеет никакого эффекта. Я начал свой путь перемен, TERM
основываясь на том, что видел в старом FAQ по Kermit . FWIW, stty erase ^h
и stty erase ^?
тоже не работают.
Я заметил , что Backspaceкорректно работает на этих устройствах , если я использую необработанный TCP сокет из netcat
... то есть nc 192.168.12.117 2006
; однако затем я сталкиваюсь с другими проблемами с паролями, которые не скрыты, или с терминалом.
Как я могу выборочно заставить telnet и ssh подключаться Backspaceк CtrlHэтим устройствам? Кроме того, какие критерии я должен использовать, чтобы оценить, является ли это ошибкой в устройстве?
РЕДАКТИРОВАТЬ
В случае, если это имеет значение, это вывод showkey -a
для соответствующих ключей ... ^?
соответствует Backspaceи ^H
есть CtrlH. Кажется, что я должен быть ближе, когда смотрю на Linux Keyboard and Console Howto , но я не могу понять , что я могу сделать, чтобы изменить это. Я пробовал разные заклинания безрезультатно loadkeys
.
[mpenning@hotcoffee docs]$ sudo showkey -a
Press any keys - Ctrl-D will terminate this program
^? 127 0177 0x7f
^H 8 0010 0x08
Я также включаю соответствующие выходные данные dumpkeys
... это текущее отображение в моей системе (которое не работает на некоторых устройствах). Если бы я мог понять, как добиться Backspaceтого же, что CtrlHи я, у меня было бы решение.
[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 '^?'
? Если устройства настаивают на aC-h
, это не вызов telnet, а терминал (эмулятор).