vim SSH üzerinden donuyor mu? VPN'i suçlamadan önce stty'yi kontrol edin
SSH üzerinden donan bir düzenleyici genellikle bir terminal durumu sorunudur, kopmuş bir tünel değil. Doğru sözde terminalde stty'yi okuyun ve yalnızca onu onarın.
Bu tür oturumlar düzenleyici başlarken bağlı kalır, ardından SSH süreci açıkça canlı olsa da ekran güncellenmeyi bırakır. Yazmak hiçbir şey üretmez, Ctrl-C hiçbir şey yapmıyormuş gibi görünür ve bariz sonuç VPN'in bir şey düşürdüğüdür. Çoğu zaman tünel sağlamdır ve uzak sözde terminal kimsenin amaçlamadığı bir durumdadır, çünkü yankı, kanonik giriş ve akış denetimi ağda değil terminalde yaşar. Bu üçünden hangisinin kaydığını bulmak iki komutluk bir iştir.
Donma tünelde değil terminalde yaşar
Bir sözde terminal baytlardan fazlasını taşır. Girişin yankılanıp yankılanmayacağına, okumaların yeni bir satır bekleyip beklemeyeceğine, belirli karakterlerin sinyal üretip üretmeyeceğine ve çıktının bir denetim karakteriyle durdurulup durdurulamayacağına karar veren satır disiplini bayraklarını tutar. Etkileşimli bir düzenleyici o terminali süre boyunca ham kipe alır ve çıkışta önceki ayarları geri yüklemesi beklenir. Geri yükleme olmadığında, döndüğünüz kabuk bıraktığınız kabuk değildir, bağlantı hiç kopmamış olsa bile.
Bir sonuca varmadan önce terminalleri karşılaştırın. Aynı düzenleyiciyi çalıştıran ikinci bir oturum, istemcinin ve yolun işi yapabildiğini kanıtlar; bayrakları bozuk terminal hakkında hiçbir şey söylemez.
Ayarları donan terminalde okuyun
Önce aygıtı tanımlayın, sonra durumunun iki biçimini okuyun. Okunabilir biçim neyin ayarlandığını gösterir ve makine biçimi daha sonra geri verebileceğiniz biçimdir.
tty
stty -a
stty -g
Üç bayrak grubu bu raporların çoğunu açıklar. Yankı ayarları tuş vuruşlarının hiç görünüp görünmeyeceğine karar verir, bu yüzden yankısı kapalı bir terminal kabuk her karakteri alırken ölü görünür. Kanonik kip bir programın girdiyi bir seferde bir satır görüp görmeyeceğine karar verir, bu yüzden kanonik kipte bırakılan bir terminal ham kipteki bir uygulamayı Enter'a kadar tuşları yok sayıyormuş gibi gösterir. Akış denetimi ayarları terminalin XON ve XOFF karakterlerine uyup uymayacağına karar verir ve bu grup üçü arasında en inandırıcı sahte donmayı üretir.
Bir şeyi değiştirmeden önce çıktıyı kaydedin, özellikle oturum birinin güvendiği özel tuş bağlarını taşıyorsa. Makine biçimi en güvenli kayıttır; uygulamaya bağlı olduğu ve onu üreten aynı tür sistem tarafından geri yüklenmesi gerektiği kaydıyla.
O terminali onarın, içinde yazdığınız oturumu değil
Standart onarım, kılavuz sayfasının listelediği sağlıklı profili geri yükler ve yalnızca bir terminali etkiler. Düzenleyici o terminalde hâlâ kaydedilmemiş iş tutuyorsa, iş kaydedilene kadar onu rahat bırakın.
Başka bir kabuktan donan aygıtı açıkça hedefleyin ki çalıştığınız terminal dokunulmadan kalsın.
stty -F /dev/pts/7 -a
stty -F /dev/pts/7 sane
Bozuk görüntülemeli boş bir ekran, bozulmuş satır disiplininden ayrı bir sorundur ve reset programı terminal başlatma dizilerini yayarak bunu ele alır. Önce durum onarımını deneyin, çünkü inceleyebileceğiniz ayarları değiştirir, oysa reset dizisi ekranı yeniden yazar ve nasıl bozulduğu hakkında hiçbir şey açıklamaz.
İnandırıcı bir donmanın arkasındaki Ctrl-S tuzağı
Yazılım akış denetimi etkinleştirildiğinde ve olağan karakterler atandığında, Ctrl-S terminale çıktı göndermeyi bırakmasını, Ctrl-Q ise devam etmesini söyler. Oturum boyunca canlı kalır, tek bir Ctrl-Q çoğu zaman onarımın tamamıdır ve hiçbir günlükte hiçbir şey görünmez, bu donma bu kadar çok yükseltmeden böyle sağ çıkar.
Varsaymak yerine gerçek ayarları inceleyin. Başlatma ve durdurma karakterleri yeniden atanabilir veya devre dışı bırakılabilir ve akış denetimi kapalı bir terminal ikisine de tepki vermez.
Durum geri gelirse veya SSH'in kendisi takılırsa
Tekrarlayan kötü durum, bayrakları geri yüklemeden değiştiren bir şeye işaret eder: bir başlangıç dosyası, bir sarmalayıcı betik, yanlış pencereyi sıfırlayan bir çoğullayıcı veya ham kipi tutarken ölen bir uygulama. Koşulsuz sıfırlama yerine durumu bildiren koşullu bir denetim ekleyin, çünkü genel bir sıfırlama nedeni gizler ve bilinçli ayarları geçersiz kılabilir.
Olağan SSH trafiği de takıldığında veya onarım hiçbir şeyi değiştirmediğinde, terminal artık şüpheli olmaktan çıkar.
ssh -vvv [email protected]
ping -M do -s 1400 -c 3 host.example.com
Yalnızca büyük aktarımlar sırasında görünen bir takılma yolda MTU sorununa işaret ederken, tek tuş vuruşlarını da yutan bir takılma paket boyutuna değil yola veya sunucuya işaret eder. Terminal kanıtlarını ağ kanıtlarından ayrı tutun, çünkü ikinci bir oturumda çalışan düzenleyici ilk terminalin bir zamanlar sağlıklı olduğunun kanıtı değildir.