web-dev-qa-db-ja.com

terminfoエントリに「オーバーライド」を提供する方法はありますか?

少なくともLinuxでは、RedHatでは、提供されたxterm terminfoエントリにバグがあります。何らかの理由で、80列の画面を強制するis2機能を介した初期化シーケンスを使用します ( CSI?nl) 。これは非常にばかげたことです。だからこれを変えたい。できるだけ雄弁に変えていきたいです。

terminfoデータベースは/etc/terminfo(文書化されていない)と/usr/lib/terminfo$HOME/.terminfo、そしておそらく$TERMINFO$TERMINFO_DIRSにあります。

私の選択は次のようです:

  • infocmp xterm | Perl <regexp> | ticを使用して新しいデータベースを提供し、元のファイル(悪い考え)または/etc/termcap/x/xtermに配置します。

  • source機能を使用する(例)xterm-mineという新しいxtermエントリを作成し、上記のディレクトリの1つに配置します。

3番目の選択肢はありますか?その1つの機能だけをオーバーライドするものはありますか? 「微調整」?

3
Otheus

あなたはすべての可能性について言及したようです。ただし、使用している端末構成については言及していません。制御シーケンスの言及

     Ps = 3  -> 132 Column Mode (DECCOLM).

ヒントを与えます。

notnew: 20歳以上 )初期化文字列の動作に関する問題はほとんどすべてPuTTYユーザー。 xterm設定にTERMを使用しているにもかかわらず、PuTTYはxtermではありません。 xterm(対応するメニュー項目をデフォルトでオフにする)とは対照的に、PuTTYはデフォルトでそれを有効にします(そして、anyサイズ変更を許可するかどうかを選択することによってのみオプションを使用可能にします)。

参考文献:

Debianは、RedHatよりもPuTTYに関連するバグレポートを多く提供しています。

このすべてのポイントは、端末の説明(頻繁に使用される他のものと同様)は、それらが使用される確立された方法がある場合、頻繁に変更されないということです。 PuTTYの端末の説明は、xtermと一貫して特定の機能(行の折り返しなど)を実装していないため、他の点でxtermの説明とは異なります。

さらに読む(ncurse FAQ TERM vs xtermに関して)を除く):

3
Thomas Dickey