Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a portable way to list supported terminal types on all *N*X systems?

If not, what's the best way to get this list on Solaris?

share|improve this question
up vote 8 down vote accepted

On most systems, you can look for files under /usr/share/terminfo. On some versions of Solaris that may be /usr/lib/terminfo instead. Some system will also have a termcap file, which may be in /etc. /usr/share, or occasionally /usr/share/misc; the terminal names in that are in lines matching ^[^\t].*|, and every name between |s is a valid terminal name. (Technically the first 2-character entry is also valid, but in practice unused; it's left over from a tty driver hack for 6th Research Edition UNIX. Some termcap parsers may also accept the long description, but many won't.).

The definitive answer for any system will be in termcap(5) and/or terminfo(5).

share|improve this answer

If you have the ncurses package installed, you can use toe(1). Beyond that, something like

ls /usr/share/lib/terminfo/?/*

should work, but the location of the database is not consistent across operating systems.

share|improve this answer

At first you need to get path of terminfo such as :

 #infocmp -D
/etc/terminfo
/lib/terminfo
/usr/share/terminfo

Then run :

find  /usr/share/terminfo/ -type -f  -print

NOTE: result was about 3000 lines.

It can help you to retrieve list of terminal types

share|improve this answer
    
What is -iname "*" useful for? I would have written \! -type d -print to remove directories. In all, on my machine, find $(infocmp -D) \! -type d -print | grep -v '/README$'. One can replace -print by -ls, which will show which are aliases, or replace \! -type d by -type f to not show aliases at all. – Law29 Mar 19 at 9:27
    
You can use : find /usr/share/terminfo -type f – PersianGulf Mar 20 at 0:31
    
Thank you for your attention!!! – PersianGulf Mar 20 at 0:31

supported terminal types on all *N*X systems?

No.

What do you mean by terminals? Do you mean dumb terminals/terminal emulators? Or remote display systems?

As others have mentioned, [n]curses/terminfo tries to provide a unified abstraction layer for talking to dumb terminals - but there is no good measure of the coverage provided by the abstraction layer. Other than xterm (which builds on vt100 emulation) these are mostly only available for accessing legacy systems. (putty is more or less an xterm emulator on top of a ssh client).

OTOH the X Window system is a far more sophisticated kettle of fish - and only has one protocol which has had very few changes over the years.

There are other remote display protocols: (NX is just a wrapper around X) including RDP (as favoured by Microsoft and Citrix) but AFAIK there are no *nix servers, and VNC - which runs on all sorts of hardware.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.