3
ตรวจจับว่า Unicode เทอร์มินัลของฉันรองรับเท่าไรผ่านหน้าจอ
นี่คือปัญหา: ฉันต้องการที่จะแยกแยะว่าเทอร์มินัลของฉันมีความสามารถในการยูนิโค้ดได้หรือไม่เพื่อที่จะใช้ตัวละครบางตัวหรือไม่ก็เหมือนกับที่มองไม่เห็นซึ่งบางครั้งใช้สีและขีดเส้นใต้ แรงบันดาลใจเกิดขึ้นเพราะเทอร์มินัลเสมือนชนิดใดก็ได้ที่ฉันได้รับแบบอักษรที่ดี แต่ฉันเข้าใจว่าคอนโซล 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 ดูเหมือนข้อความค้นหาทั่วไปเกินไป …