linux लिनक्स टर्मिनल: टाइपिंग फीडबैक गया, लाइन ब्रेक प्रदर्शित नहीं हुआ




bash terminal (2)

जोशुआ ब्रीफमैन के उत्तर पर विस्तृत करने के लिए, reset -c निष्पादित करना केवल आपकी समस्या के लिए जिम्मेदार नियंत्रण वर्ण रीसेट करेगा:

tset , reset - टर्मिनल आरंभीकरण

Usage: tset [options] [terminal]

Options:
  -c          set control characters
  -e ch       erase character
  -I          no initialization strings
  -i ch       interrupt character
  -k ch       kill character
  -m mapping  map identifier to type
  -Q          do not output control key settings
  -r          display term on stderr
  -s          output TERM set command
  -V          print curses-version
  -w          set window-size

कमांड के manual को निम्नलिखित रूप में भी ध्यान दें:

ध्यान दें, आपको टाइप करना होगा

<LF>reset<LF>

(लाइन-फीड का चरित्र टर्मिनल को काम करने के लिए सामान्य रूप से नियंत्रण-जे) है, क्योंकि गाड़ी-वापसी असामान्य स्थिति में काम नहीं कर सकती है। इसके अलावा, टर्मिनल अक्सर कमांड को प्रतिध्वनित नहीं करेगा।

समय-समय पर मुझे एक कमांड-लाइन टूल (एक पायथन स्क्रिप्ट) चलाना होता है, जिसका आउटपुट मेरे टर्मिनल को तोड़ने लगता है। निष्पादन समाप्त होने के बाद, टाइपिंग फीडबैक चला गया है (मैं नहीं देख सकता कि मैं क्या टाइप कर रहा हूं), और लाइन ब्रेक भी प्रदर्शित नहीं होते हैं। यह तब होता है जब टर्मिनल को Putty माध्यम से दूरस्थ रूप से शुरू किया जाता है, और gnome-terminal का उपयोग करते समय स्थानीय रूप से भी।

उदाहरण के लिए, समस्या होने के बाद, अगर मैं ENTER pwd ENTER टाइप करता हूं, तो मैं देखने की उम्मीद करूंगा:

[[email protected] ~]$
[[email protected] ~]$ pwd
/home/userA
[[email protected] ~]$

लेकिन वास्तव में आउटपुट है:

[[email protected] ~]$ [[email protected] ~]$ /home/userA
                                                             [[email protected] ~]$

इसे ठीक करने का एकमात्र तरीका उस टर्मिनल को बंद करना और एक नई शुरुआत करना है।

शायद संबंधित हो: स्क्रिप्ट आउटपुट में कुछ टर्मिनल-आधारित स्वरूपण होते हैं (जैसे कुछ स्थिति संदेशों को उजागर करने के लिए अग्रभूमि / पृष्ठभूमि को उल्टा करना)। अगर मैं इस आउटपुट को एक फ़ाइल में डंप करता हूं तो मैं [07mSome Message Here[0m जैसी चीजें देख सकता हूं।

किसी भी विचार मैं इसे रोकने के लिए क्या कर सकता हूं?


कमांड reset निष्पादित करें और आपके टर्मिनल को पुनर्स्थापित किया जाना चाहिए ( reference )।

यह समस्या आम तौर पर तब होती है जब द्विआधारी डेटा को टर्मिनल STDOUT डंप किया जाता है, जब प्राप्त होने वाले एस्केप कोड संसाधित होते हैं, पाठ का रंग बदलने से कुछ भी कर सकते हैं, गूंज को अक्षम कर सकते हैं, यहां तक ​​कि वर्ण सेट भी बदल सकते हैं।

इससे बचने का आसान तरीका यह है कि आप अज्ञात बाइनरी डेटा को टर्मिनल पर डंप न करें, और यदि आपको यह सुनिश्चित करने के लिए इसे हेक्साडेसिमल में बदलना चाहिए तो यह टर्मिनल सेटिंग्स को नहीं बदलता है।





gnome-terminal