У меня есть несколько устройств, подключенных к серверу последовательных терминалов 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, а терминал (эмулятор).