Linux システムでダイアログ バイナリを開こうとすると、次のエラーが発生します。Error opening terminal: vt102
ARM用にコンパイルされたダイアログボックスとncursesを交差しましたが、コンパイルはスムーズに行われましたが、バイナリを開くときにエラーが発生しました。エラーを発生させるコマンドは次のとおりです。
$DIALOG --clear --backtitle "Accept EULA to proceed" --title "END USER LICENSE AGREEMENT" --no-mouse --no-lines --extra-button --ok-label 'Accept' --extra-label 'Decline' "$@" --textbox /vss/scripts/End-User-Product-License-Agmt.txt 0 0
ベストアンサー1
このメッセージは、ncurses が端末記述を見つけることができないことを示します。vt102
。これが起こり得る理由は
- ターミナルデータベースのデフォルトのコンパイルパス名がターミナルデータベースがインストールされている場所と一致しません。
- 端末データベースがインストールされていません。
どちらもクロスコンパイルで(おそらく)簡単に実行できます。構成スクリプトを実行すると、カスタマイズ可能な重要なパス名が最後に印刷されます。たとえば、
** Configuration summary for NCURSES 6.0 20170909:
extended funcs: yes
xterm terminfo: xterm-new
bin directory: /usr/bin
lib directory: /usr/lib
include directory: /usr/include/ncursesw6
man directory: /usr/share/man
terminfo directory: /usr/local/ncurses/share/terminfo
pkg-config directory: /usr/lib/x86_64-linux-gnu/pkgconfig
実行時にターミナルデータベースのパス名をオーバーライドしない場合(使用TERMINFO
そして/またはTERMINFO_DIRS
)、コンパイルされたパス名を使用します。
ターミナルデータベースをインストールするには、次のものを使用できます。tic
、例えば、
tic -x terminfo.src
または、別のコンピュータのターミナルデータベースと一緒にディレクトリツリーをコピーします。
追加資料: