परिचय
मेरा प्रश्न यह समझने की आवश्यकता से उत्पन्न होता है कि मेरे पास अब (कई परीक्षणों के बाद) टर्मिनल और tmux 256 रंगों का समर्थन करने और tput colors
मुझे बताने के कारण उनमें से केवल 8 हैं।
पृष्ठभूमि
हमें शुरू से करना चाहिए।
मैं एक उबंटू बॉक्स, गुआक , tmux , विम का उपयोग कर रहा हूं और मुझे थीम सोलराइज्ड पसंद है । वे बहुत भयानक लग रहे थे, इसलिए मैंने 256 रंगों के समर्थन को सक्षम करने और थोड़ा सा खेलने का फैसला किया।
आइए देखें कि मेरे टर्मिनल के लिए क्या होता है । tput colors
कहते हैं कि 8 रंग हैं। मैंने व्यक्तिगत रूप से उन्हें बैंगनी, बाईं ओर और निश्चित रूप से दाईं ओर नीले रंग के 2 अलग-अलग रंगों में सेट किया है। $TERM
कहता है xterm
। (रंगी होनी ls
मैं eval
इस मेरे में .bashrc
।)
विम भी ठीक दिखता है, इस तथ्य के बावजूद कि मैं इसे 256
ध्वज के साथ एक ऐसे वातावरण में कहता हूं जहां 256 रंगों का समर्थन नहीं किया जाता है।
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
कम रंग की जगह के बारे में शिकायत करने वाला एकमात्र लड़का tmux है । कॉलिंग tmux
"गलत" अपेक्षित परिणाम प्रदान करता है।
लेकिन झंडे के tmux
साथ कॉल करना -2
सब कुछ ठीक काम करता है, जादुई रूप से ।
अब केवल एक चीज जो मुझे समझ में आ रही है, वह -2
है export TERM=screen-256color
( स्रोत )।
गुएक टर्मिनल के अनुरूप व्यवहार करते हैं और दोनों xterm
प्रश्न का उत्तर देते हैं echo $TERM
।
सवाल
असल में, क्या किसी को भी समझ में आता है कि सब कुछ काम क्यों नहीं करना चाहिए?
- क्या मैं दुखी हूं कि मुझे शिकायत है कि चीजें काम क्यों करती हैं? शायद।
- क्या कोई बेहतर कारण है? ज़रूर: मैं अपने कार्यालय में अन्य उबंटू बक्से की उपस्थिति को ठीक करना चाहता हूं, और मैं यह समझना चाहता हूं कि चीजें क्यों काम करती हैं या काम नहीं करती हैं।
अतिरिक्त प्रयोग
मेरे पर इस स्क्रिप्ट (थोड़ा संशोधित) को चलाने xterm
से निम्नलिखित परिणाम मिलता है: 256 रंग, लेकिन केवल 16 सही ढंग से प्रदर्शित किए जाते हैं।
फिर, टर्मिनल की प्रोफाइल को बदलना, ये 16 रंग भी बदलते हैं।
अधिक परीक्षण निम्नलिखित हैं।
बाएं से दाएं, ऊपर से नीचे, हमारे पास सोलराइज्ड कलर थीम है, dircolor
ansi-dark
और 256dark
फिर डिफॉल्ट ( टैंगो ) कलर स्कीम, dircolor
ansi-dark
और 256dark
।
अवलोकन : सिद्धांत रूप में dircolor
ansi-dark
पर Solarized रंग योजना मैच बारीकी से करना चाहिए था dircolor
256dark
। यह विशिष्ट सूचीबद्ध फ़ाइलों के लिए स्पष्ट रूप से नहीं हो रहा है। इसके बजाय, ऐसा तब होता है जब वर्किंग डायरेक्टरी में फोल्डर , टेक्स्ट फाइल्स और सिम्बोलिक लिंक होते हैं । निष्कर्ष : 256dark
रंगों को एन्कोडिंग करते समय उतना ध्यान नहीं दिया गया ।
प्रारंभिक निष्कर्ष
xterm
256 रंगों का समर्थन करता है, इसके बावजूद कि क्या tput colors
कहता है। कार्यक्रम ansi
पैलेट को संदर्भित कर सकते हैं (उपयोगकर्ता द्वारा अनुकूलन) या उनके रंगों को परिभाषित कर सकते हैं, कुल 256 रंगों से चुन सकते हैं।
tput colors
यह एक अविश्वसनीय परीक्षण है। क्या आप मेरे प्रारंभिक निष्कर्षों की जांच कर सकते हैं ?
tput colors
केवल एक मान लौटाया जा सकता है और ऐसे टर्मिनलों में जो 2,8,16,88 या 256 रंगों में से किसी का भी समर्थन करते हैं, केवल पहला मान (आपके मामले में 8) लौटाया जाता है। सही मूल्य प्राप्त करने के लिए मेरी पिछली टिप्पणी से स्क्रिप्ट का उपयोग करें। वह क्या लौटाता है?