Lorsque je ssh sur une autre machine avec Debian avec mon compte (avec les autorisations Sudo), ma touche de retour arrière génère des symboles maladroits en appuyant sur. Aussi Tab & del les clés ne fonctionnent pas trop.
D'un autre côté, j'ai également un autre compte sur la même machine et quand je ssh via ce compte, son terminal fonctionne parfaitement bien. Je ne pouvais pas comprendre pourquoi cela se produisait.
J'ai déjà vu de tels problèmes auparavant.
Prenez le retour arrière par exemple, l'hôte distant s'attend à ce qu'un caractère soit utilisé comme "effacement/retour arrière", tandis que vous appuyez sur retour arrière dans le terminal, le programme du terminal enverra du caractère à l'hôte distant, si ce que l'hôte distant attend diffère avec les caractères envoyés par le programme du terminal, vous rencontreriez ce problème. Donc, une solution rapide est la suivante:
#stty -a
dans l'hôte distant et recherchez ce qui devrait être un code d'effacement dans la sortie. Dire erase=^?
.^H
.#stty erase ^H
.Vous pouvez résoudre le problème de tabulation avec le même que ci-dessus.
A côté de la solution "stty", vous pouvez essayer la solution "TERM".
Vous accédez à votre Debian à partir d'un terminal (PuTTY, solaris dterm, debain xterm, you-name-it), ce terminal annonce des capacités (qui incluent des touches telles que Backspace et Tab) via la variable d'environnement TERM.
Donc, après ssh pour unix Host (cela ne dépend pas de Debian ou d'un autre hôte), définissez la variable TERM en fonction de votre terminal. Considérez que vous utilisez bash comme Shell et vt100 comme terminal:
export TERM=vt100
ps: TERM devrait être annoncé via ssh de manière automatique, mais dans certaines circonstances, cette magie échoue.
C'est parce que votre Shell par défaut est sh
, pour utiliser bash
, exécutez simplement bash
à partir de votre Shell.
bash
Pour définir bash
comme shell par défaut:
chsh -s /bin/bash
ou
Sudo chsh -s /bin/bash yourusername
Votre shell peut être défini sur /bin/sh
au lieu de /bin/bash
J'utilise généralement cela pour corriger toute sortie de personnage génial dans mon terminal. Il réinitialise tous les caractères spéciaux à leurs valeurs par défaut.
stty sane
Depuis la page de manuel stty:
identique à cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo-echl -xcase -tostop -echoprt echoctl echoke, tous les caractères spéciaux à leurs valeurs par défaut
en plus de la réponse de paul, si vous souhaitez conserver la possibilité d'avoir une sortie colorée, vous pouvez utiliser xterm-88color
echo 'export TERM=xterm-88color' >> ~/.bashrc
source ~/.bashrc
# stty -a
speed 38400 baud; rows 34; columns 134; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 =
<undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -
iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl
echoke
Ma clé d'accueil affiche un ^ [[1 ~, selon la solution de @Derui Si, ma clé de retour arrière fonctionne correctement, je ne sais pas quoi faire pour la clé d'accueil.
Essayez cette commande
stty sane
Je pense que vos paramètres de ligne de terminal ont été corrompus, cette commande réinitialisera tout par défaut.