Mam niektóre urządzenia podłączone do serwera terminów szeregowych Cisco; wiele z nich działa dobrze, gdy jestem telnet
bezpośrednio w porcie Cisco. Mam jednak kilka upartych urządzeń, które nie będą używane, Backspaceponieważ są domyślnie mapowane w usłudze Telnet.
W przypadku, gdy ma to znaczenie, wysyłam telnet spod rxvt
ściśnięcia Debiana (w X Window). TERM
jest ustawiony rxvt
, ale to nie ma znaczenia, czy mogę używać vt100
, vt101
albo xterm
... Zmiana TERM
nie ma wpływu. Rozpocząłem proces zmiany w TERM
oparciu o to, co widziałem w starym FAQ Kermit . FWIW stty erase ^h
i stty erase ^?
też nie działają.
Zauważyłem, że Backspacedziała poprawnie na tych urządzeniach, jeśli używam surowego gniazda TCP z netcat
... tj . nc 192.168.12.117 2006
; jednak potem napotykam inne problemy z niezauważonymi hasłami lub stronicowaniem terminala.
Jak mogę selektywnie zmusić telnet i ssh do mapy Backspacedo CtrlHtych urządzeń? Jakie kryteria należy zastosować, aby ocenić, czy jest to błąd w urządzeniu?
EDYTOWAĆ
W przypadku, gdy ma to znaczenie, jest to wynik showkey -a
dla danych kluczy ... ^?
odpowiada Backspacei ^H
jest CtrlH. Wygląda na to, że powinienem być blisko, kiedy patrzę na klawiaturę Linuxa i konsolę Howto , ale nie mogę rozszyfrować, co mogę zrobić, aby to zmienić. Próbowałem różnych zaklęć bezskutecznie loadkeys
.
[mpenning@hotcoffee docs]$ sudo showkey -a
Press any keys - Ctrl-D will terminate this program
^? 127 0177 0x7f
^H 8 0010 0x08
Podaję również odpowiednie dane wyjściowe z dumpkeys
... to jest bieżące mapowanie w moim systemie (które nie działa na niektórych urządzeniach). Gdybym mógł wymyślić, jak Backspacezrobić to samo CtrlH, miałbym rozwiązanie.
[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 '^?'
? Jeśli urządzenia nalegają na aC-h
, to nie jest to połączenie telnet, to terminal (emulator).