क्या एक बिल्ली / देव / यूरेनियम - ब्रोकन टर्मिनल


31

जिज्ञासा से बाहर, जब आपका खोल चरित्र सेट कुछ करने से टूटता है जैसे cat /dev/urandomकि उस जगह को ठीक करने का एक तरीका है?


6
ज़रूर ... ऐसा मत करो! इसके अलावा, अगर आपको लगता है कि कोई कमांड अमान्य वर्णों का उपयोग कर सकती है, तो उपयोग करें cat -A
जेनिलेन

2
इसके अतिरिक्त, मैं हमेशा जिज्ञासु रहा हूं कि catआपका चरित्र सेट कैसे टूट सकता है ...
crasic

बिल्ली / बिन / एलएस अक्सर इसे ठीक करता है (निश्चित नहीं क्यों)
स्कारफेस

2
@ क्रैसिक: यह टर्मिनल को बाइनरी भेजता है, और प्रत्येक टर्मिनल में विशेष कैक्टेक्टर्स प्राप्त करके फ़ॉन्ट / रंग / आदि बदलने के तरीके हैं। देखें अद्भुत: linusakesson.net/programming/tty ।। (उर्फ "TTY demystified) अपने अवधि सेटिंग के अनुसार, इसे दूसरे तरीके से भी प्रतिक्रिया करेंगे (और निश्चित रूप से, निर्भर करता है क्या बाइट्स यह प्राप्त करता है और किस क्रम में)
ओलिवर Dulac

@skarface: आप शायद भाग्यशाली हैं कि बाइनरी / बिन / एलएस के पास, अंत के पास, बाइट सीक्वेंस हैं जो डिस्प्ले को तय करते हैं। यह ओएस पर निर्भर करेगा, बाइनरी (यानी, जो संस्करण, क्या संकलन optino इस्तेमाल किया, आदि), और अपने टर्मिनल ... की अवधि सेटिंग तो मैं अत्यधिक तुम "stty समझदार" के बजाय ^^ का उपयोग करें
ओलिवर Dulac

जवाबों:


50

इनमें से एक आज़माएँ:

stty sane

या

reset

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

ध्यान दें कि stty sanePOSIX द्वारा परिभाषित किया गया है जबकि resetऐसा नहीं है। इसका मतलब है कि कुछ प्रणालियों पर एक resetया पूरी तरह से अलग कुछ नहीं हो सकता है, जैसे कि पूरे सिस्टम को रीसेट करना। मैंने अभी तक बिना सिस्टम के सामना नहीं किया है reset

अधिक पृष्ठभूमि जानकारी के लिए "लिनक्स कीबोर्ड और कंसोल HOWTO" अध्याय "अपने टर्मिनल को रीसेट करना" पढ़ें ।


मैंने आपको सही उत्तर दिया क्योंकि आप पहले थे। दूसरे के लिए क्षमा करें।
पेड्रो मोंटोटो गार्सिया

सामान्य तौर पर, टर्मिनल को यादृच्छिक बाइट्स लिखने से इसे ऐसी स्थिति में रखने की संभावना नहीं है जिसे ठीक करने के लिए स्टाइट साने की आवश्यकता होती है; कि एक कार्यक्रम दुर्घटनाग्रस्त होने से आने की अधिक संभावना है।
रैंडम 832

stty saneसुरक्षित और उचित तरीका है (मैं उन कारणों के लिए "रीसेट" से थका हुआ हूं, जो मैंने लेन के जवाब में टिप्पणियों में बताए हैं)
ओलिवियर दुलक

1
@OlivierDulac अपना अनुभव साझा करने के लिए धन्यवाद। मैंने शोध किया और सीखा कि resetPOSIX द्वारा परिभाषित नहीं है।
lesmana

1
@ मुझे नहीं लगता कि @OlivierDulac FUD फैला रहा है। संदर्भ जो reset"सुरक्षित" नहीं है, वह तथ्य यह है कि यह पोसिक्स द्वारा परिभाषित नहीं है। कृपया FUD को फैलाना बंद करें कि @OlivierDulac FUD का प्रसार कर रहा है।
lesmana

20

आप रीसेट कमांड का उपयोग करके देख सकते हैं ।


4
आपने एक अच्छा RTFM की सिफारिश करते हुए, मैन पेज को लिंक किया। आज आप मेरे हीरो हैं, धन्यवाद।
ल्यूक404 ० '28

यह कई यूनिक्स पर काम करता है ... लेकिन चेतावनी के कुछ शब्द: सावधान रहें: कुछ सिस्टम पर (यानी, अन्य ओएस, या शायद लिनक्स के कुछ अन्य वितरण?) यह एक सिस्टम रीसेट शुरू कर सकता है (मेरा मानना ​​है कि उदाहरण के लिए यह उस पर होता है) सोलारिस के कुछ संस्करण)। इसलिए सिस्टम को रीसेट करना, यानी रिबूट के लिए मजबूर करना (बिना उचित बंद किए) ... किसी भी कमांड के लिए, सावधान रहें। (यह अन्य आदेशों के लिए भी सही है: उदाहरण के लिए कुछ 'टार' न हटाएं "/" उपसर्ग करते हैं और इसलिए संवेदनशील फ़ाइलों को अधिलेखित कर सकते हैं, आदि) हमेशा सुनिश्चित करें कि आप जानते हैं कि आप जिस सिस्टम पर काम करने का इरादा रखते हैं, वह कमांड कैसे है उपयोग कर रहे हैं।)
ओलिवियर दुलक

1
@OlivierDulac; ओपी ने अपने प्रश्न को लिनेक्स को टैग किया, इसलिए उन्हें एक लीनसेंट्रिक उत्तर मिला, हालांकि यह बिना मुद्दे के सोलारिस सहित अन्य यूनिक्स प्रणालियों पर काम करेगा। मैंने 15 साल तक सोलारिस के साथ काम किया! आप यूजरलैंड रिसेट (1) कमांड के साथ SPARC ओपन बूट प्रोम रिसेट कमांड को भ्रमित कर रहे हैं। यदि आप ठीक संकेत पर रीसेट जारी करते हैं, तो आप भ्रष्ट टर्मिनल से पुनर्प्राप्त होने की संभावना नहीं रखते हैं।
user9517

@ लान: आह, यह वास्तव में (ओपन बूट प्रोम) हो सकता है। लेकिन फिर भी, इसका मतलब है कि कुछ वातावरण "रीसेट" मेजबान को रीसेट करने से जुड़ा हुआ है, इसलिए मैं "सुरक्षित" "स्टेंट साने" कमांड को सीखने / उपयोग करने के लिए लोगों को पसंद करता हूं (भले ही वे "ज्यादातर लिनक्स पर" हों) यह करता है, और "रीसेट" के रूप में अस्पष्ट नहीं है) ... यही कारण है कि मैं पाठकों को इस बारे में चेतावनी दे रहा हूं।
ओलिवियर दुलक

@OlivierDulac Solaris, CentOS, Ubuntu, OpenBSD सभी लिंक रीसेट करने के लिए परेशान हैं - कृपया अपने गलत सूचना के अलावा कुछ गलत जानकारी के लिए सबूत प्रदान करें। OBP एक होस्ट OS नहीं है इसलिए इसकी गणना नहीं होती है।
user9517

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