कंसोल में 256 रंग (tty)


11

मान लीजिए, मेरे पास एक प्रणाली है बिना X server। मैं केवल कंसोल से लॉग इन कर सकता हूं। ऐसा लगता है, डिफ़ॉल्ट रूप से लिनक्स कंसोल केवल 8 रंगों का समर्थन करता है:

# tput colors
8

क्या कंसोल में 256 रंगों का उपयोग करना संभव है, जैसा कि मैं एक टर्मिनल एमुलेटर (यानी टर्मिनेटर) में उपयोग करूंगा?

गुग्लिंग करते समय, इहावे ने कई समान प्रश्न (उनमें से कई 10 साल से अधिक पुराने) पाए, लेकिन कोई भी स्पष्ट जवाब नहीं दिया। कोई व्यक्ति फ्रेम-बफ़र का उपयोग करने का सुझाव देता है, कुछ अन्य लोग कर्नेल बूट विकल्पों के लिए TERM तर्क को जोड़ने का सुझाव देते हैं।

फिलहाल, मैं कर्नेल बूट पैरामीटर के रूप में केवल एक अतिरिक्त विकल्प देता हूं:

append="video=1280x720"

मेरा मानना ​​है कि वीडियो का प्रस्ताव केवल kernel mode settingसमर्थन के साथ आधुनिक गुठली में काम करता है , लेकिन मुझे इस बारे में निश्चित नहीं है।

क्या आधुनिक लिनक्स कंसोल (ट्टी) में 256 रंगों का उपयोग करना संभव है

कैसे?

मैं कर्नेल के साथ डेबियन व्हीज़ी का उपयोग कर रहा हूं 4.1

अपडेट करें:

@ मरमू के सुझाव के आधार पर, मैंने कोशिश की है fbterm। जबकि यह 256 रंगों के साथ काम करता है, इसमें बहुत बदसूरत / विकृत फोंट हैं। इसके अलावा, निचले-बाएँ कोने में लगातार ब्लिंकिंग कर्सर है, जो मुझे विचलित करने वाला लगता है।

क्या मैं fbterm / फ्रेमबर्फर के बिना कंसोल में 256 रंगों का उपयोग कर सकता हूं?

कंसोल में 8 कलर लिमिट कहां से आती है?


FbTerm जाहिरा तौर पर करता है: superuser.com/a/492078/334516 , askubuntu.com/a/57128/158442
muru

@ मुरु - सुझाव के लिए धन्यवाद। मैंने अपना प्रश्न अपडेट कर दिया है।
मार्टिन वेग्टर

बेशक, यदि आप लिनक्स कंसोल के लिए सेट TERMकरते हैं , तो आप xterm-256colorबस कीड़े के दूसरे डिब्बे खोल सकते हैं। यह लिंक एक संकेत देता है।
थॉमस डिके

पुन :: अद्यतन मैं "बदसूरत / विकृत" फ़ॉन्ट नहीं है, शायद इसलिए कि मैं एक अलग फ़ॉन्ट का उपयोग करता हूं। यह गलत हो सकता है $TERM( आपके शुरू होने fbterm से पहले होना चाहिए fbterm) या 32 बिट वीडियो मोड या दोनों नहीं। कंसोल कर्सर को शुरू करने से पहले बंद करें fbterm, और जब आप वहां हों, तब इसे चालू कर दें tputunix.stackexchange.com/questions/220330/…
पॉल Wratt

BTW मैंने fbtermस्रोत को भी देखा , और इसके xterm-256colorबजाय ( fbterm-xterm) का उपयोग करने के लिए एस्केप कोड अनुक्रमों को परिवर्तित करना सरल (लेकिन समय लेने वाला ) होगा। $TERMभी साथ inlined करने की आवश्यकता होगी terminfoऔर termcapनामकरण रिवाजों का ( fbterm-xterm-256colorया fbterm-256color"खांचे" में मौजूदा शेल स्क्रिप्ट में)। ध्यान दें कि 256 रंग विकल्प चालू करने के लिए एक स्विच के रूप में fbtermउपयोग किया TERM=fbtermजाता है, अन्यथा इसके 16 रंग (या शायद अंतर्निहित के समान)।
पॉल रट

जवाबों:


2

वास्तविक प्रश्न में इन दो वस्तुओं के होते हैं:

  • क्या मैं fbterm / फ्रेमबर्फर के बिना कंसोल में 256 रंगों का उपयोग कर सकता हूं?

  • कंसोल में 8 कलर लिमिट कहां से आती है?

पहले से: स्पष्ट रूप से नहीं। सुझाए गए सभी दृष्टिकोण fbterm का उपयोग करते हैं। दूसरे के लिए: यह टर्मिनल विवरण (उर्फ "टर्मो एंट्री") से आता है। लिनक्स कंसोल के लिए, TERMसेट के साथ linux, कहते हैं कि टर्मिनल 8 रंगों का समर्थन करता है। tput टर्मिनल डेटाबेस से इसकी जानकारी प्राप्त करता है।

उद्धृत किए गए थ्रेड में से एक आइटम कहता है कि fterterm xterm की तुलना में रंगों को सेट करने के लिए अलग-अलग एस्केप दृश्यों का उपयोग करता है। यदि ऐसा है (और Emacs उपयोगकर्ताओं को हार्डकोड चीजों के बारे में जानकारी दी गई है), तो fbterm के लिए उपयुक्त टर्मिनल प्रविष्टि नहीं है।


लिनक्स कर्नेल टर्मिनल एमुलेटर हाल के वर्षों में कुछ अतिरिक्त SGR समर्थन प्राप्त की है: github.com/torvalds/linux/commit/... github.com/torvalds/linux/commit/... github.com/torvalds/linux/commit/...
JdeBP

1
सुनिश्चित करें - आपने चेकइन टिप्पणी नहीं पढ़ी होगी: वीजीए कंसोल की हार्डवेयर सीमाओं के कारण, रंग 16 अग्रभूमि और 8 पृष्ठभूमि पर डाउनग्रेड किए गए हैं। Fbdev कंसोल में गुणवत्ता के नुकसान के बिना उनका समर्थन करना संभव होगा, लेकिन इसे जोड़ने पर काफी बड़ी मात्रा में कोड की आवश्यकता होगी। *
थॉमस डिकी

मैंने पहले ही टिप्पणी पढ़ ली थी, लंबे समय से, यही कारण है कि मैंने लिखा है कि इसे कुछ अतिरिक्त एसजीआर समर्थन मिला था । (-: लेकिन ध्यान दें कि इस प्रकार यह हमेशा एक 8 रंग की सीमा नहीं है जैसा कि आपने 2016 में यहां लिखा था।
JdeBP

यह अभी भी 8 एएनएसआई और 8 बोल्ड / उज्ज्वल एएनएसआई का एक ही पैलेट है, जैसा कि 25+ वर्षों से है (और ncurses में 2009 के बाद से लिनक्स -16 रंग प्रवेश किया गया है )।
थॉमस डिकी

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