私はtermcapsを使用するプログラムを作成しています。私はどの端末を使用しているのかを知る必要があります。
私はgetenv("TERM")
で変数TERM
を得ることができますが、私のプログラムは "$ env -i ./myprog
"で起動でき、TERMは設定されません。TERM環境変数を安全に設定できますか?
どのターミナルタイプを使用すればよいですか?
TERM
変数をアプリケーションでxterm/xterm-256color
に設定しても問題ありませんか?
移植性の問題がありますか?
これを行う方法はありますか(termtypeの取得)は安全ですか?
私は多くのマニュアル(getty-getttab-tty-ttys)と投稿をしていますが、私は解決策を見つけることができません。
シェルを起動すると(zsh
またはtcsh
など)、私はいくつかのキーに問題があるので、私も心配しています。例えば
そう等zsh
を起動:
$env -i zsh
は、矢印とtermcaps(さえCTR-d)を意味任意のキーを使用してトラブルの原因となります。
bash
とtcsh
は、通常は多くのキーで動作しますが、すべてではありません。
はTERM変数は、使用する端末タイプを決定するために正確に存在ターミナルタイプを推測し、TERMを設定するもう一つの一般的な方法はほとんどありません。設定されていない端末を選択させるか、 'vt100'をデフォルトにしようとすることができます。なぜなら、これはしばしば使われるからです。 – Ctx
私は可能なアプリケーションよりもポータブルなものを手に入れようとしていますので、デフォルトのvt100に設定することを選択した場合、私はいつか携帯性の問題を抱えていますか? – LotoLo
使用している端末エミュレーションがvt100と互換性がない場合は、期待どおりに機能しません。移植可能な方法は次のとおりです。TERM環境変数の設定に依存します。設定されていない場合、ユーザは自分の環境を修正する必要があります。 – Ctx