Bozuk bir TTY nasıl sıfırlanır?


15

Slackware TTY'm çalışarak kolayca kırılabilir:

cat some_binary_file

Komuttan sonra, TTY'nin tamamı artık okunabilir karakterleri göstermeyecek, ancak yine de klavye olaylarına yanıt verecektir.

Çıkış yapıp tekrar giriş yapsam bile, TTY hala bozuk ve okunabilir karakterler göstermiyor. Normal TTY işlemini geri yüklemek için makineyi yeniden başlatmalıyım.

Makinenin tamamını yeniden başlatmadan bir çözüm var mı?

Yanıtlar:


13

Çalıştır echo ^v^oolduğunu echove daha sonra Ctrl-vve daha sonra Ctrl-ogirin. Görmeyeceksin Ctrl-v. Olarak görüntülenir echo ^O. Ctrl-vkontrol karakterlerinden geçerek ayrıntılı moda ayarlar Ctrl-ove terminali sıfırlar.


4
Kısa bir ipucu: TTY tamamen kullanılamıyorsa veya bir günlük konsolu echo ^v^o > /dev/ttyNise, N'nin terminal numarası olduğu diğer herhangi bir TTY'den kolayca sıfırlayabilirsiniz .
Torben

MacOSX (10.11.6) / iTerm2 (3.0.12) / bash (4.1.2)
Ed Randall

25

Genellikle, çalışma resetterminali sıfırlar. .inputrcBununla birlikte, bazı önemli bağlamalar kaybolabilir.


Süper basit çözüm çöktü tmux oh-my-zsh bölmesini düzeltti.
Shadoninja

Bu benim görüşüme göre kabul edilen cevaptan daha iyi. Ne yazdığınızı göremediğinizde reset, tuş kombinasyonlarını kullanmaya çalışmaktan çok yazmak ve enter tuşuna basmak daha kolaydır , ayrıca,% 100 oranında çalışır.
Sergio

12

ANSI sıfırlama komutunu deneyebilirsiniz:

printf "\033c"

Bu OpenBSD 5.4 üzerinde çalışan tek kişi
execNext

1
Bu ayrıca kabuktan (bash) echo -e '\ 033c' olarak çalıştı
Ed Randall

3
@EdRandall Evet. "Echo-e" nin tüm kabuklar tarafından desteklenmediğini ve printftaşınabilir olma avantajına sahip olduğunu unutmayın, bu nedenle bash dahil olmak üzere kabuk ne olursa olsun çalışır.
jlliagre

Bunun IPA'daki martı aksanıyla ilgisi olmadığını düşünüyor muyum? U + 033C ‹◌̼› \ N {AŞAĞIDAKİ SEAGULL
KOMBİNE

@TRiG Gerçekten. Ünlü Eric Cantona'nın sözleriyle de bir şey yapmaz . ;-)
jlliagre

5

Terminalim yazdığım karakterleri göstermedi. Diğer hilelerin hiçbiri işe yaramadı. Bu işe yarıyor:

stty sane

Benim için çalıştı. Bazen yanıt vermeyen bir terminalim var, ancak diğer önerilerin hiçbiri bana çıktıyı tekrar veremez. Denediğim, ama işe yaramayan diğer öneriler:

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

Kaynak: /unix//a/79686/53236


0

Aslında birkaç potansiyel sorun var ve bunun çevrenizle ilgili olması gerekebilir. Öncelikle, @Jesper'in cevapladığı gibi, yapmak istersiniz stty sane. Ancak, bununla ortamı doğru şekilde kuramayabilirsiniz.

Bu arasındaki fark nedeniyle /bin/bashve /bin/sh. Tty'nizi açtıktan /bin/bashsonra çalıştırın ve deneyin stty sane. Bu her şeyi düzeltmelidir. Son olarak, böyle bir şeyi .bashrc'ye eklemenizi tavsiye ederim

Başka bir seçenek de akıllı bir yazılım yüklemek olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.