screen
は、サポートしていないエスケープシーケンスをフィルタリングします。色の値を変更するxterm形式のエスケープシーケンスはサポートしていませんが、端末の定義済みのカラーパレットのみを使用します。
あなたは
infocmp screen-256color xterm-256color
を行う場合は、いくつかの違いが、おそらくわかります。色の値を変更するのはinitc
です。 (パレットから特定の色を選択するには、setaf
とsetab
を使用します)。
警告メッセージは、(明らかに)xterm-256color
の端末記述がインストールされていないためです。たとえば、マシンにssh接続してローカルマシンからTERM
を取得したとします。 screen
はがの外にあるに変換するのに役立つように、の外側にあるものを知りたいと考えています。(TERM=screen
)ドキュメントとソースコードを素早く読んで、のためにいくつかの機能があるが、TERM
の間の変換と特定の内部TERMの選択のためにの変換があるが、の設定を無効にするための設定は.screenrc
ではない。それはTERM
が設定されていることを保証
if ((attach_term = getenv("TERM")) == 0 || *attach_term == 0)
Panic(0, "Please set a terminal type.");
if (strlen(attach_term) > MAXTERMLEN)
Panic(0, "$TERM too long - sorry.");
GetTTY(0, &attach_Mode);
、およびへのポインタ(ダウンレベルのカップル)it checks if TERM
corresponds to an actual terminal description:
はここrelevant chunk of code in screen
へのポインタですので
if (*D_termname == 0 || e_tgetent(tbuf, D_termname) != 1) {
Msg(0, "Cannot find terminfo entry for '%s'.", D_termname);
return -1;
}
..あなたが単に "screen"を実行したいのであれば、シェルエイリアスを作るか、今度はTERM
を設定する単純なスクリプトを作ることができます。
あなたの答えをありがとうございますが、私は私の質問が非常にはっきりしているので編集していません。私はどこかに保存された私の選択のあらかじめ定義されたパレットで 'screen'をやってみたいと思っています。 –