टर्मिनल में मैं लोअरकेस टाइप नहीं कर सकता


14

यदि मैं एक टर्मिनल विंडो खोलता हूं और मैं "ई" (बेशक उद्धरण के बिना) अक्षर टाइप करता हूं तो यह बीप करता है और पत्र टाइप नहीं करेगा। हर दूसरा अक्षर टर्मिनल में ठीक काम करता है। अपरकेस ई काम भी करता है। बस लोअरकेस ई नहीं करता है।

मेरे कंप्यूटर पर हर दूसरे ऐप में लोअरकेस ई समस्या के बिना काम करता है, इसलिए यह एक कीबोर्ड समस्या नहीं है।

यह पिछले सप्ताह में शुरू हुआ। मैं अपनी नौकरी में टर्मिनल का उपयोग करता हूं और यह कभी भी एक मुद्दा नहीं रहा है। मैंने रिबूट किया है (ठीक नहीं किया)। मेरे पास टर्मिनल रीसेट है (ठीक नहीं हुआ)।

चूंकि मुझे यह पता नहीं है कि यह कब शुरू हुआ, मुझे यकीन नहीं है कि मैंने कोई बदलाव किया है या सॉफ्टवेयर स्थापित किया है। मैं हाल ही में स्थापित कुछ भी हटाने की कोशिश कर रहा हूं।

FYI करें मैंने 3rd पार्टी iTerm2 का उपयोग करने की कोशिश की है और यह वही काम करता है।

ALSO - अगर मैं किसी चीज़ को लोअर ई के साथ पेस्ट करता हूँ, तो यह वही काम करती है - इसे नहीं लेगी। मुझे लगता है कि यह कुछ टर्मिनल बैश कॉन्फिग इश्यू होना चाहिए।

वास्तव में, मैंने निम्नलिखित अर्थों की नकल की और फिर मैंने इसे टर्मिनल में चिपकाया। क्या प्रतीत होता है? साँप और आप दो बीप सुन सकते हैं।

इसके अलावा - अगर यह स्पष्ट नहीं है - यह MBP पर अंतर्निहित कीबोर्ड के साथ-साथ बाहरी कीबोर्ड के साथ भी होता है। उस और चिपकाने वाले मुद्दे के आधार पर, मुझे नहीं लगता कि यह किसी भी तरह से एक भौतिक कीबोर्ड मुद्दा है।

चश्मा: 2015 मैकबुक प्रो, पूरी तरह से ओएस एक्स तक


1
यदि आप किसी अन्य शेल में जाते हैं, जैसे csh या tsh?
केंट

2
यह अजीब है ... applescriptइसे स्पॉटलाइट में खोजकर खोलने का प्रयास करें , और delay 10उसके बाद टाइप करें और रिटर्न को दबाएं और tell application "System Events" to keystroke "e"जैसा लिखा है वैसा ही लिखें। जब प्ले दबाया जाता है तो यह 10 सेकंड इंतजार करेगा, और उसके बाद ई दबाएं। उस समय समाप्त होने से पहले टर्मिनल पर जाएं और इसका परीक्षण करें। अगर वह काम नहीं करता है, तो आप अपने कंप्यूटर के साथ एक गंभीर आंतरिक समस्या है।
ALX

1
यदि आप cat filnam.txtजहां फ़ाइल कहते filnam.txtहैं, तो कुछ ASCII पाठ के साथ क्या होता है e?
Techraf


क्या यह केवल शेल या टर्मिनल में चल रहे किसी कार्यक्रम में है?
एजेंटरोडकिल

जवाबों:


7

इसे डिबेट करते हैं।

  1. गोले बदलें और पुनः प्रयास करें। (क्रेडिट @ @ent के लिए) टर्मिनल में:
    • $(which zsh)
  2. सभी लाइनों बाहर टिप्पणी .bash_profile, .bashrcआदि और एक नया टर्मिनल टैब / विंडो खोलें। यदि यह समस्या को हल करता है, तो शेल वातावरण में लोड किया जा रहा कुछ इस eकारण से पत्र का उपभोग कर रहा है कि विज्ञान कभी भी व्याख्या करने में सक्षम नहीं हो सकता है।
  3. catकिसी फ़ाइल eको सम्मिलित करने का प्रयास करें , जिसमें यह देखने के लिए कि यह भी दिखाई देगा कि पत्र में है: (क्रेडिट @techraf के लिए)
    • एक टेक्स्ट एडिटर खोलें (टर्मिनल नहीं)
    • कुछ eएस के साथ कुछ पाठ दर्ज करें और फ़ाइल सहेजें ( foo.txt?)
    • टर्मिनल में, catफ़ाइल:
      • cd /path/to/folder; cat foo.txt
    • यदि eरेंडर किया जाता है तो टर्मिनल इसे संभाल सकता है, यदि नहीं, तो यह सुपर अजीब है।
  4. ऐप्पलस्क्रिप्ट आज़माएं। (साभार @ALX)

    • ऐप्पलस्क्रिप्ट संपादक खोलें
    • इन सामग्रियों के साथ Applescript फ़ाइल बनाएँ:

      delay 10
      tell application "System Events" to keystroke "e"
      
    • स्क्रिप्ट फ़ाइल निष्पादित करें और फिर जल्दी से टर्मिनल विंडो पर नेविगेट करें। कुछ ही सेकंड में यह वस्तुतः eकुंजी दबाएगा और उम्मीद है कि आपके टर्मिनल में दिखाई देगा। यह इंगित करता है कि एक इनपुट / डिवाइस ड्राइवर समस्या हो सकती है (हालांकि मैं जो कुछ भी हो सकता है, उसके बारे में स्पष्ट नहीं हूं)

मैं झूठ बोलने वाला नहीं हूं, मैं इस मुद्दे पर पूरी तरह से मोहित हूं और यह जानने का इंतजार नहीं कर सकता कि इसका कारण क्या है। यह हार्डवेयर नहीं है क्योंकि यह अन्य अनुप्रयोगों में काम करता है, जिसका अर्थ है कि यह सॉफ्टवेयर है और मैं कल्पना नहीं कर सकता कि कौन eकोड के साथ पत्र को निगल जाएगा ।


1
C शेल को आज़माने के लिए बेहतर है जैसे tcsh नहीं (bash) स्टार्टअप फ़ाइलों को पढ़ नहीं सकता है या यहां तक ​​कि बस एक दुभाषिया शुरू कर सकता है जैसे perl पर अजगर और वहाँ टाइप करें
user151019

1
हाँ, मैं वास्तव में इस मुद्दे से प्रेरित हूँ
मंचिनेल

"मैं कल्पना नहीं कर सकता कि कौन कोड ई के साथ कोड निगल जाएगा" यह आदमी कुछ जान सकता है ... upload.wikimedia.org/wikipedia/en/5/5e/Cisforcookie.jpg
एलन

4

मैं बस एक ही मुद्दे में चलाने के बाद इस धागे पाया।

.inputrc

मेरे पास 2 लाइनें थीं .inputrc, लापरवाह अज्ञानता के एक क्षण में जोड़ा गया, जिसके साथ शुरुआत हुई eऔरs (जो मान्य बैश कॉन्फ़िगर हैं, लेकिन मान्य रीडलाइन कॉन्फ़िगर नहीं हैं)। उन्हें लगता है कि रीडलाइन अनुकूलन के लिए कीबाइंडिंग-अलायसेस के रूप में व्याख्या की गई है।

लाइनों को हटाने से .inputrc, मैंने पुष्टि की है, मेरी समस्या हल कर दी है।

धन्यवाद @ user208052 संबंधित अनुस्मारक की जाँच के लिए .inputrc

शेल का रीडलाइन कॉन्फ़िगरेशन

शेल का bindकमांड Readline config को देखने और संशोधित करने की अनुमति देता है। (देखें help bindhelpहै manखोल-आंतरिक आदेश के लिए)।

देखें bind -p(शायद कम |lessया किसी फ़ाइल पर पुनर्निर्देशित करने के लिए पाइप > binds.txt)। यह "सूची [एस] कार्यों और बाइंडिंग एक ऐसे रूप में है जिसे इनपुट के रूप में पुन: उपयोग किया जा सकता है"

इसमें "c": self-insertASCII रेंज के हर कैरेक्टर के लिए प्रविष्टियां हैं , इसलिए स्क्रू अप कॉन्फिग को self-insertकुछ अन्य रीडलाइन फ़ंक्शन के साथ बदल सकता है ।

इसे कुछ रत्न मिले हैं; इसे देखने से मुझे सिर्फ यह पता चलता है कि C-=( \e=) मेरे डिफ़ॉल्ट कॉन्फ़िगरेशन में, संभावित पूर्णताओं को प्रिंट करता है। यह आपके शेल के लिए Readline के पूर्ण वर्तमान कॉन्फ़िगरेशन को दिखाने के लिए लगता है ... बहुत उपयोगी और शक्तिशाली। खोज के लिए अच्छा है।

परीक्षण समाप्त करने के लिए अंत

  1. e काम करता है
  2. गलत लाइन डालें .inputrc, नया शेल खोलें

    et completion-map-case on
    set completion-ignore-case on
    
  3. e स्पष्ट रूप से एक सेशन नहीं है

  4. bind -p( | grep -i '"E"') दिखाता है
    • "E": self-insert,
    • लेकिन नहीं "e": self-insert
    • जबकि "A": self-insertऔर "a": self-insertमौजूद हैं।

2

मैं थोड़ा कठोर हूँ, लेकिन GUI प्रोग्राम में चिपकाने की तुलना में टर्मिनल में चिपकाना अलग तरह से काम करता है: प्रत्येक चरित्र को एक अलग कीस्ट्रोक के रूप में भेजा जाता है, न कि क्लिपबोर्ड से ऐप बफर में एक मेम्कोपी के रूप में। इसलिए यदि "ई" का रीमेक किया गया है, तो इसे पेस्ट में भी रीमैप किया जाएगा।

निम्नलिखित स्थानों की जाँच करें:

System Preferences > Keyboard > Shortcuts

~/Library/KeyBindings/KeyBindings.dict

$ defaults read com.apple.Automator NSUserKeyEquivalents


वास्तव में क्या है?
nohillside

क्या eकुंजी को रीमैप किया गया है।
ज़ेनक्राफ्ट

1
यह मानते हुए कि ओपी ऐसी चीजों में बहुत अनुभवी नहीं है: वास्तव में उन्हें क्या देखना चाहिए? इस तरह की मैपिंग का एक उदाहरण सहायक हो सकता है।
nohillside

1
कीबोर्ड शॉर्टकट के लिए, कुंजी रीमैपिंग के लिए देखें: बाईं ओर एक ऐप सूची और दाईं ओर एक शॉर्टकट सूची है। सुनिश्चित करें कि टर्मिनल ऐप सूची में नहीं है। अन्य दो खाली होना चाहिए; यदि KeyBindings.dict मौजूद है या डिफॉल्ट्स कमांड कुछ देता है, तो इसे आगे के विश्लेषण के लिए यहां पोस्ट करें।
zencraft

1

कुछ और आप कोशिश कर सकते हैं, एक नया संपादक खोलने पर टर्मिनल को एक टेक्स्ट एडिटर (इमैक, vi, आदि) खोलने के लिए सेट करना है। उदाहरण के लिए, "शेल" के लिए टर्मिनल प्राथमिकताओं में, आपके पास रन कमांड जैसे कि हो सकता है /usr/bin/emacs। यदि आप eवरीयता फलक में प्रवेश नहीं कर सकते हैं , तो जो अभी तक प्रस्तावित किया गया है, उससे भी अधिक कुछ और हो रहा है ...

जब एक नई टर्मिनल विंडो खोली जाती है, तो emacs शुरू हो जाना चाहिए, और आप प्रेस करने की कोशिश कर सकते हैं eआदि। मुझे नहीं पता कि क्या होगा, लेकिन ऊपर @Pierce की तरह, मैं उत्सुक हूं कि क्या हो रहा है।


0

स्टेंट सेटिंग की जाँच करें और सुनिश्चित करें कि 'ई' गलती से बैकस्पेस या समान के रूप में सेट नहीं हुआ। वहाँ किया गया था कि। Stty something \ e यह कर देगा निष्क्रिय करने / बाहर टिप्पणी करने की सिफारिश .bash * भी शायद इसे उजागर करेगा।


0

मुझे वही समस्या थी जो टाइपो में होने के कारण हुई थी /etc/inputrc:

et output-meta on

के बजाय

set output-meta on

0

अजीब तरह से मैं सिर्फ एक मैकबुक एयर पर macOS 10.13.6 चलाने के लिए आया था। एक उपयोगकर्ता ठीक था, bash चलाने वाला व्यवस्थापक उपयोगकर्ता टर्मिनल लोअरकेस अक्षर 'a' को स्वीकार नहीं करेगा- टाइपिंग नहीं, पेस्टिंग नहीं, आदि रनिंग zsh यह ठीक होगा। अन्य उपयोगकर्ता, ठीक है। मुझे लगता है कि यह पहले हुआ था और इसे हटाकर /Users/admin/.inputrc फ़ाइल, और .bash_profile द्वारा इसे ठीक किया गया था। मैंने उन्हें फिर से जोड़ा और यह काम करता है। अजीब तरह से इन फाइलों में कुछ भी महत्वपूर्ण नहीं है। .inputrc सिर्फ "सेट पूरा-इग्नोर-केस ऑन" है, और इनबैश-एंटीफाइल में कमांड लाइन एलियम्स के एक जोड़े हैं। ईमानदारी से कुछ और हो सकता है लेकिन अभी के लिए काम करता है।

मुझे लगता है कि इस मुद्दे पर इन फ़ाइलों को हटाना और फिर से जोड़ना याद है। खैर, ये फाइलें कम से कम समस्या को ट्रिगर या रीसेट कर सकती हैं।


-1

बस .inputrc फ़ाइल हटाएं, यह रूट डायरेक्टरी में है। (यह एक छिपी हुई फ़ाइल है)।

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