How can I check which terminal definitions are available?
The infocmp program on "any" system supporting terminfo happens to show the pathname where it finds the terminal description for the current terminal. For example (AIX in this case):
$ infocmp vt100
# Reconstructed via infocmp from file: /usr/share/lib/terminfo/v/vt100
vt100|vt100-am|Digital VT100,
am, msgr, xenl, xon,
cols#80, it#8, lines#24, vt#3,
...
For ncurses, it is more complicated, because you can have multiple terminfo databases, and the entries need not be individual files. A single database and one file per entry is the default, for compatibility with Unix systems.
The -D
option for tic and infocmp (added late in 2011) is one way to show the extra information. For example, on my Debian7, I can see this:
$ infocmp6 -D
/users/tom/.terminfo
/usr/local/ncurses/share/terminfo
/usr/share/terminfo
/lib/terminfo
On my FreeBSD 10 machine, I use hashed databases:
$ infocmp -D
/usr/local/ncurses/share/terminfo.db
/usr/local/share/misc/terminfo
/etc/termcap
Alternatively, one can use the toe
program to produce a report of all of the available terminal entries. Using the -s
and -a
options lets it combine things (like the conflict
program):
--> /users/tom/.terminfo
----> /usr/local/ncurses/share/terminfo
------> /usr/share/terminfo
--------> /lib/terminfo
--*-+---: 9term Plan9 terminal emulator for X
--*---*-: Eterm Eterm with xterm-style color support (X Window System)
--*-*---: Eterm-256color Eterm with xterm 256-colors
--*-*---: Eterm-88color Eterm with 88 colors
--*-+---: MtxOrb Generic Matrix Orbital LCD display
--*-+---: MtxOrb162 16x2 Matrix Orbital LCD display
--*-+---: MtxOrb204 20x4 Matrix Orbital LCD display
--*-+---: NCR260VT300WPP NCR 2900_260 vt300 wide mode pc+ kybd
--*-+---: aaa ann arbor ambassador/30 lines
--*-+---: aaa+dec ann arbor ambassador in dec vt100 mode
--*-+---: aaa+rv ann arbor ambassador in reverse video
...
On Solaris 10 you can do:
find /usr/share/lib/terminfo -type f -print
You should be able to do something like:
find /usr -type d -name terminfo -print
to find where the directory is located.
You can also read to find the exact path:
man terminfo