ไม่สามารถพิมพ์ e ที่ใส่กล่องล่างได้ใน amazon ec2 (Amazon Linux)


16

หลังจากสองสามวันของการดำเนินการกับโครงสร้าง ec2 ใหม่ของฉันสิ่งต่อไปนี้เกิดขึ้น

  1. ฉันเข้าสู่ SSH ทุกอย่างเรียบร้อยฉันทำรหัสของฉัน
  2. ฉันกลับมาในวันถัดไปและเข้าสู่ SSH
  3. ฉันไม่สามารถพิมพ์กล่องที่ต่ำกว่าได้eอีก - ฉันได้รับข้อผิดพลาดในการพิมพ์
  4. ฉันพยายาม ssh จากคอมพิวเตอร์เครื่องอื่นปัญหาเดียวกัน
  5. ฉันรีบูตเซิร์ฟเวอร์ปัญหาเดียวกัน
  6. ฉันเปิดnanoหรือviและeทำงานได้ดีเพียงแค่ไม่ได้อยู่ในbashหรือsh
  7. ฉันยุติเซิร์ฟเวอร์สร้างใหม่ติดตั้งตั้งแต่เริ่มต้นไม่กี่วันต่อมาจะเกิดขึ้นอีกครั้ง

นี่ทำให้งงงัน! ฉันจะเริ่มแก้ไขปัญหาได้ที่ไหน

การตั้งค่าเครื่องท้องถิ่นของฉัน:

  • windows XP หรือ 7
  • ผงสำหรับอุดรู (ล่าสุด) หรือ cygwin / openssh

การตั้งค่า EC2

ผลลัพธ์ของstty -aขณะที่ฉันพิมพ์ไม่ได้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

ในกรณีที่ช่วยคนอื่นที่มีปัญหาที่คล้ายกันฉันสร้างสคริปต์ (เรียกว่าsub) เพื่อแปลง E บนกล่องให้ต่ำลงจากนั้นสะท้อนคำสั่งกลับมา จากนั้นฉันเรียกใช้ใน backticks เพื่อรับeบรรทัดคำสั่ง ::

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

> `sub Emacs /Etc/profilE`

การปรับปรุง

  1. การแบ่งนี้สำหรับผู้ใช้ทั้งหมด
  2. ใช้ทุบตีเท่านั้น (csh ทำงานได้ดี)
  3. ในโหมดแก้ไข emacs เท่านั้น

ฉันได้สร้างห้องแชทเพื่อหารือเกี่ยวกับปัญหานี้และหาทางแก้ไข


1
โพสต์การส่งออกของstty -aบนเซิร์ฟเวอร์ ec2 เมื่อมันไปไม่ได้รับรางวัล
MikeyB

1
มีอะไรตลกใน / etc / profile, ~ / .profile หรือ ~ / .bashrc หรือไม่? คุณช่วยให้ผู้ใช้รายอื่นลองดูได้ไหม? ดูเหมือนว่าแผนที่อักขระของแป้นพิมพ์ของคุณหรืออาจมีการเปลี่ยนแปลง - อาจเป็นไปได้ในระหว่างการอัพเดต?
thinice

1
หากคุณresetตามมาด้วยstty saneปัญหาจะหายไป?
voretaq7

1
@ voretaq7 - ไม่ แต่ฉันไม่แน่ใจว่าจะเรียกใช้จากสคริปต์ได้อย่างไร (เห็นได้ชัดว่าฉันไม่สามารถเรียกใช้จาก CLI เนื่องจากมีe:( มีสิ่งใดที่จำเป็นในสคริปต์ของฉันที่จะบอกว่า "สิ่งนี้ใช้ได้กับ เซสชันเชลล์ของฉัน "?
Kato

3
ดูใน~/.inputrcและ/etc/inputrcสำหรับ keybindings readline ที่ใช้งานไม่ได้
Sergey Vlasov

คำตอบ:


21

คุณใส่ผิด:

export EDITOR=/usr/bin/emacs

/etc/inputrcเข้าของคุณ นี่จะแมปตัวอักษร 'e' กับอะไรเลย

ลบออกและคุณควรจะปรับ


1
ขอบคุณมากสำหรับความช่วยเหลือ! ต้องจำไว้ว่าอย่าให้คนอื่นโปรแกรมขณะที่ฉันออกไปดื่ม (
Kato

5
ใครสามารถอธิบายได้ว่าทำไมการตั้งค่าตัวแปรสภาพแวดล้อมทำให้ตัวอักษร 'e' แตก?
รัสเซล Borogove

3
/etc/inputrcไม่ได้สำหรับตัวแปรสภาพแวดล้อม เป็นรูปแบบอินพุตเฉพาะที่อ่านโดย readline
MikeyB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.