Linux に肥大化した/モノリシックなパッケージが存在するにもかかわらず、ncurses パッケージのパッケージ管理者は、7Mb の terminfo を「base」チャンクと「term」チャンクに分割する (そしてライブラリから分離する) ことがよくあります。ncurses の MacPorts メンテナはこれを行っていません。端末データベースは「ncurses」パッケージの一部です。たとえば、私はこれを
port contents ncurses@6.0_0+universal
/opt の下:
/opt/local/share/terminfo/73/screen.xterm-256color
また、システム (ポート以外) のコピーもここにあります。
/usr/share/terminfo/78/xterm-256color
ncurses にリンクされたアプリケーションは、通常、それらがポート ライブラリとリンクされているかシステム ライブラリとリンクされているかに応じて、どちらか一方を使用します。ただし、ncurses は、TERMINFO
変数を設定することによって、別の場所を探すように指示できます。カスタマイズを別のマシンから にコピーした場合は.bashrc
、 が設定されている可能性がありますTERMINFO
。
それ自体でtput
は、端末エントリを探している場所の手がかりがわかりません。からの出力をチェックして、が設定されているenv
かどうかを確認できTERMINFO
ます。このinfocmp
ユーティリティは、オプションを使用して( 2011 年後半以降) どこにあるかを表示できます。-D
$ infocmp -D
/usr/local/ncurses/share/terminfo
/usr/share/terminfo
/opt/local/share/terminfo
ところで、OSX は (いくつかの特殊なポートを除いて) termcap 自体を使用しません。ncurses の特定のリリースの一部として、terminfoを使用します (たとえば、 のマニュアル ページを参照してくださいtgetent
)。