根本的な問題はscreen、実際の端末(TERM外部の環境変数によって識別されるscreen)と内部のエミュレーションの間で行われるマッピングscreenが不完全であることです。
(vttestまたは鋲を使用して)偶然にそれをテストすると、
これらの問題をterminで修正しようとする.screenrcと、特定の実際の端末に対してのみ機能し、他の端末の実装に移植できないという欠点があります。ドキュメントノート
デフォルトではない目的のために、termコマンドの使用はお勧めしません。
screen ドキュメントのこの機能を使用して、別の解決策があります(欠点は異なります)。
screenが自分自身の端末名を見つけようとすると、最初にscreenという名前のエントリを探します。term、ここでtermは$TERM変数の内容です。そのようなエントリが存在しない場合は、screenが試行しますscreen(またはscreen-w、端末の幅が広い場合は(132 cols以上))。このエントリも見つからない場合vt100は、代替として使用されます。
ncursesは、画面のマッピングの問題を修復するために、この場合の便利な代替端末の説明をいくつか提供します(例:screen.xterm-new)。実際には、を使用しTERM=xterm-new、screenを実行すると、ファンクションキーの使用可能なマッピングを取得します。
画面のterm設定に戻って参照すると、テスト中に、マッピングにまだ問題があることに気付く場合があります。これらの代替方法で対処されます。を使用して正確な端末記述を取得することが可能である場合term、これらの代替手段はへの単純なエイリアスになりscreenます。ではない。
ncursesは(sic)を提供しませんscreen.xterm:
TERM=xtermxtermとは異なる端末エミュレータでは広く使用されています。このマッピングを追加しても、状況が悪化するだけです(たとえば、ncurses FAQのTERMを "xterm"に設定して使用しないのはなぜですか?)
- 代替名
screen.xtermがリモートシステムにインストールされる可能性は低くなります(ターミナルデータベースの2015年6月からの変更コメントを参照)。
ただし、全体として、代替名の使用は、での使用よりも改善されています。作成するよりも多くの問題が解決さtermれます.screenrc。term設定の逆も同様です。
term xterm私の~/.screenrcファイルに追加するとそれが修正された。再度、感謝します!