PuTTY bir oturum sırasında rasgele karakterler ekler


26

Kısa süre önce uzak bir sunucuda yer kiralamaya başladım, böylece bir proje üzerinde çalışabilecektim. Bir pencere makinesinde erişmek için nispeten acısız bir yol PuTTY olduğunu buldum. Ancak, onu kullanırken her zaman beni rahatsız eden bir şey var: görünüşe göre, imlecine bazen rastgele karakterler eklenmiyor.

Çoğu zaman sadece tek bir tildedir, ancak nadiren bazı kaçış dizileri ([[^ 8 veya benzeri) gibi görünen şeyleri yayar. Yalnızca pencereye odaklandığımda, klavyeden yazı yazarken veya 20 metre uzakta olsam da olur. Yeterince uzun süre kalırsa, tildleri rastgele aralıklarla tükürür (ortalama yaklaşık 1 dakikadır).

Son olarak, bu davranış nano ya da mysql arayüzü gibi programları çalıştırırken tutarsız gibi gözükmektedir: nano'da tildes yerine, işaretler koyacak (ctrl- ^); MySQL'de, satırlar düzenlenemez hale gelir.

Sorum şu: PuTTY'de başkası böyle bir davranış yaşadı mı? Ve eğer öyleyse, bu davranışı önlemek / düzeltmek için ne yapılabilir?


Not Defteri gibi bir kaç saat boyunca sunucunuzda rastgele bir program açık bırakırsanız bilgisayarınız da bunu yapıyor mu?
cutrightjm

@ekaj Hayır, sadece PuTTY'de. Ve MobaXterm gibi PuTTY tabanlı programlar (test etmek için taşınabilir sürümü indirdim) EDIT: yalnızca Moba'da bir SSH oturumu sırasında
Zachary Polikarpus

Hmm. Macun tamamen boştayken her zaman 55-65 saniye gibi periyodiklere pek yakın olmadığından emin misiniz? Öyleyse, sunucu sonundan veya belki macuntan "canlı tutma" etkinliği olabilir. Macunda yardım arama "canlı" arama altında bulunan şeylere bir göz atın. Belki bunlar faydalı olacaktır: superuser.com/questions/94436/… unix.stackexchange.com/questions/6105/…
mgkrebbs

@mgkrebbs Bazen periyodik görünüyor, ancak bazen 5-6 dakika boyunca oluşmayacak, sonra periyodik gibi görünmeye devam ediyor. Hayatta kalma fikriyle ilgili olarak, eğer öyleyse, Müşteri tarafına tecrit edilmiş görünüyor, çünkü yerel terminaldeki bir linux makinesinden bir ssh oturumu başlatırsam, her şey yolunda. Soruyu sorduğumda ilk bağlantıyı gördüm ve terminal tipini "linux" olarak değiştirmeye çalıştım, ancak bu fark edilebilir bir fark yaratmadı.
Zachary Polikarpus

Ben de bu sorunu yaşıyorum. Putty, Kitty ve hatta MobaXterm kullandığımda ortaya çıkıyor.
Attilah

Yanıtlar:


30

PuTTY ile de aynı problemi yaşadım ve bunun, ekran koruyucunun aktif hale gelmesini durdurmak için her dakika etkin bir şekilde F13 tuşuna basan "kafein" olarak adlandırdığım bir uygulamadan kaynaklandığını gördüm. makinem). Uygulamayı devre dışı bırakmak bana sorun çözdü.


2
O sırada kafein kullanmıştım! Her şey şimdi mantıklı ... Teşekkürler Bruce!
Zachary Polikarpus

3
Doh, bundan şüphelenmeliydim. Kafeini öldürmek hile yaptı. Not: Caffeine ve Putty'nin birlikte çalışmasını sağlamak için aşağıdaki çözümümü görün
shreyansp

Aynısını yapan bir tabela uygulamam vardı. Terminalde bazıları [28 ~ belirdi.
Meraklı Zihin

12

Macun ve Kafeinin çalışmasını tercih ediyorsanız, aşağıdaki adımları izleyin:

  1. Kafein Durdur
  2. Simüle varsayılan anahtar için Kafein readme.txt kontrol edin - benim oldu F15
  3. Uzak terminalinize Putty ile giriş yapın
  4. Kafeini Başlat (İpucu: Kafeini kısa aralıklarla, örneğin 3 saniye boyunca başlatın).
  5. Macun oturumu odakta getirin.
  6. Sizin bash komut istemi adına basın Ctrl+V(Bu anahtar için özel kodu almak için gereklidir. Deneyin örneğin Ctrl+Vtakiben F12)
  7. Kafeinin anahtarı simüle etmesini bekleyin
  8. Anahtar kodu (örn komut satırında görüntülenir F15olduğu ^[[28~yerlerde, ^[kaçış). Kafein Durdur
  9. Artık bu anahtarı boş bırakabilirsiniz, böylece Kafein onu taklit ettiğinde yazmaz. ~
    • düzenleme ~/.inputrc(yoksa, yeni bir dosya oluşturun)
    • satırı ekle "\e[28~":""
  10. Kafein Başlat
  11. Terminal oturumunuzu yeniden başlatın
    • ~Putty terminalini bu linux sunucusuyla kullanırken rastgele olmamalıdır

+1. Aşağıdaki bu cevabı genişlettim (neden benim için en uygun cevap olmadığı konusunda açıklama ile) :)
Petru Zaharia

7

Shreyansp'ın çözümünü en tatmin edici buldum (ama pek tatmin edici değil) :)
İşte bunu geliştirmeye çalışmam (tabii YMMV). Umarım bu bir çözüm arayanlar için faydalı olabilir :)

Benim çözümüm şu şekilde davranıyor:

  • kafein Windows'a uygun bir Sanal Anahtar Kodu gönderir:
    • Windows'un uyku veya boşta kalmasını önler
    • Aksi halde, Windows üzerinde ne tek başına, ne kombinasyon halinde (Ctrl, Shift, Alt, Alt-Gr, Win, F1-F5, F10, vb.) herhangi bir yan etki oluşturmaz.
    • ya Putty'ye gönderilmez ya da Putty tarafından göz ardı edilir

TL; DR: Solüsyon -key:0Ekafein param ile 2. ve 3. adımlar arasında uygulanır (aşağıya bakınız) : Kafeinden
çıkın ve şu şekilde yeniden başlatın:
caffeine.exe 5 -key:0E(kolay test için)
caffeine.exe 50 -key:0E(zorunlu bir ekran koruyucu için 1 dakikaya ayarlanmış)

  • readUzaktaki ana bilgisayarda programı başlatın ve her 5 veya 50 saniyede bir tuş vuruşlarının nasıl alınmadığını izleyin.
  • Çık readileCtrl+C

Shreyansp, 5. ve 10. adımlar arasında bir düzeltmenin uygulanacağı bir çözüm önerdi (aşağıya bakınız).
Bunun yan etkisi (konfigürasyonumda), her tuşa basıldığında, kafeinden uzaktaki ana bilgisayara iletilecek olan:


  • normalde istediğim bir 'tuşa basma kaydırma çubuğunu sıfırla' (Macun / Pencere sayfasındaki ayar) , ancak sadece ben (insan) tuşa basarken ama düzenli olarak kafein kullanmıyorken tetikledi :)
  • readline / bash çevrilmiş versiyonu (from '"\e[28~"'dan '""'(boş anahtar?) uzak oturum etkileşiminin birkaç saniye askıda kalmasına neden oldu

Yukarıdakileri kolayca test etmek için, Kafein'den çıkın ve 5 saniye aralıklarla ve Sanal Anahtar Kodu 07 ile yeniden başlatın:
caffeine.exe 5 -key:07

  • readUzaktaki ana bilgisayarda programı başlatın ve her 5 veya 50 saniyede bir tuş vuruşlarının nasıl alındığını izleyin.
  • Çık readileCtrl+C

Anlaşılacağı gibi tuşa basılan 'boru hattı':

  1. Kafein, Windows'a bir Sanal Anahtar Kodu gönderir
  2. Windows, bu Sanal Anahtar Kodunu Macuna gönderir
  3. Putty, aşağıdaki oturum ayarlarına dayanarak bazı 'çeviriler' / 'eşlemeler' yapar:
    • Terminal/*
    • Pencere / *
  4. Putty, 'çevrilen' / 'eşlenmiş' anahtar kodunu uzaktaki ana makineye gönderir
  5. Uzak ana üzerinde, 'terminal' programı (örneğin: $TERM=xterm, vt100, vt102, vt220, vs.) anahtar kodları içine line protokolü 'den tercüme.
  6. readline kütüphanesi bazı çeviriler / eşlemeler yapar. ~/.inputrc
  7. readline Anahtar Kodunu bash'a gönderir
  8. bash, bazı terimler / eşlemeler temelinde ~/.bashrc(yerleşik bağlama komutunu temel alarak)
  9. bash veya readline (hangisinden emin değilim) çevrilmiş Anahtar Kodu nano'ya gönderir (metin editörüm)
  10. Bu boru hattı, screenprogramı ekleyerek daha da uzun sürebilir (bu, $TERM=screen5. adım için a'yı içerir ve 6. adımda 10.a tekrar geri döner).

Not: 4. adıma geçtiğinde, farklı 'çeviriler' / 'eşlemeler' katmanlarını hassas bir şekilde kontrol etmek çok zorlaşır. Mümkünse bundan kaçınmayı tavsiye ederim.


Amaç: Bir pfsense 2.3.3-RELEASE-p1 ile uğraşmak zorunda kalmadan önce yıllarca
kullandım caffeine.exe -key:07(FreeBSD 10.3-RELEASE'e dayanarak).
Sonra caffeine.exe -key:07diğer taraftan ^[[28~Nano'da Ctrl+^(Set Mark) haritalanmış gibi göründü.
Bu oldukça sinir bozucuydu (metin işaretini Not Defteri'nde hareket ettirirken birisinin Shift Key'e basılı tutulduğunu hayal edin).

Daha önce, ben Macun Ayarları sayısız özelleştirmeleri yaptım ~/.tcshrc, ~/.inputrc, ~/.bashrc, ~/.nanorc, ~/.screenrctemel işlevsellik dikkate elde etmek için ( Backspace, Delete, Home, End, PgUp, PgDown, Ctrl+Left, Ctrl+Right, Numpad 0-9, Numpad ./*-+) bash / nano / ekranı arasında sürekli çalışma.

Bir kez bu caffeine.exe -key:07'böceği' keşfettiğimde , tekrar baştan izlemek istemedim :)


Test edildi:
Windows 8.1 64-bit Kurumsal (6.3.9600) / Macun 0.66 / pfsense 2.3.3-RELEASE-p1 ( FreeBSD 10.3- RELEASE'e dayanarak ) / bash 4.4.12-release / nano 2.7.3 / screen 4.04. 00


Referanslar:


1

Bu gerçekten kaçış dizisine veya kontrol karakterine benziyor, bu da onu notepad gibi diğer programlarda neden görmediğinizi açıklayabilir.

Bu çıktıyı elde etmek için hangi tuşlara basılması gerektiğinden tam olarak emin değilim, ancak biraz oynayacağım ve bulmaya çalışacağım. Gösterilen başka bir diziyi adlandırır mısınız? MySQL ve Nano'nun davranışı, girilmiş gibi görünen kaçış dizilerinin başka bir yorumu olabilir.

Son olarak, soru bu anahtar girişlere neden olan şeydir. Bir tesadüf eseri, örneğin bazı özel yazılımları kullanarak arka ışığı otomatik olarak kontrol eden bir dizüstü bilgisayar kullanıyor musunuz? API kullanmak yerine tuşlara basılmış olan bazı garip önceden yüklenmiş yazılımlar gördüm. Kendinizde inputlog benzeri bir şey kullanmak isteyebilirsiniz.


O zamandan beri işletim sistemlerini değiştirdim, ilk önce çift Win-8.1 & Ubuntu'umu yalnızca Ubuntu'ya, ardından Mint'e ve son olarak da Arch'a değiştirdim. Benzer bir problem yaşamadım, bu da sorunun Windows'un PuTTY ile etkileşime girme şeklinden izole edildiğine inanmamı sağladı. Anahtar girişlerin nedenine gelince, önerdiğin durum bu olsa şaşırmam, ancak herhangi bir otomatik donanım kontrolü kullanmamış ya da farketmemişimdir. Hala o kütüklere sahip olsaydım, onları postalarım. EDIT: Eğer bunu başkası yaşıyorsa, bu bilgiyi göndermenizi tavsiye ederim.
Zachary Polikarpus

Ayrıca , Gilles'un neden Putty'nin Fedora bash kabuğumun içine~ sokması konusundaki cevabına bakınız \e[3~.
Arjan,

(Bir kenara gibi: Tek görünce anladım ilk I'de gibi, söz konusu yayının bağlantısını isteyebilirsiniz ~olur değil bir kaçış dizisini belirtir.)
Arjan

1

Caffiene'yi başlatmak için komut satırında -key: 07 seçeneğini kullanıyorum. Putty problemini durduruyor gibi görünüyor.

Sadece bunu bir yarasa dosyasına koy.

caffeine.exe -key: 07


Ben de 'caffiene.exe -key: 07' kullandım ve yıllarca bana iyi hizmet etti. Ancak, pfSense'ime (FreeBSD tabanlı) bağlandığımdan bu diğer tarafta Nano'da Ctrl + ^ (Set Mark) ile eşlenmiş gibi görünüyor [[28 ~ ...]. Bu oldukça sinir bozucudur (metin işaretini Not Defteri'nde hareket ettirirken birisinin Shift Key'i basılı tuttuğunu hayal edin). :) Kafein tarafında başka bir anahtar bulacağım veya FreeBSD tarafında özel bir harita yapacağım. (bkz: defs @ msdn.microsoft.com/en-us/library/windows/desktop/… )
Petru Zaharia

Geçildi caffeine.exe -key:0E(aşağıdaki cevabımı görün). Windows (8.1 64-bit) ile iyi çalışıyor gibi görünüyor ve Putty bunu mutlu bir şekilde görmezden geliyor :)
Petru Zaharia

0

Cisco forumlarındaki biri bu sorunu çözmek için konsol hız parametresini değiştirmeyi öneriyor.

http://www.dslreports.com/forum/r27090677-HELP-Cisco-1800-garbled-output-in-putty

Kesinlikle 1'de belirtildiği gibi Putty'de konsol hızının tüm çeşitlerini denediniz mi?

Not: Eğer baud hızı varsayılan orandan farklı olarak ayarlanmışsa, CLI'da tuhaf karakterler görülür. Kontrol tablo1 farklı confreg değerleri için ayarlanan baud oranlarına.


1
Konsol hızları seri bağlantılar içindir. Bir SSH bağlantısından bahsediyor. SSH'nin "Terminal Speed" ayarı olmasına rağmen ... Bunun gerçekten bir sorun olduğunu hiç görmedim.
Jared

0

Ayrıca aynı sorunu vardı ve caffeine.exe gerçekten sorun olduğunu buldu. İlk başta caffeine.exe'nin neden olamayacağını düşündüm, çünkü bunu eski laptopumda 2 + yıl kullanıyordum. Bunun yerine caffeine.exe -useshift değiştirmeyi denedim, ancak bu ^ C gönderdi. Ekran koruyucuyu uzak tutan fakat artık Macun oturumlarımda Escape dizisi göndermeyen başka bir program olan Fare Çalkalayıcı'yı buldu.


0

Daha iyi çözüm, macun oturumunuzdaki ayarları yapmaktır, böylece Caffine buna karışmaz.

Terminal Klavye altındaki Putty'de SCO seçeneğini seçin. Terminal Bell altındaki Putty'de eylemi Yok olarak değiştirin (zili kapatmak için).

Caffine hala bir şey yapacak ve macun seansınızı rahatsız etmeyecektir. (Macun tuşlarında Fn tuşlarını kullanmıyorum, bu nedenle Fn tuşlarını kullanmak istersen ne olacağını bilmiyorum).


0

2017-09-20: Oturum açma sırasında tetiklenen görev zamanlayıcısında kafeini «caffeine.exe -useshift -noicon» ile başlatıp char enjeksiyonunu çözdü. Simge yok, mintty / bash oturumlarımda artık enjekte edilmiş karakter yok. Bu çok sinir bozucu oldu. İpuçlarınız için herkese teşekkürler.

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.