วิธีรีเซ็ต TTY ที่ใช้งานไม่ได้


14

Slackware TTY ของฉันสามารถหักได้ง่าย ๆ ด้วยการวิ่ง:

cat some_binary_file

หลังจากคำสั่ง TTY ทั้งหมดจะไม่แสดงอักขระที่อ่านได้อีกต่อไป แต่ยังคงตอบสนองต่อเหตุการณ์แป้นพิมพ์

แม้ว่าฉันจะออกจากระบบและเข้าสู่ระบบอีกครั้ง TTY ก็ยังขาดและไม่แสดงตัวอักษรที่อ่านได้อีกต่อไป ฉันต้องรีสตาร์ทเครื่องเพื่อกู้คืนการดำเนินการ TTY ปกติ

มีวิธีการแก้ปัญหาโดยไม่ต้องรีสตาร์ทเครื่องทั้งหมดหรือไม่

คำตอบ:


13

เรียกใช้echo ^v^oนั่นคือechoและจากCtrl-vนั้นCtrl-oป้อน Ctrl-vคุณจะไม่เห็น echo ^Oมันจะแสดงเป็น Ctrl-vตั้งค่าเป็นโหมด verbose ผ่านตัวควบคุมและCtrl-oจะรีเซ็ตสถานี


4
เพียงคำใบ้สั้น ๆ : หาก TTY ไม่สามารถใช้งานได้อย่างสมบูรณ์หรือคอนโซลการบันทึกคุณสามารถรีเซ็ตได้อย่างง่ายดายจาก TTY อื่น ๆ โดยecho ^v^o > /dev/ttyNที่ N คือจำนวนเทอร์มินัล
Torben

สิ่งนี้ใช้ไม่ได้กับ MacOSX (10.11.6) / iTerm2 (3.0.12) / bash (4.1.2)
Ed Randall

21

โดยปกติแล้วการรันresetรีเซ็ตเทอร์มินัล .inputrcแม้ว่าการเชื่อมโยงที่สำคัญบางอย่างจากอาจหายไป


ทางออกที่ง่ายสุด ๆ ที่แก้ไข tmux oh-my-zsh บานหน้าต่างที่ขัดข้องของฉัน
Shadoninja

11

คุณสามารถลองใช้คำสั่งรีเซ็ต ANSI:

printf "\033c"

นี่เป็นสิ่งเดียวที่ทำงานบน OpenBSD 5.4
execNext

1
สิ่งนี้สามารถทำงานได้จากเชลล์ (ทุบตี) เป็น echo -e '\ 033c'
Ed Randall

3
@EdRandall ใช่ โปรดทราบว่า "echo -e" ไม่ได้รับการสนับสนุนโดยเชลล์ทั้งหมดในขณะที่printfมีข้อได้เปรียบในการพกพาดังนั้นจึงทำงานได้ทุกอย่างที่เชลล์รวมถึงทุบตี
jlliagre

ฉันคิดว่ามันไม่เกี่ยวกับนกนางนวลกำกับใน IPA? U + 033C ‹◌̼› \ N {รวม SEAGULL ด้านล่าง}
TRIG

@TRiG แน่นอน ไม่มีส่วนเกี่ยวข้องกับคำกล่าวของ Eric Cantona ที่มีชื่อเสียง ;-)
jlliagre

5

เทอร์มินัลของฉันไม่แสดงอักขระใด ๆ ที่ฉันพิมพ์ เทคนิคอื่นไม่ทำงาน อันนี้ใช้ได้ผล:

stty sane

ทำงานให้ฉัน บางครั้งฉันมีเทอร์มินัลในสภาวะที่ไม่ตอบสนอง แต่ไม่มีคำแนะนำอื่นใดที่สามารถให้ผลลัพธ์กลับมาได้อีกครั้ง คำแนะนำอื่น ๆ ที่ฉันพยายาม แต่ไม่ได้ผล:

echo ^v^o
reset
printf "\033c"

ที่มา: https://unix.stackexchange.com/a/79686/53236


0

จริงๆแล้วมีปัญหาที่อาจเกิดขึ้นได้สองสามประการและอาจเกี่ยวข้องกับสภาพแวดล้อมของคุณ ปิดแรกเป็น @Jesper stty saneตอบว่าคุณต้องการจะทำ อย่างไรก็ตามคุณอาจไม่สามารถตั้งค่าสภาพแวดล้อมได้อย่างถูกต้อง

เพราะนี่คือความแตกต่างระหว่างและ/bin/bash /bin/shเมื่อเปิด TTY ของคุณทำงานแล้วลอง/bin/bash stty saneสิ่งนี้ควรแก้ไขทุกอย่าง ในที่สุดฉันขอแนะนำให้เพิ่มสิ่งนั้นลงใน. bashrc

อีกตัวเลือกหนึ่งคือติดตั้งซอฟต์แวร์ tty ที่มีเหตุผล

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