किस $TERM
लिए है?
$TERM
चर कि टर्मिनल की क्षमताओं का लाभ लेने के एप्लिकेशन द्वारा उपयोग के लिए है।
उदाहरण के लिए, यदि कोई प्रोग्राम रंगीन टेक्स्ट प्रदर्शित करना चाहता है, तो उसे पहले यह पता लगाना चाहिए कि क्या टर्मिनल आप रंगीन टेक्स्ट का समर्थन कर रहे हैं, और यदि वह करता है, तो रंगीन टेक्स्ट कैसे करें।
जिस तरह से यह काम करता है कि सिस्टम ज्ञात टर्मिनलों और उनकी क्षमताओं का एक पुस्तकालय रखता है। अधिकांश प्रणालियों में यह है /usr/share/terminfo
(वहाँ भी समाप्त हो गया है, लेकिन यह विरासत किसी भी अधिक इस्तेमाल नहीं किया गया है)।
तो मान लें कि आपके पास एक प्रोग्राम है जो लाल पाठ प्रदर्शित करना चाहता है। यह मूल रूप से टर्मोफ़ लाइब्रेरी को एक कॉल करता है जो कहता है " मुझे बाइट्स का अनुक्रम दें जो मुझे xterm टर्मिनल के लिए लाल पाठ के लिए भेजना है "। फिर यह सिर्फ उन बाइट्स को लेता है और उन्हें प्रिंट करता है।
आप ऐसा करके खुद को आजमा सकते हैं tput setf 4; echo hi
। यह setf
टर्मोफ़ की क्षमता प्राप्त करेगा और इसे एक पैरामीटर पास करेगा 4
, जो कि आपके इच्छित रंग है।
सूक्ति टर्मिनल अपने बारे में क्यों है:
अब आपको बताएंगे कि आपके पास कुछ चमकदार नए टर्मिनल एमुलेटर हैं जो अभी जारी किए गए थे, और सिस्टम के टर्मऑफ़ लाइब्रेरी की अभी इसके लिए कोई परिभाषा नहीं है। जब आपका आवेदन कुछ करने के तरीके को देखने के लिए जाता है, तो यह विफल हो जाएगा क्योंकि टर्मिनल ज्ञात नहीं है।
जिस तरह से आपके टर्मिनल के चारों ओर हो जाता है वह झूठ बोलने के बारे में है कि यह कौन है। तो आपका सूक्ति टर्मिनल कह रहा है " मैं xterm हूँ "।
Xterm एक बहुत ही बुनियादी टर्मिनल है जो X11 की सुबह से आस-पास है, और इस तरह अधिकांश टर्मिनल एमुलेटर जो इसका समर्थन करते हैं। तो सूक्ति टर्मिनल ने कहा कि यह एक xterm है, यह टर्मोफ़ लाइब्रेरी में एक परिभाषा होने की अधिक संभावना है।
आपके टर्मिनल प्रकार के बारे में झूठ बोलने की स्थिति यह है कि टर्मिनल वास्तव में xterm करता है (उदाहरण के लिए, कई नए टर्मिनल 256 रंगों का समर्थन करते हैं, जबकि पुराने टर्मिनल केवल 16 का समर्थन करते हैं)। तो आपके पास एक ट्रेडऑफ़ है, अधिक सुविधाएँ प्राप्त करें, या अधिक संगतता है। अधिकांश टर्मिनल अधिक अनुकूलता का विकल्प चुनेंगे, और इस प्रकार खुद को विज्ञापन के रूप में चुनेंगे xterm
।
यदि आप इसे ओवरराइड करना चाहते हैं, तो कई टर्मिनल व्यवहार को कॉन्फ़िगर करने का कोई तरीका प्रदान करेंगे। लेकिन आप भी बस कर सकते हैं export TERM=gnome-terminal
।