Emacs Cx Cs (सेव-बफर) का उपयोग करते समय GNU स्क्रीन के साथ समस्या


33

जब मैं ग्नू स्क्रीन के नीचे ईमैक का उपयोग कर रहा हूं, अगर मैं Cx Cs स्क्रीन हैंग करता हूं और किसी भी कीबोर्ड इनपुट का जवाब नहीं देता हूं।

मैं इसे पुन: पेश नहीं कर सकता, लेकिन प्रति दिन कम से कम एक बार मुझे अपने स्क्रीन सत्र को मारना होगा और इसे पुनः आरंभ करना होगा।

इसे कैसे हल किया जा सकता है?

धन्यवाद


कौन सा यूनिक्स? वहाँ के बीच लिनक्स, BSD, सोलारिस, ... से निपटने टर्मिनल डिवाइस में कई मतभेद हैं
grawity

1
मैं वास्तव में उबंटू सर्वर LTS उदाहरण में ssh को डालने के लिए उपयोग कर रहा हूँ।
सिमाओ

जवाबों:


52

CtrlS"पॉज़ ट्रांसमिशन" (XOFF) प्रवाह नियंत्रण चरित्र है। आमतौर पर यह tty ड्राइवर द्वारा नियंत्रित किया जाता है, या इस मामले में स्क्रीन। इसके विपरीत XON, या है CtrlQ

जब आप Emacs लॉन्च करते हैं, तो यह सामान्य रूप से अधिकांश विशेष पात्रों (न केवल प्रवाह नियंत्रण, बल्कि सामान्य CtrlC"इंटरप्ट" भी लेता है , उदाहरण के लिए)।

  • C-a :flow offइस स्क्रीन विंडो के प्रवाह-नियंत्रण को अक्षम करने के लिए उपयोग करें ।

    के साथ पुष्टि करें C-a :info( -flowपॉप-अप में देखें)।

  • यदि यह मदद नहीं करता है, तो प्रयास करें stty -ixonया stty stop undef

    (आप इसका उपयोग करके एक अलग विंडो से कर stty -f /dev/tty1सकते हैं stty </dev/tty1।)

अपने सिस्टम (लिनक्स) पर, स्क्रीन करता है जब प्रवाह नियंत्रण tty के लिए अक्षम है नोटिस। आपके OS की कुछ सीमाएँ हो सकती हैं, हालाँकि।


:flow offकाम किया। धन्यवाद! किसी भी तरह से मैं इसे स्थायी बना सकता हूं?
सिमाओ

1
@ सिमाओ: defflowके मैनुअल पेज में देखें screen
grawity

3
@Simao और @ ग्रैविटी की टिप्पणियों पर विस्तृत - प्रवाह-नियंत्रण को स्थायी रूप से अक्षम करने के लिए (मेरा मानना ​​है कि यह ज्यादातर लोगों के लिए वांछित परिणाम है), defflow offअपनी ~/.screenrcफ़ाइल में लाइन जोड़ें , या अपने घर निर्देशिका में एक बनाएं यदि यह पहले से मौजूद नहीं है। यह एक screenखिड़की के अंदर ठीक से काम करने के लिए मेरे emacs की अनुमति देने के लिए पर्याप्त था । किसी भी कुंजी को रिबूट करने से पहले इस दृष्टिकोण पर विचार किया जाना चाहिए।
Pscl

2
इसने मेरे लिए समस्या को हल कर दिया, लेकिन मुझे अभी तक सीखना है कि "अचानक" स्क्रीन को इस मोड में क्यों डाला गया था .... शायद कुछ स्क्रीन की स्ट्रोक है जो प्रवाह को नियंत्रित करता है जिससे मैं अनजाने में टाइप किया गया ... ?? ?
malcook

1
हम GNU स्क्रीन और GNU Emacs के बारे में बात कर रहे हैं, और उन्होंने दोनों को मूल रूप से काम करने का तरीका नहीं बताया ?? ...
बौम्स

4

मुझे लॉक स्क्रीन के साथ एक ही समस्या थी और स्क्रीन के नीचे emacs का उपयोग करते समय कई और। उदाहरण के लिए, सीएएम इन एमएसीएस, जो आपको लाइन की शुरुआत में लाता है, स्क्रीन द्वारा इंटरसेप्ट हो जाता है और यह काम नहीं करता है।

समाधान:

आप के साथ एक घर। निर्देशिका में एक फ़ाइल बनाएँ।

#Change escape character to C-u 
escape "^uu"                                                                    
#unbind ctrl+s from xoff in order to be able to search in emacs                 
bind s                                                                          
bind ^S                                                                         
#unbind ctrl+x from lockscreen in order to be able to save in emacs             
bind x                                                                          
bind ^X                                                                         

फिर हर बार जब आप Ca का उपयोग करने के बजाय एक नई स्क्रीन खोलते हैं, तो आपको एक नई स्क्रीन कमांड दर्ज करने के लिए Cu का उपयोग करने की आवश्यकता होती है। अन्य दो बदलाव कुछ और चीजों की देखभाल करते हैं जिन्हें मुझे बदलने की आवश्यकता है ताकि समस्याओं के बिना स्क्रीन के नीचे emac का उपयोग करने में सक्षम हो सकें।


C-uemacs के लिए एक महत्वपूर्ण कुंजी है। मुझे नहीं लगता कि यह एक अच्छा विचार है, लेकिन .rcrc को बदलने का विचार बेहतर विकल्प है।
vfclists
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.