सामान्य तौर पर, वर्तमान रंगों को प्राप्त करना असंभव है। एक टर्मिनल का नियंत्रण अनुक्रम प्रसंस्करण टर्मिनल के अंदर "अंदर" होता है, जहां भी ऐसा होता है। टर्मिनल एमुलेटर जैसे कि xterm
या एक ऑपरेटिंग सिस्टम कर्नेल में बनाया गया है जो कर्नेल वर्चुअल टर्मिनल प्रदान करता है, एमुलेटर की आंतरिक स्थिति, जिसमें वर्तमान "ग्राफिक रेंडर" (अर्थात रंग और विशेषताएँ) की धारणा शामिल है, मशीन पर है खुद और सैद्धांतिक रूप से सुलभ है। लेकिन एक वास्तविक टर्मिनल के लिए यह जानकारी एक सीरियल लिंक के माध्यम से जुड़े शारीरिक रूप से अलग मशीन पर कुछ रैम स्थान में है।
उस ने कहा, कुछ टर्मिनलों में उनके टर्मिनल प्रोटोकॉल के हिस्से के रूप में इस तरह की जानकारी को पढ़ने के लिए एक तंत्र शामिल है, जो उस धारावाहिक लिंक पर भेजा जाता है। वे नियंत्रण अनुक्रम प्रदान करते हैं जो कि एक कार्यक्रम टर्मिनल को भेज सकता है, जिससे यह टर्मिनल इनपुट के रूप में अपनी आंतरिक स्थिति के बारे में जानकारी वापस भेज सकता है । टर्मिनल एमुलेटर के प्रति प्रतिक्रिया देने mikeserv
वाले नियंत्रण दृश्यों को आपको दिखाया xterm
है। लेकिन ये विशिष्ट हैं xterm
। लिनक्स कर्नेल और विभिन्न BSD कर्नेल में अंतर्निहित टर्मिनल एमुलेटर विभिन्न टर्मिनल प्रकार हैं, उदाहरण के लिए, और इस तरह के किसी भी नियंत्रण अनुक्रम को लागू नहीं करते हैं। वही वास्तविक टर्मिनलों के पूरे परिवारों के लिए जाता है।
DEC VT525 टर्मिनल एक रीड-आउट तंत्र को लागू करते हैं, लेकिन नियंत्रण अनुक्रमों का एक सेट होता है जो उन लोगों के लिए कोई संबंध नहीं रखता जिनके द्वारा उपयोग किया जाता है xterm
। एक वर्तमान ग्राफिक प्रतिपादन का अनुरोध करने के लिए DECRQSS (अनुरोध चयन या सेटिंग) अनुक्रम भेजता है, और DECRPSS (रिपोर्ट चयन या सेटिंग) भेजकर टर्मिनल जवाब देता है। विशेष रूप से:
- होस्ट भेजता है: DCS
$
q
m
ST (सेटिंग के रूप में SGR के नियंत्रण समारोह भाग के साथ DECRQSS)
- टर्मिनल उत्तर: DCS
0
$
r
0
;
3
3
;
4
4
m
ST (एक SGR नियंत्रण अनुक्रम के मापदंडों और नियंत्रण समारोह के साथ DECRPSS जो वर्तमान अग्रभूमि और पृष्ठभूमि रंग सेट करता है)
बेशक, आपके प्रश्न को पढ़ने में सावधानी बरतने से पता चलता है कि आप उन यूरोपीय मुद्रा प्रणालियों में चॉकलेट से ढके केले को फिर से लहरा रहे हैं। आप वास्तव में क्या करने की कोशिश कर रहे हैं, जिसके लिए आपने एक समाधान चुना है और फिर पूछा कि उस समाधान का हिस्सा कैसे करना है, पिछली स्थिति को संरक्षित करना है जब तक कि आप कुछ कोलोरिज़्ड आउटपुट लिखते हैं। न केवल ऐसा करने के लिए एक डीईसी वीटी नियंत्रण अनुक्रम है, इसके लिए एक एससीओ कंसोल टर्मिनल अनुक्रम है जो कि द्वारा मान्यता प्राप्त है xterm
और विभिन्न कर्नेल में निर्मित टर्मिनल एमुलेटर, और एक टर्मकैप / टर्मो एंट्री है जो आपको बताती है कि वे आपके टर्मिनल के लिए क्या हैं।
समाप्त प्रविष्टियाँ हैं sc
और rc
। Termfo प्रविष्टियाँ हैं save_cursor
और restore_cursor
। प्रभाव के रूप में नाम कुछ भ्रामक हैं (हालांकि वे एक चेतावनी के रूप में कार्य करते हैं कि आप उस चीज़ पर भरोसा कर रहे हैं जो डी जुरे के बजाय डी फैक्टो है )। वास्तविक DECSC, DECRC, SCOSC, और SCORC नियंत्रण दृश्यों को सहेजते हैं और साथ ही साथ वर्तमान ग्राफिक प्रतिपादन को पुनर्स्थापित करते हैं।
यह देखते हुए कि आपने जिस लेख को इंगित किया है, वह सभी शेल स्क्रिप्ट्स से नियंत्रण अनुक्रम उत्पन्न करने के बारे में है, जिस कमांड को अब आप देख रहे हैंtput
।
आगे की पढाई
echotc Co
याechoti colors
, लेकिन वहाँ बस कोई चर जो भंडार वर्तमान रंग कोड परिभाषा है।