Widziałem już takie problemy.
Weźmy na przykład backspace, zdalny host oczekuje, że jakiś znak zostanie użyty jako „wymazanie / backspace”, podczas gdy naciskasz backspace w terminalu, program terminalowy wyśle część znaku do zdalnego hosta, jeśli to, czego oczekuje zdalny host, różni się od znaków wysłanych przez program terminalowy, możesz napotkać ten problem. Szybka poprawka jest następująca:
- uruchom polecenie
#stty -a
na zdalnym hoście i znajdź kod wyjściowy, który powinien być kodem do usunięcia. Powiedzmy erase=^?
.
- W terminalu wpisz Ctrlvi naciśnij klawisz Backspace. Zobaczysz, jaki kod jest wysyłany jako „wymaż”. Powiedz, że tak
^H
.
- Na zdalnym hoście uruchom
#stty erase ^H
.
(Uwaga: użyj Ctrlv+ Backspace, nie wpisuj ^ ręcznie)
Możesz naprawić problem z kartami tak samo jak powyżej.
stty -a
wynik, ale nadal nie działaOprócz rozwiązania „stty” możesz wypróbować rozwiązanie „TERM”.
Ssh do swojego Debiana z jakiegoś terminala (putty, solaris dterm, debain xterm, you-name-it), ten terminal ogłasza możliwości (w tym klucze takie jak Backspace i Tab) poprzez zmienną środowiskową TERM.
Tak więc po ssh do hosta unix (nie zależy to od debiana, czy innego hosta) ustaw zmienną TERM zgodnie z terminalem. Rozważ, że używasz bash jako powłoki, a vt100 jako terminala:
ps: TERM powinien być zapowiadany automatycznie przez ssh, ale w niektórych okolicznościach ta magia zawodzi.
źródło
Wynika to z tego, że domyślną powłoką jest
sh
pobash
prostu uruchomićbash
z powłoki.Aby ustawić
bash
jako domyślną powłokę:lub
źródło
Twoja powłoka może być ustawiona na
/bin/sh
zamiast/bin/bash
źródło
/etc/passwd
, gdy dodałem:/bin/bash
do jego linii, zadziałało. Możesz dowiedzieć się, z jaką powłoką jest używanyecho $0
Zwykle używam tego, aby naprawić wyjście funky postaci w moim terminalu. Resetuje wszystkie znaki specjalne do ich wartości domyślnych.
Ze strony stty man:
źródło
nad odpowiedzią Pawła, jeśli chcesz zachować możliwość uzyskania kolorowych wydruków, możesz użyć xterm-88color
źródło
toe -a
pokazuje listę obsługiwanych typów terminali ... niexterm-88color
jest zdecydowanie jedyną opcją i może być niedostępna w niektórych systemach.