นี่คือปัญหา: ฉันต้องการที่จะแยกแยะว่าเทอร์มินัลของฉันมีความสามารถในการยูนิโค้ดได้หรือไม่เพื่อที่จะใช้ตัวละครบางตัวหรือไม่ก็เหมือนกับที่มองไม่เห็นซึ่งบางครั้งใช้สีและขีดเส้นใต้
แรงบันดาลใจเกิดขึ้นเพราะเทอร์มินัลเสมือนชนิดใดก็ได้ที่ฉันได้รับแบบอักษรที่ดี แต่ฉันเข้าใจว่าคอนโซล Linux พื้นฐานมีชุดอักขระเป็น 256 หรือ 512 สัญลักษณ์พร้อมกันดังนั้นคุณจึงไม่สามารถคาดหวังการสนับสนุนฟอนต์เต็มรูปแบบได้
ตอนแรกฉันคิดว่าฉันสามารถใช้$TERM
หรือ tty ได้ แต่นี่ก็เป็นเรื่องที่จับได้: ฉันใช้ byobu ด้วยเช่นกันดังนั้นจึง$TERM
เป็น "screen.linux" เสมอ ผลลัพธ์ของ tty ก็ไม่ได้บอกอะไรมาก: /dev/pts/<some number>
ทั้งใน "ของจริง" และเงื่อนไขเสมือน
$BYOBU_TTY
ก็ไม่มีประโยชน์เช่นกันเพราะอาจเป็นเช่นนั้น/dev/tty1
และเมื่อเปิดเซสชันในCtrl+ Alt+ F1อักขระจะไม่แสดง แต่เมื่อแนบกับเซสชันเดียวกันจากเทอม X บางรายการพวกเขาจะแสดงอย่างถูกต้องและยังคง$BYOBU_TTY
ไม่เปลี่ยนแปลง นอกจากนี้ฉันต้องการที่จะตรวจจับสิ่งนี้โดยไม่คิดว่า byobu อยู่ที่นั่นหรือไม่
นอกจากนี้โลแคลจะแสดงในทุกกรณี en_US.UTF-8
แต่อย่างใดสายตา (เพื่อชื่อเครื่องมือโดยเฉพาะอย่างยิ่งฉันเห็นการตรวจสอบนี้) แม้ใน byobu ใช้ผลลัพธ์ที่แตกต่างกันขึ้นอยู่กับ terminal ที่ฉันแนบกับเซสชัน byobu
ฉันมีปัญหากับ google เนื่องจากเทอร์มินัลและ tty ดูเหมือนข้อความค้นหาทั่วไปเกินไป อย่างมากฉันมาถึงวิธีการแก้ปัญหาที่แนะนำ$TERM
หรือ tty