क्या आप पुट्टी में Ctrl-S (XOFF) कीस्ट्रोके को अक्षम कर सकते हैं?


41

मैं बहुत ssh-ing करता हूं, और समय-समय पर मैंने Ctrl+ मारा S, जो स्वाभाविक रूप से एक भेजता है XOFF, और सभी प्रकार की समस्याओं का कारण बनता है (इसका उल्लेख नहीं करने के लिए मुझे यह पता लगाने में थोड़ा समय लगता है कि क्या हुआ, फिर एक और याद करने के लिए कि मुझे ज़रूरत है प्रेस करने के लिए Ctrl+ Qठीक करने के लिए।

मैं बहुत कुछ नहीं बल्कि पुट्टी को कभी भी टाइप करने का निर्देश दूंगा XOFF

कोई विचार?


6
+1 यह इंगित करने के लिए कि Ctrl + Q से पुनर्प्राप्ति संभव है। मेरी बहुत मदद की!
डेमंटो

1
+1 वास्तव में यह पूछने के लिए कि इस व्यवहार को कैसे अक्षम किया जाए क्योंकि यह मेरे उद्देश्यों के लिए पूरी तरह से और बेकार है। वेब पर प्रत्येक व्यक्ति के पास CTRL + q ट्रिक है, लेकिन किसी ने भी प्रलेखित नहीं किया है कि चाबियों को पूरी तरह से कैसे हटाया जाए।
andrew

1
ध्यान रखें कि ctrl+qकैश्ड प्रवाह को बहाल करेगा। इसका मतलब है, यदि आप दबाते हैं ctrl+sऔर फिर पागल दबाने ctrl+cया कुछ और, जब आप ctrl+qपहले दबाए गए सभी को दबाते हैं तो बाहर खेला जाएगा।
gcb

A का प्रभाव क्या है XOFF?
स्नोक्रैश

जवाबों:


35

पोटीन के बारे में नहीं जानते, लेकिन आप इसका उपयोग कर सकते हैं:

stty -ixon

दूरस्थ होस्ट पर, START / STOP संकेतों को अक्षम करने के लिए।


धन्यवाद - किसी भी विचार अगर या यह कैसे कंसोल को प्रभावित करता है? क्या यह शेल कार्यक्रमों के व्यवहार को बदल देगा? (एक्सोन / एक्सओएफएफ के बारे में केवल एक चीज मुझे पता है कि इसका उपयोग धारा प्रवाह नियंत्रण के लिए किया जाता है)। .Bash_profile के लिए एक अच्छी सेटिंग की तरह लगता है।
सेठ

वह होना चाहिए stty -ixon
अजीब

माफ़ कीजिये। टाइपो को ठीक करने के लिए मेरी पोस्ट को अपडेट किया।
बार्टोज़

1
जैसा कि मैंने अभी उसके जवाब पर ब्लाकबैट को टिप्पणी की है , जो मुझे नहीं भेजती है , लेकिन यह अब मुझे मोड में लाती है। क्या कोई तरीका है जिससे मैं बस (या पुटी) को छोड़ दूं ? इससे भी बेहतर अगर यह बीप और / या मुझ पर फ्लैश कर सकता है; ओ)^SXOFFi-search^S
ओवेन ब्लैकर

1
मैंने stty -ixonअपनी प्रोफ़ाइल स्क्रिप्ट में जोड़ा है। मैंने 100 लेखों के बारे में पढ़ा है कि जब आप गलती से CTRL + s दबाते हैं, तो आपको बस फिर से शुरू करने के लिए CTRL + q करना पड़ता है ... लेकिन मैं नहीं चाहता कि मेरा खोल CTRL + s / q को इंटरसेप्ट करे। के बाद से मैं उन्हें काफी थोड़ा सा उपयोग करें। जवाब देने के लिए बहुत बहुत धन्यवाद किसी और को भी नहीं लगता है।
एंड्रयू

29

PuTTY समाधान:

  1. सत्र बनाने से पहले सूची में कनेक्शन-> SSH-> TTY पर जाएं।
  2. "मोड" ड्रॉपडाउन बॉक्स में, IXON (nb: संस्करण 0.60 के रूप में चुनें, यह सूची वर्णानुक्रम में क्रमबद्ध नहीं है)
  3. डाल "0" ( शून्य के मूल्य के रूप में) iXon

स्क्रीनशॉट

एक आकर्षण के रूप में काम करता है, भले ही आप इसके ऊपर "GNU स्क्रीन" खोलें, दूसरे होस्ट को SSH, या किसी अन्य उपयोगकर्ता को "su"

यदि आप GNU बैश का उपयोग कर रहे हैं, तो ctrl-S को अब आपको फॉरवर्ड-सर्च-हिस्ट्री (aka: i-search) करने की अनुमति देनी चाहिए

आप "stty -a | grep -o" .ixon के आउटपुट में अंतर देख सकते हैं : पोटीन के साथ इसे "ixon" के बिना "-ixon" प्रिंट करता है।


2
ठीक है, यह ^Sएक नहीं भेजता है XOFF, लेकिन यह अब मुझे i-searchमोड में डालता है। क्या कोई ऐसा तरीका है जिससे मैं केवल किसी को त्यागने के लिए PuTTY (या बैश) प्राप्त कर सकता हूं ^S? इससे भी बेहतर अगर यह बीप और / या मुझ पर फ्लैश कर सकता है; ओ)
ओवेन ब्लैकर

किसी क्रिया को निष्क्रिय करने के लिए, आप 'S' को "\ Cs" के माध्यम से कुछ भी नहीं बाँध सकते हैं। यह मेरी PuTTY को ब्लिंक बनाता है क्योंकि कार्रवाई मैप नहीं की गई है।
ब्लकबैट

1
मैं पोटीन 0.62 पर थक गया और उपरोक्त सेटिंग मदद नहीं करता है। मैंने XON, XOFF और विभिन्न मूल्यों के साथ ओवरराइड करने की कोशिश की लेकिन कुछ भी नहीं बदला।
डेनिस सी

1
यह 2, 3 (आदि) क्लाइंट के रूप में ओपनश का उपयोग करते हुए नेस्टेड एसएसएच सत्रों के लिए भी काम करता है
फेलिप अल्वारेज़

1
सॉफ्टवेयर प्रवाह नियंत्रण को निष्क्रिय करने के लिए इस उत्तर को सबसे अच्छा तरीका माना जाता है। टर्मिनल व्यवहार को नियंत्रित करने के लिए, टर्मिनल एमुलेटर इसे कॉन्फ़िगर करने के लिए सबसे अच्छी जगह है। पुट्टी में एक्सओएन / एक्सओएफएफ प्रवाह नियंत्रण को अक्षम करने का मतलब है कि जब दूरस्थ मेजबान से छद्म टर्मिनल का अनुरोध किया जाता है, तो एसएसएच सर्वर उस छद्म टर्मिनल को आवंटित करते समय उस सेटिंग का सम्मान करेंगे। देखें टूल्स.ietf.org/html/rfc4254#section-6.2
एंथनी जी - मोनिका के लिए न्याय

5
.bashrc उदाहरण:
#
# Ctrl-S / Ctrl-Q के साथ XOFF / XON करने से पोटीन को रोकें
# स्रोत: http://raamdev.com/recovering-from-ctrls-in-putty (मोरी, 7/14/08)
#
# स्टेंट ixany
# स्टिकी ixoff -ixon
### यदि कुछ ऐप्स के लिए Ctrl-S सुनने की जरूरत है, तो इन दोनों का उपयोग करें:
stty स्टॉप अनडेफ
stty शुरू undef

5

मैं विपरीत समस्या है। हर बार एक समय में, मेजबान एक XOFFपुट्टी को भेजता है लेकिन पुट्टी के अनुरूप कभी नहीं भेजता है XON। इस मामले में, आप PuTTY (इसे पुनः आरंभ करने की कमी) से कुछ भी नहीं करेंगे। इस स्थिति में, होस्ट का सभी कीबोर्ड इनपुट अवरुद्ध है, लेकिन होस्ट अभी भी डेटा को PuTTY को भेज सकता है।

PuTTY में प्रवाह नियंत्रण को अक्षम करने से काम नहीं चलता है।

इस समस्या को ठीक करने का तरीका उपयोग करना है

stty -ixoff

आपके प्रोफाइल में। यह होस्ट को भेजने XON/ भेजने से रोकता है XOFF। ध्यान दें कि विकल्पों के नाम पूरी तरह से भ्रमित करने वाले हैं। ixon/ का -ixonमतलब क्लाइंट साइड पर फ्लो कंट्रोल को इनेबल / डिसेबल करना है (मतलब कि क्लाइंट फ्लो कंट्रोल जारी नहीं कर सकता), ixoff/ -ixoffमतलब होस्ट साइड पर फ्लो कंट्रोल को इनेबल / डिसेबल करें (मतलब होस्ट फ्लो कंट्रोल जारी नहीं कर सकता)।

Btw, के लिए ASCII कोड Ctrl- Sऔर XOFF समान ASCII वर्ण (कोड 19, 0x13) हैं। कोई अंतर नहीं है। सेटिंग्स उस ASCII वर्ण की व्याख्या को बदल देती हैं।


अरे यार, मैंने ixon और ixoff के लिए स्पष्टीकरण के लिए हर जगह खोज की है। होस्ट करने के लिए क्लाइंट से XON / XOFF भेजना समझ में आता है। हालाँकि, मैं अभी भी असमंजस में हूँ, मेजबान किन परिस्थितियों में क्लाइंट फ्लो कंट्रोल XON / XOFF को भेजता है? मैं देखता हूं "जब इनपुट कतार लगभग खाली / भरी होती है"? क्या यह आधुनिक कंप्यूटरों के साथ होता है, जैसे कि धीमी गति वाले प्रिंटरों से जुड़ने में नहीं? लेकिन व्यावहारिक रूप से इसका क्या मतलब है? टर्मिनल UI क्या होता है?
CMCDragonkai

फ्लो कंट्रोल दोनों दिशाओं में काम करता है। एक आधुनिक कंप्यूटर हमेशा एक लाख अन्य चीजें कर रहा है, और यह महत्वपूर्ण गतिविधि को "लॉक अप" कर सकता है। इस समय के दौरान, यह सीरियल पोर्ट की सेवा नहीं कर सकता है और जब तक टर्मिनल बंद नहीं हो जाता, सीरियल पोर्ट ओवरफ्लो हो जाएगा। इसलिए होस्ट XOFF को टर्मिनल पर भेजता है और उसे भेजने से रोकने का अनुरोध करता है। एक बार दबाव बंद होने पर, होस्ट XON भेजता है। (btw, कंप्यूटर सीरियल पोर्ट्स में आमतौर पर केवल एक छोटा हार्डवेयर बफर होता है, 16 बाइट्स कहते हैं।) भले ही यह प्राचीन तकनीक है, वास्तविक समय के लिए डिज़ाइन की गई कोई भी चीज कभी-कभी "हैंग" नहीं होती है, इसलिए प्रवाह नियंत्रण की आवश्यकता होती है।
मार्क लकाटा

BTW, मुझे ऐसे मामले मिले हैं जहां एक छोटे से 20 मेगाहर्ट्ज माइक्रोकंट्रोलर 3 गीगाहर्ट्ज होस्ट कंप्यूटर को ओवरफ्लो करने में सक्षम है, लेकिन इसके विपरीत नहीं। ऐसा इसलिए है क्योंकि माइक्रोकंट्रोलर केवल एक काम कर रहा है और वास्तविक समय को ध्यान में रखते हुए डिज़ाइन किया गया है, जबकि होस्ट कंप्यूटर नहीं है।
मार्क लकाटा

4

अपना खोलें .bash_profileऔर डालें:

stty -ixon

मान -xionमेरे लिए काम नहीं करता है। आप आदमी प्रविष्टि देख सकते हैं man stty:।


Stty -xion के लिए +1 मेरे सेंटो पर काम नहीं करता है, लेकिन स्टिकी-एक्सॉन काम करता है।
जिचाओ

0

इस कमांड को चालू सत्र के लिए अक्षम करने के लिए इसे टर्मिनल में चलाएँ / इसे स्थायी रूप से अक्षम करने के लिए .bashrc में जोड़ें

स्टेंट-ऑक्सन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.