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ı':
- Kafein, Windows'a bir Sanal Anahtar Kodu gönderir
- Windows, bu Sanal Anahtar Kodunu Macuna gönderir
- Putty, aşağıdaki oturum ayarlarına dayanarak bazı 'çeviriler' / 'eşlemeler' yapar:
- Putty, 'çevrilen' / 'eşlenmiş' anahtar kodunu uzaktaki ana makineye gönderir
- Uzak ana üzerinde, 'terminal' programı (örneğin:
$TERM=xterm, vt100, vt102, vt220, vs.) anahtar kodları içine line protokolü 'den tercüme.
- readline kütüphanesi bazı çeviriler / eşlemeler yapar.
~/.inputrc
- readline Anahtar Kodunu bash'a gönderir
- bash, bazı terimler / eşlemeler temelinde
~/.bashrc(yerleşik bağlama komutunu temel alarak)
- bash veya readline (hangisinden emin değilim) çevrilmiş Anahtar Kodu nano'ya gönderir (metin editörüm)
- 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: