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)。