บทนำ
คำถามของฉันเกิดขึ้นจากความจำเป็นของการทำความเข้าใจว่าทำไมฉันมีตอนนี้ (หลังจากการทดลองหลาย) เทอร์มิและtmuxสนับสนุน 256 สีและtput colorsบอกฉันมีเพียง 8 ของพวกเขา
พื้นหลัง
ให้เริ่มต้นจากจุดเริ่มต้น.
ฉันใช้กล่องUbuntu , Guake , tmux , Vimและฉันชอบธีมของโซลาริเซชั่น พวกเขาดูน่ากลัวมากดังนั้นฉันตัดสินใจเปิดใช้งานการสนับสนุน 256 สีและเล่นไปรอบ ๆ
ลองมาดูสิ่งที่เกิดขึ้นสำหรับฉันเทอร์มิ tput colorsบอกว่ามี 8 สี โดยส่วนตัวผมตั้งไว้ที่สีม่วงด้านซ้ายและแน่นอนทางด้านขวาเรามีสีฟ้า 2 เฉด กล่าวว่า$TERM xterm(มีสีlsฉันeval นี้ในของฉัน.bashrc.)

Vimยังดูดีแม้ว่าฉันจะเรียกมันด้วย256ค่าสถานะในสภาพแวดล้อมที่ไม่รองรับ256 สี
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
ผู้ชายเพียงคนเดียวที่บ่นเกี่ยวกับพื้นที่สีลดลงเป็นtmux การโทรtmuxให้ผลลัพธ์ที่คาดหวังไว้ "ผิด"

แต่เรียกร้องtmuxกับ-2ธงทำให้ทุกอย่างทำงานได้ดีอย่างน่าอัศจรรย์

ตอนนี้สิ่งเดียวที่ฉันเข้าใจ-2คือเทียบเท่าexport TERM=screen-256color( แหล่งที่มา )
Guakeทำงาน analogously เพื่อเทอร์และทั้งสองของพวกเขาตอบคำถามที่xtermecho $TERM
คำถาม
โดยพื้นฐานแล้วไม่มีใครเข้าใจว่าทำไมทุกอย่างถึงทำงานไม่ได้
- ฉันเป็นคนซาดิสต์ที่บ่นว่าทำไมสิ่งต่าง ๆ ถึงได้ผล อาจจะ.
- มีเหตุผลที่ดีกว่านี้ไหม แน่นอน: ฉันต้องการแก้ไขลักษณะที่ปรากฏของกล่อง Ubuntu อื่น ๆ ในสำนักงานของฉันและฉันต้องการที่จะเข้าใจว่าทำไมสิ่งต่าง ๆ ทำงานหรือไม่ทำงาน
การทดลองเพิ่มเติม
การเรียกใช้สคริปต์นี้ (แก้ไขเล็กน้อย) ที่ฉันxtermให้ผลลัพธ์ต่อไปนี้: 256 สี แต่มีเพียง 16 เท่านั้นที่แสดงอย่างถูกต้อง

จากนั้นการเปลี่ยนโปรไฟล์ของเทอร์มินัล 16 สีเหล่านี้ก็เปลี่ยนไปด้วย

มีการทดสอบเพิ่มเติมดังนี้
จากซ้ายไปขวาบนลงล่างเรามีsolarizedชุดรูปแบบสี, dircolor ansi-darkและ256darkแล้ว (เริ่มต้นTango ) โทนสี, และdircolor ansi-dark256dark

สังเกต : ในทฤษฎีdircolor ansi-darkบนsolarizeddircolor 256darkโทนสีที่ควรจะมีการแข่งขันอย่างใกล้ชิด สิ่งนี้ไม่ได้เกิดขึ้นอย่างชัดเจนสำหรับไฟล์ที่ระบุในรายการ แต่นี้ค่อนข้างเกิดขึ้นเมื่ออยู่ในไดเรกทอรีการทำงานมีโฟลเดอร์ , ไฟล์ข้อความและการเชื่อมโยงสัญลักษณ์ สรุป : ไม่มีความสนใจเท่าที่จ่ายในขณะที่เข้ารหัส256darkสี
ข้อสรุปเบื้องต้น
xtermสนับสนุน 256 สีแม้สิ่งที่tput colorsกล่าวว่า โปรแกรมสามารถอ้างถึงansiจานสี (ปรับแต่งโดยผู้ใช้) หรือกำหนดสีของพวกเขาเลือกจากทั้งหมด 256 สี
tput colorsเป็นการทดสอบที่ไม่น่าเชื่อถือ คุณช่วยตรวจสอบข้อสรุปเบื้องต้นของฉันได้ไหม
tput colorsสามารถคืนค่าได้หนึ่งค่าและในเทอร์มินัลที่รองรับ 2,8,16,88 หรือ 256 สีใด ๆ จะส่งคืนเฉพาะค่าแรก (8 ในกรณีของคุณ) ในการรับค่าที่แท้จริงใช้สคริปต์จากความคิดเห็นล่าสุดของฉัน อะไรที่ส่งคืน?
โปรดคลิกขวา / ดูภาพเพื่อตรวจสอบที่ความละเอียดเต็ม
แผนที่อ้างอิงdircolors "เสื่อมโทรม" solarized