क्या $ TERM वैरिएबल को मैन्युअल रूप से सेट करना सही है?


10

मैंने अपनी फ़ाइल $TERMमें लाइन जोड़ने वाला चर सेट किया । जब मैंने ऐसा किया था तो मुझे नहीं पता था कि वास्तव में इसका क्या मतलब है (मैं लुक बदलने के लिए एक ऑनलाइन गाइड का पालन कर रहा था ), लेकिन अब मैंने थोड़ा और पढ़ा है और चिंतित हूं कि मैंने जो किया वह गलत था। विशेष रूप से मैं जानना चाहता हूं कि चर को मैन्युअल रूप से सेट करने में कुछ बुरा है , और यदि यह है, तो मैं अपनी गलती को कैसे वापस कर सकता हूं।XTerm*termName: xterm-256color.Xresourcesxterm$TERM

यदि आपको जरूरत है, तो मैं Fedora 20 को चला रहा हूं xterm


यह एक सामान्य प्रोग्रामिंग प्रश्न है। आप क्या कर रहे हैं पर निर्भर करता है। यदि आप एक डेस्कटॉप वातावरण और दूरस्थ कनेक्शन की अनुपस्थिति के लिए ले जा सकते हैं, तो ठीक हो सकता है। यदि नहीं, तो त्रुटि जाँच के साथ सभी संभावित मामलों को संसाधित किया जाना है।
1575 पर 41754

@uprego क्या आप "दूरस्थ कनेक्शन की अनुपस्थिति" पर विस्तार से बता सकते हैं?
संतरु 72२

आप 256 रंग विकल्प के साथ एक स्थायी tmux सत्र का उपयोग कर सकते हैं , लेकिन यदि आप इसे ssh सत्र से संलग्न करते हैं, तो संभावित परिदृश्य सूची में बहुत अधिक व्यापक हो जाते हैं। प्रत्येक प्रोग्रामर की क्षमता के आधार पर प्रत्येक एप्लिकेशन पर वांछनीय प्रभाव होगा या नहीं। जैसा कि @goldilocks बताते हैं कि उनका जवाब खतरनाक नहीं होना चाहिए, लेकिन "नहीं होना चाहिए" और "नहीं हो सकता" के बीच अंतर है।
15:75 पर 41754

@uprego: वास्तविक रूप से, मुझे "नहीं कर सकता" कहा जाना चाहिए, जब तक कि आप अवैध उत्पादन को "खतरनाक" नहीं मानते।
गोल्डीलॉक्स

जवाबों:


7

अधिकांश भाग के लिए, आपको TERMमैन्युअल रूप से सेट नहीं होना चाहिए । चर हमेशा स्वचालित रूप से सेट किया जाता है, और केवल उन परिस्थितियों का एक संकीर्ण सेट होता है जहां डिफ़ॉल्ट मान गलत है।

के मान TERMकी जरूरत है प्रणाली के दशक में संदर्भित किया जा करने के लिए terminfo डेटाबेस (या कुछ पुराने जमाने प्रणाली, में के लिए termcap डेटाबेस)। Terminfo और Termcap मानचित्र टर्मिनल प्रकारों का उपयोग उन टर्मिनल क्षमताओं के विवरण के लिए करते हैं जो एप्लिकेशन उपयोग करते हैं। का मान TERMटर्मिनल प्रकार है।

मुख्य कारण कि आपको कभी-कभी बदलने की आवश्यकता हो सकती TERMहै यदि आप दूरस्थ रूप से लॉग इन करते हैं, जब स्थानीय मशीन और रिमोट मशीन में अलग-अलग टर्मिनल डेटाबेस होते हैं।

एक अन्य कारण, जो पिछले एक से संबंधित है, वह यह है कि कभी-कभी टर्मिनल के लिए कई समान प्रविष्टियां होती हैं, जिसमें थोड़ी भिन्न क्षमताएं होती हैं। यह तब होता है जब ज्यादातर एक नया टर्मिनल आता है जो एक मौजूदा टर्मिनल के साथ संगत है, लेकिन इसमें अधिक विशेषताएं हैं। फिर आपको पारंपरिक नाम का उपयोग करने के बीच एक विकल्प मिलता है, जिसे सभी मशीनें समझती हैं, लेकिन जो केवल पारंपरिक सुविधाओं या नए नाम का विज्ञापन करता है, जो सभी नई सुविधाओं का विज्ञापन करता है, लेकिन कुछ मशीनें समझ में नहीं आती हैं।

इसका एक उदाहरण xterm 16 रंगों बनाम xterm 256 रंगों के साथ है। एक पारंपरिक xterm केवल 16 रंगों का समर्थन करता है, इसलिए xtermटर्मिनल डेटाबेस निर्दिष्ट करता है। xtermप्रविष्टि बदलने से नए xterm संस्करणों के उपयोगकर्ता खुश होंगे, लेकिन पुराने xterm संस्करणों के उपयोगकर्ताओं के कॉन्फ़िगरेशन को तोड़ देंगे जो दूरस्थ रूप से लॉग इन करते हैं। एक नए नाम पर स्विच करना -  xterm-256color- जब भी उपलब्ध हो, नई क्षमताओं को प्रदान करता है, लेकिन अगर आप दूरस्थ रूप से पुराने टर्मिनल डेटाबेस वाली मशीनों में लॉग इन करते हैं, तो मान्यता प्राप्त नहीं है। क्योंकि ऐसा कोई समाधान नहीं है जो हर किसी को संतुष्ट कर सके, आपको एक विकल्प मिलता है: या तो साथ रहें xtermऔर 256 रंगों को प्राप्त न करें, या उपयोग xterm-256colorन करें जो कि सुदूर मशीनों में लॉग इन करने पर काम नहीं करता है जो इसका समर्थन नहीं करते हैं।

डिफ़ॉल्ट मान को छोड़ना xtermऔर termNameसंसाधन को सेट करना xterm-256color(जिसके कारण पर्यावरण चर TERMको उसी मान पर सेट किया जाता है) इस प्रकार दोनों समझदार विकल्प हैं। स्थापना TERMमनमाना मान नहीं होगा काम है, लेकिन दोनों के लिए xtermऔर xterm-256colorमेकअप भावना।


3

मैंने XTerm * termName: xterm-256color को मेरी .Xresources फ़ाइल में जोड़ते हुए $ TERM चर सेट किया।

यह ठीक है, जब तक आप जानते हैं कि आपने क्या किया है; अधिकांश GUI टर्मिनल इसका समर्थन करते हैं।

आप इसे कमांड लाइन या स्क्रिप्ट में भी सेट कर सकते हैं

export TERM=xterm-256color

यह केवल उस टर्मिनल या उसके बाद के बच्चों पर लागू होता है।

एक पोर्टेबल डिफ़ॉल्ट बस होगा xterm, जिसका अर्थ है 16 रंग समर्थन। यदि आपके पास 256-रंग का सेट है और आपका टर्मिनल इसका समर्थन नहीं करता है, तो 256 रंग के टीयूआई ऐप चलाने से सिर्फ अजीब लगेगा; आप शायद अभी नोटिस करेंगे। लेकिन यह खतरनाक नहीं होना चाहिए।


तो मेरे XTerm*termName: xtermबजाय सेटिंग XTerm*termName: xterm-256colorठीक होनी चाहिए, है ना?
संतरु 72२

यदि आप यही चाहते हैं, तो कुछ भी निर्धारित न करें; xtermके लिए डिफ़ॉल्ट है xterm;) लेकिन इसका मतलब है 16 रंग। उपयोग xterm-256colorकरने का प्रमुख बिंदु उन अनुप्रयोगों को बताना है जो टर्मिनल 256 रंगों का समर्थन करता है । यदि आप ऐसा नहीं करते हैं, तो वे 16 रंगों को मानेंगे।
गोल्डीलॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.