web-dev-qa-db-ja.com

使用可能な端末定義を確認するにはどうすればよいですか?

質問の大部分はタイトルにありますが、少し詳しく説明します。

ほとんどのLinuxではfind /usr/share/terminfo -type f。しかし、Solarisマシンでは近くにあります。このディレクトリは存在しません。

端末のリストを反復処理して、次のようなことを行うことができます。

for TERM in xterm xtermc xterm-color xterm-256color screen rxvt
do
    tput cols >/dev/null 2>/dev/null && echo "$TERM available"
done

しかし、それは遅いです。 tputが使用する端末定義へのパスを検出し、自分で「検索」を実行するオプションはありますか?

16
user14382

Terminfoをサポートする「任意の」システム上のinfocmpプログラムは、現在の端末の端末の説明を見つけるパス名を表示します。例(この場合はAIX):

$ 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,
        ...

Ncursesの場合、複数のterminfoデータベースを持つことができ、エントリが個別のファイルである必要がないため、より複雑になります。エントリごとに1つのデータベースと1つのファイルがdefaultであり、Unixシステムとの互換性があります。

tic および infocmp-Dオプション( late in 2011 を追加)は、追加情報を表示する1つの方法です。たとえば、私のDebian7では、次のように表示されます。

$ infocmp6 -D
/users/tom/.terminfo
/usr/local/ncurses/share/terminfo
/usr/share/terminfo
/lib/terminfo

私のFreeBSD 10マシンでは、ハッシュデータベースを使用しています。

$ infocmp -D
/usr/local/ncurses/share/terminfo.db
/usr/local/share/misc/terminfo
/etc/termcap

あるいは、 toe プログラムを使用して、使用可能なすべての端末エントリのレポートを生成することもできます。 -sおよび-aオプションを使用すると、物事を組み合わせることができます( conflict プログラムなど):

--> /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
...
12
Thomas Dickey

Zyxel NSA310と同じ問題に直面していました

私のために働いた解決策は

export TERM=xterm

ここでアドバイスが与えられました:

https://better-coding.com/solved-xterm-256color-unknown-terminal-type/

0
j4w