Putty: terhubung ke beberapa server Ubuntu, kadang-kadang berhenti pergi ke baris baru ketika menekan enter

16

Saya menggunakan Putty untuk SSH ke beberapa server Ubuntu 14.04.4 LTS x64. Menekan tombol ENTERmenyebabkan terminal untuk pergi ke jalur baru. Namun, dari waktu ke waktu, beberapa program mengeluarkan beberapa teks, dan setelah menekan tombol ENTERtidak menyebabkan terminal pergi ke baris baru lagi (lihat demonstrasi di bawah).

masukkan deskripsi gambar di sini

Apakah ada cara untuk mencegah hal itu, atau paling tidak ketika menekan tombol ENTERtidak menyebabkan terminal pergi ke jalur baru lagi, adakah yang mengatur ulang terminal sehingga ENTER menyebabkan terminal kembali ke jalur baru?

Franck Dernoncourt
sumber
2
Franck - Ketika itu terjadi, tekan Ctrl+C, lalu ketik resetdan tekan Enter. Beritahu saya jika itu membantu.
Pimp Juice,
@Facebook Terima kasih, ketikkan resetdan tekan Enterkarya!
Franck Dernoncourt
Juga, ajukan laporan bug terhadap glancesprogram itu karena meninggalkan terminal dalam keadaan buruk setelah crash;)
marcelm
Secara kebetulan, pertanyaan serupa baru saja muncul di Unix & Linux Stack Exchange: unix.stackexchange.com/questions/398291
JdeBP
Pertimbangkan untuk menggunakan cygwin dan menginstal Terminal. Putty sangat buruk. Misalnya, mc tidak akan ditampilkan dengan benar dan tidak akan membiarkan Anda memilih file dengan shift.
JorgeeFG

Jawaban:

25

Anda dapat menggunakan perintah reset dengan mengetikreset lalu menekan Enterketika itu terjadi untuk mengatur ulang terminal sehingga akan pergi ke baris baru ketika menekan Enter lagi.

Perintah

ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$
ubuntu@db200krctc:~$ reset
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$

Sumber Daya Lebih Lanjut

  • atur ulang

    Ketika dipanggil sebagai reset, tset mengatur mode matang dan gema, mematikan mode cbreak dan mentah, mengaktifkan terjemahan baris baru dan mengatur ulang setiap karakter khusus yang tidak disetel ke nilai default sebelum melakukan inisialisasi terminal yang dijelaskan di atas. Ini berguna setelah suatu program mati meninggalkan terminal dalam keadaan abnormal.

Pimp Juice
sumber
16

The resetperintah melakukan lebih dari yang Anda benar-benar butuhkan di sini dalam kasus ini, karena masalah Anda adalah hanya bahwa gema telah dimatikan. resetsebenarnya memancarkan urutan kontrol untuk mengatur ulang terminal itu sendiri, ketika semua yang Anda butuhkan sebenarnya adalah mengkonfigurasi ulang disiplin garis dalam kernel sistem operasi, menghidupkan kembali mode gema, dan tidak menyentuh terminal sama sekali.

Untuk itu, cukup gunakan:

stty waras
atau bahkan hanya:

gema stty

resetmembahas situasi-situasi ketika sebenarnya keadaan terminal itu sendiri yang perlu diatur ulang dan bukan (hanya) keadaan disiplin garis; yaitu tabstop telah terhapus, terminal dibiarkan beralih ke buffer layar alternatif, set karakter 8-bit yang tidak nyaman telah ditukar, dan sebagainya.

Bacaan lebih lanjut

JdeBP
sumber
Bagaimana sebenarnya disiplin garis dalam kernel? Jawaban ini kedengarannya benar bagi saya kecuali bagian yang sangat saya ragukan.
Stephen Ostermiller
@StephenOstermiller: Di mana lagi itu?
psmears
3
Disiplin garis sebenarnya adalah salah satu driver kernel pertama yang dapat dikonfigurasi dari userspace, Unix telah sttydan gtty(mengatur dan menerima) panggilan sistem jauh sebelum mereka digantikan oleh ioctlpanggilan yang lebih umum .
Guntram Blohm mendukung Monica
6
Masuk akal karena itu tidak tergantung pada shell, jadi itu akan bekerja di program lain juga. Dan pada hari-hari awal tidak ada program terminal sehingga untuk berbicara - konsol serial akan berinteraksi langsung dengan kernel (dan memang masih bisa).
Muzer
1
Untuk memperjelas: Di masa lalu sisi belakang / dev / tty adalah port serial fisik. Disiplin garis dikelola oleh driver tty kernel. Dengan sesi terminal palsu atau sesi terminal jaringan, / dev / tty adalah terminal psuedo dan sisi belakangnya bukanlah port serial fisik tetapi perangkat master pseduo lain dari mana data sesi dibaca / ditulis dan diumpankan ke soket jaringan atau emulator terminal. Sisi / dev / tty dari terminal semu berperilaku sama seperti sisi / dev / tty dari port serial nyata. en.wikipedia.org/wiki/Pseudoterminal
Sam Liddicott