मैंने श्रेयंसप के समाधान को सबसे अधिक (लेकिन काफी नहीं) संतोषजनक पाया है :)
यहाँ यह सुधारने की मेरी कोशिश है (बेशक YMMV)। आशा है कि यह उन लोगों के लिए उपयोग हो सकता है जो किसी समाधान की तलाश में हैं :)
मेरा समाधान इस प्रकार है:
- कैफीन विंडोज को एक उपयुक्त वर्चुअल-कुंजी कोड भेजता है जो:
- विंडोज को नींद या बेकार जाने से रोकता है
- अन्यथा विंडोज पर न तो कोई साइड-इफेक्ट उत्पन्न करता है और न ही संयोजन में (कोई Ctrl, Shift, Alt, Alt-Gr, Win, F1-F5, F10, आदि)
- या तो पुट्टी में नहीं भेजा जाता है या पुट्टी द्वारा अनदेखा किया जाता है
टीएल; डीआर: मेरा समाधान -key:0E
कैफीन परम के साथ चरण 2 और 3 (नीचे देखें) के बीच लागू किया जाता है :
कैफीन से बाहर निकलें और इसे फिर से लॉन्च करें:
caffeine.exe 5 -key:0E
(आसान परीक्षण के लिए)
caffeine.exe 50 -key:0E
(1 मिनट में अनिवार्य स्क्रीन सेवर के लिए)
read
दूरस्थ होस्ट पर प्रोग्राम लॉन्च करें और देखें कि हर 5 या 50 सेकंड में कोई कीस्ट्रोक्स कैसे प्राप्त नहीं होते हैं।
- के
read
साथ बाहर निकलेंCtrl+C
श्रेयांसप ने एक समाधान का प्रस्ताव रखा, जहां चरण 5 और 10 के बीच एक सुधार लागू किया जाएगा (नीचे देखें)।
उस (मेरे विन्यास पर) का दुष्परिणाम यह था कि प्रत्येक कीस्ट्रोके के साथ, जो पोटीन कैफीन से दूरस्थ मेजबान को अग्रेषित करता है:
- इससे 'रीसेट स्क्रॉलबार ऑन कीपर' (पुट्टी / विंडो पेज पर सेटिंग) चालू हो गया
जिसे मैं सामान्य रूप से चाहता हूं, लेकिन केवल जब मैं (मानव) कुंजी दबा रहा है, लेकिन नियमित रूप से कैफीन द्वारा नहीं :)
- ReadLine / bash अनुवाद से यह (के संस्करण
'"\e[28~"'
के लिए '""'
(खाली कुंजी?) की वजह से कई सेकंड के लिए लटका दूरस्थ सत्र बातचीत
उपरोक्त का आसानी से परीक्षण करने के लिए, कैफीन से बाहर निकलें और इसे 5 सेकंड के अंतराल और वर्चुअल-कुंजी कोड 07 के साथ फिर से लॉन्च करें:
caffeine.exe 5 -key:07
read
रिमोट होस्ट पर प्रोग्राम लॉन्च करें और देखें कि हर 5 या 50 सेकंड में कीस्ट्रोक्स कैसे प्राप्त होते हैं।
- के
read
साथ बाहर निकलेंCtrl+C
कीस्ट्रोके 'पाइपलाइन', जैसा कि मैं इसे समझता हूं:
- कैफीन विंडोज के लिए एक वर्चुअल-कुंजी कोड भेजता है
- Windows उस वर्चुअल-कुंजी कोड को पोट्टी में भेजता है
- पोटीन कुछ सत्र सेटिंग्स के आधार पर कुछ 'अनुवाद' / 'मैपिंग' करता है:
- पोटीन रिमोट होस्ट को 'अनुवादित' / 'मैप्ड' कुंजी कोड भेजता है
- रिमोट होस्ट पर, 'टर्मिनल' कार्यक्रम (जैसे:
$TERM=xterm
, vt100
, vt102
, vt220
, आदि) कुंजी कोड में 'लाइन प्रोटोकॉल' से अनुवाद करता है।
- रीडलाइन लाइब्रेरी कुछ अनुवाद / मैपिंग के आधार पर करती है
~/.inputrc
- रीडलाइन कुंजी कोड को बैश करने के लिए भेजती है
- bash कुछ अनुवाद / मैपिंग के आधार पर
~/.bashrc
(बिलिन बाइंड कमांड के आधार पर) करता है
- बैश या रीडलाइन (निश्चित नहीं है कि कौन सा) नैनो को अनुवादित कुंजी कोड भेजता है (मेरा पाठ संपादक)
- इस पाइपलाइन को
screen
प्रोग्राम को जोड़कर और भी लंबा किया जा सकता है (जिसमें $TERM=screen
चरण 5 के लिए शामिल है और चरण 6 से फिर से छोर पर है। 6.)
नोट: एक बार जब यह चरण 4 में पहुंच जाता है, तो 'अनुवाद' / 'मैपिंग' की विभिन्न परतों को ठीक से नियंत्रित करना बहुत मुश्किल हो जाता है। मैं आपको इससे बचने की सलाह दूंगा।
बैकग्राउंड:
मैंने caffeine.exe -key:07
सालों पहले इस्तेमाल किया था एक pfsense 2.3.3-RELEASE-p1 (FreeBSD 10.3-RELEASE के आधार पर) से निपटने के लिए।
फिर, caffeine.exe -key:07
दूसरी तरफ के रूप में प्राप्त किया गया ^[[28~
... जो Ctrl+^
नैनो में (सेट मार्क) को मैप किया गया लगता है ।
यह काफी कष्टप्रद था (नोटपैड में टेक्स्ट कैरट को घुमाते समय किसी को दबाने और शिफ्ट की रखने की कल्पना करें)।
इससे पहले, मैं पोटीन सेटिंग्स में कई अनुकूलन किया था, ~/.tcshrc
, ~/.inputrc
, ~/.bashrc
, ~/.nanorc
, ~/.screenrc
मैं क्या बुनियादी कार्यक्षमता पर विचार (प्राप्त करने के लिए Backspace
, Delete
, Home
, End
, PgUp
, PgDown
, Ctrl+Left
, Ctrl+Right
, नमपैड 0-9
, नमपैड./*-+
) बैश / नैनो / स्क्रीन के बीच लगातार काम।
एक बार जब मैंने इस caffeine.exe -key:07
'बग' की खोज की, तो मैं उस सब को फिर से दोहराना नहीं चाहता था :)
पर परीक्षण किया गया:
विंडोज 8.1 64-बिट एंटरप्राइज (6.3.9600) / पुट्टी 0.66 / pfsense 2.3.3-RELEASE-p1 ( FreeBSD 10.3-RELEASE पर आधारित ) / बैश 4.4.12-रिलीज़ / नैनो 2.7.3 / स्क्रीन 4.04। 00
संदर्भ: