Mam niektóre urządzenia podłączone do serwera terminów szeregowych Cisco; wiele z nich działa dobrze, gdy jestem telnetbezpoś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). TERMjest ustawiony rxvt, ale to nie ma znaczenia, czy mogę używać vt100, vt101albo xterm... Zmiana TERMnie ma wpływu. Rozpocząłem proces zmiany w TERMoparciu o to, co widziałem w starym FAQ Kermit . FWIW stty erase ^hi 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 -adla danych kluczy ... ^?odpowiada Backspacei ^Hjest 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).