nie można wpisać małych liter e w Amazon EC2 (Amazon Linux)

16

Po kilku dniach pracy na mojej nowej wersji ec2 następują:

  1. Loguję się do SSH, wszystko jest w porządku, koduję
  2. Wracam następnego dnia i loguję się do SSH
  3. Nie mogę już pisać małymi literami e- pojawia się błąd ding podczas pisania
  4. Próbuję ssh z innego komputera, ten sam problem
  5. Ponownie uruchamiam serwer, ten sam problem
  6. Otworzyć nanolub vii edziała dobrze, tylko nie w bashlubsh
  7. Zamykam serwer, tworzę nowy, instaluję od zera, kilka dni później to się powtórzy

To zaskakujące! Gdzie nawet zaczynam rozwiązywać problemy?

Ustawienia mojej lokalnej maszyny:

  • Windows XP lub 7
  • kit (najnowszy) lub cygwin / openssh

Konfiguracja EC2

Wyjście stty -apodczas gdy nie mogę wpisaće

sh-4.1$ stty -a
speed 38400 baud; rows 30; columns 95; line = 0;
intr = ^C; quit = ^\; erase = ^?; 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 -cdtrdsr
-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

W przypadku, gdy pomaga to komuś innemu z podobnym problemem, stworzyłem skrypt (wywoływany sub), aby przekonwertować wielkie litery E na małe, a następnie powtórzyć polecenie. Następnie uruchamiam go w backticks, aby uzyskać ew wierszu polecenia:

#!/bin/sh
echo ${@//E/e}

> `sub Emacs /Etc/profilE`

AKTUALIZACJE

  1. Dzieje się tak dla wszystkich użytkowników
  2. Tylko w bash (csh działa dobrze)
  3. Tylko w trybie edycji emacsa

Stworzyłem pokój czatu, aby omówić ten problem i udoskonalić rozwiązanie.

Kato
źródło
1
opublikuj dane wyjściowe stty -ana serwerze ec2, gdy
zrobi się nieporadny
1
Czy jest coś śmiesznego w / etc / profile, ~ / .profile lub ~ / .bashrc? Czy możesz su do innego użytkownika i spróbować? Wygląda na to, że albo może mapa znaków na klawiaturze została zmieniona - być może podczas aktualizacji?
cienki
1
Jeśli po uruchomieniu resetnastąpi stty saneproblem, czy problem zniknie?
voretaq7
1
@ voretaq7 - nie, ale nie jestem do końca pewien, co to znaczy uruchamiać je ze skryptu (oczywiście nie mogę uruchomić ich z CLI, ponieważ zawierają e:( Czy w moim skrypcie jest coś potrzebnego do powiedzenia „dotyczy to moja sesja powłoki "?
Kato
3
Sprawdź także, ~/.inputrcczy nie ma /etc/inputrcuszkodzonych skrótów klawiszowych readline.
Siergiej Własow

Odpowiedzi:

21

Błędnie podałeś:

export EDITOR=/usr/bin/emacs

do twojego /etc/inputrc. Spowoduje to zmapowanie litery „e” na nic.

Usuń to i wszystko powinno być w porządku.

MikeyB
źródło
1
Dziękuję bardzo za pomoc! Trzeba pamiętać, aby nie pozwalać ludziom programować, kiedy piję; (
Kato,
5
Czy ktoś może wyjaśnić, dlaczego ustawienie zmiennej środowiskowej łamie literę „e”?
Russell Borogove,
3
/etc/inputrcNIE jest dla zmiennych środowiskowych. Jest to określony format wejściowy odczytywany przez readline.
MikeyB,