การตั้งค่า $ TERM สำหรับหน้าจอ gnu


12

ดังนั้นฉันจึงรวบรวมหน้าจอที่มี 256 สีทำงานบน Konsole ในโหมดสี 256 หากหน้าจอเริ่มต้น TERM ถูกตั้งค่าเป็น "หน้าจอ" ถ้าฉันส่งออก TERM ไปที่ screen-256color ทุกอย่างทำงานได้อย่างสวยงาม

ฉันมีสองคำถาม ข้อแรกคือเหตุผลที่หน้าจอตั้งค่า TERM เป็น "หน้าจอ" แทนที่จะเป็น "หน้าจอ 256 สี" เมื่อมันรองรับ อย่างที่สองคือถ้าฉันมีบรรทัดต่อไปนี้ในไฟล์. screenrc ของฉัน

term    screen-256color

ทำไมหน้าจอยังไม่ได้ตั้งค่าระยะของฉันได้อย่างไร

ข้อมูลเพิ่มเติม: ฉันกำลังใช้งานหน้าจอเวอร์ชัน 4.00.03jw4 (FAU) 2-May-06 บน Kubuntu Jaunty amd64


term screen-256color ทำงานที่นี่กับหน้าจอรุ่น 4.00.03jw4 (FAU) 2-May-06 สำหรับการทดสอบ Debian รายละเอียดเพิ่มเติมกรุณา
Derobert

ฉันดูเหมือนจะใช้หน้าจอรุ่นเดียวกันกับคุณ ฉันสงสัยว่ามันเป็นปัญหา terminfo หรือไม่?
Zxaos

ใช่ส่วนใหญ่มีแนวโน้ม terminfo คุณไม่ได้มีหน้าจอ 256color เพื่อให้หน้าจอได้อย่างถูกต้องปฏิเสธที่จะชุด terminfo ไปว่าตั้งแต่ปพลิเคชันที่คุณต้องการทำงานภายใต้มันจะล้มเหลว
njsf

ถ้าฉันตั้งค่าด้วยมือสิ่งที่ทำงานและ 'tput colors' สะท้อนจำนวนสีที่ถูกต้อง อย่างไรก็ตามฉันไม่ทราบเกี่ยวกับ terminfo เพียงพอที่จะแก้ไขปัญหานี้ ข้อเสนอแนะใด ๆ
Zxaos

หาก tput ใช้งานได้แสดงว่าคุณมีเร็กคอร์ด terminfo
Derobert

คำตอบ:


10

หน้าจอจะตั้งค่า TERM เป็น "หน้าจอ" ตามค่าเริ่มต้นเสมอ อย่างไรก็ตามคุณควรตระหนักว่าหน้าจอ TERM = ยังคงรองรับสี

ฉันทดสอบการเพิ่ม "term screen-256color" ใน ~ / .screenrc ของฉันและตั้งค่า TERM เป็น "screen-256color" สำหรับฉัน (Screen version 4.00.03 (FAU) 23-Oct-06) เป็นไปได้ไหมที่หน้าจอกำลังมองหาไฟล์. screenrc ผิดตำแหน่ง?

คุณสามารถลองเปิดหน้าจอได้ดังนี้:

screen -T screen-256color

ดูว่าใช้งานได้หรือไม่


การระบุเทอร์มินัลด้วยมือเปิดหน้าจอด้วยคำที่ถูกต้อง (เหตุผลที่ฉันสนใจคือ Vim ดูเหมือนจะไม่ต้องการเล่นดีสีฉลาดด้วยหน้าจอแทนหน้าจอ 256color ยกเว้นว่าฉันบังคับให้เข้าสู่โหมดสี 256 เช่นถ้าหน้าจอกำลังมองหา. screenrc ของฉันผิด สถานที่ที่ว่าฉันจะตรวจสอบว่า?
Zxaos

ขอบคุณคำแนะนำของคุณทำให้ฉันรู้ว่ามันเป็นโปรไฟล์หน้าจอที่ติดตั้งซึ่งยุ่งกับการแยกวิเคราะห์. screenrc ของฉัน
Zxaos

5

ปัญหานี้กลายเป็นโปรไฟล์หน้าจอที่ขัดแย้งกันซึ่งติดตั้งในเครื่องของฉัน แม้ว่าพวกเขาจะจัดหา. screenrc ในพื้นที่ของฉัน แต่พวกเขาทำให้ฉันไม่สามารถกำหนดคำศัพท์ได้ การปิดใช้งานการใช้โปรไฟล์ (ฉันเปลี่ยนชื่อ symlink ~ / .screen-profiles เป็นอย่างอื่น) ทำให้หน้าจออ่านคำตามที่ตั้งค่าในไฟล์. screenrc ของฉัน


0

เพิ่มใน '~ / .screenrc' ของคุณ:

attrcolor b ".I"
termcapinfo xterm 'Co # 256: AB = \ E [48; 5;% dm: AF = \ E [38; 5;% dm'
defbce "บน"

Nope ตัวแปร TERM ยังคงถูกตั้งค่าเป็น 'หน้าจอ' แม้ในขณะที่หน้าจอเริ่มต้นที่มีอยู่ใน. screenrc
Zxaos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.