อะไรคือความแตกต่างระหว่างตัวแปร $ TERM ต่างๆ


49

ฉันพยายาม vt100, VT102, VT220 และ xterm topโดยใช้

แต่ฉันไม่พบความแตกต่าง มีคำประเภทอื่นหรือไม่ ความแตกต่างของพวกเขาคืออะไร?

คำตอบ:


64

xtermควรจะเป็น superset ของvt220ในคำอื่น ๆ มันเหมือนvt220แต่มีคุณสมบัติมากขึ้น ตัวอย่างเช่นxtermมักจะรองรับสี แต่vt220ไม่รองรับ คุณสามารถทดสอบโดยการกดภายในztop

ในลักษณะเดียวกับที่มีคุณสมบัติมากกว่าvt220 vt100ยกตัวอย่างเช่นvt100ดูเหมือนจะไม่สนับสนุนและF11F12

เปรียบเทียบคุณสมบัติของพวกเขาและหลบหนีวนเวียนว่าระบบของคุณคิดว่าพวกเขามีโดยการทำงานเช่นinfocmp <term type 1> <term type 2>infocmp vt100 vt220

รายการทั้งหมดจะแตกต่างกันไปในแต่ละระบบ คุณควรจะสามารถที่จะได้รับรายการโดยใช้toe, หรือtoe /usr/share/terminfo find ${TERMINFO:-/usr/share/terminfo}หากไม่มีงานเหล่านั้นคุณสามารถดูncurses 'terminfo.srcซึ่งเป็นที่ที่การกระจายส่วนใหญ่ได้รับข้อมูลจากสมัยนี้

แต่ถ้าเทอร์มินัลของคุณมีลักษณะเช่นนี้หรือสิ่งนี้มีเพียงบางส่วนเท่านั้นที่คุณอาจต้องการใช้:

  • xterm-color - หากคุณใช้ระบบเก่าและสีไม่ทำงาน
  • putty, konsole, Eterm, rxvt, gnomeฯลฯ - ถ้าคุณใช้โปรแกรมจำลอง XTerm และบางส่วนของปุ่มฟังก์ชั่น Backspace ลบ, Home และ End ทำงานไม่ถูกต้อง
  • screen - หากทำงานในหน้าจอ GNU (หรือ tmux)
  • linux- เมื่อเข้าสู่ระบบผ่านคอนโซล Linux (เช่นCtrl+Alt+F1)
  • dumb - เมื่อทุกอย่างพัง

1
นั่นคือรายการทั้งหมดของประเภทอาคาร? ขอบคุณ ~
sam

6
@sam ไม่นี่ไม่ใช่รายการทั้งหมด เหล่านี้เป็นเรื่องธรรมดา ทุกคนสามารถประดิษฐ์เทอร์มินัลชนิดใหม่ได้ตามหลักการ คุณสามารถดูประเภทเทอร์มินัลที่มีอยู่ในระบบของคุณโดยการเรียกใช้ls /lib/terminfo/* /usr/share/terminfo/*(เหล่านี้คือพา ธ บนเดเบียนการกระจายอื่นอาจมีเส้นทางแตกต่างกันเล็กน้อย) ส่วนใหญ่จะแปลกใหม่อย่างมาก
Gilles 'หยุดชั่วร้าย'

2
สำหรับคำอธิบายของรหัสดูได้ที่: docs.intersystems.com/ens20152/csp/docbook/ ......
A. Binzxxxxxx

1
vt220รองรับสี! ฉันมีสีส้มกับดำ! ;-) ขออภัย
Kusalananda

@ Kusalananda คนแรกที่มีสีคือ vt241 ... vt220 ทั้งหมดที่คุณสามารถหาได้คือสีขาวสีเขียวหรือสีส้มขึ้นอยู่กับสารเรืองแสงที่ใช้ ...
ingroxd

10

เรียกใช้ infocmp โดยไม่มีข้อโต้แย้งใด ๆ ที่จะทำให้คุณมีทางเลือก xterm ทั้งหมด:

$> infocmp
xterm|xterm-debian|X11 terminal emulator,
    am, bce, km, mc5i, mir, msgr, npc, xenl,
    colors#8, cols#80, it#8, lines#24, pairs#64,
    ...

สำหรับข้อมูลเพิ่มเติมตรวจสอบ

$> ls /lib/terminfo/x/
xterm         xterm-256color  xterm-color     xterm-debian    xterm-mono
xterm-r5      xterm-r6        xterm-vt220     xterm-xfree86

Mac OS มีไดเรกทอรี terminfo หรือไม่?
zx1986

5
คำตอบนี้ไม่ถูกต้อง ทำงานinfocmpโดยไม่โต้แย้งจะช่วยให้คุณตั้งค่าสำหรับสถานีที่ใช้งานอยู่ เพื่อแสดงรายการเทอร์มินัลอื่นที่คุณใช้toe
Steven Penny

1
@ zx1986 มี/usr/share/terminfoไดเรกทอรีอยู่บน macOS
นายเทาร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.