追加読書

追加読書

最近受け取ったrxvt - Unicode到着インシ。これは私がから行くことを意味$TERM=rxvt-unicode-256colorします$TERM=st-256color

私はこのスイッチにとても満足しており、使い続けたいと思いますst。しかし、一部の端末アプリケーションが$TERM新しい値に満足していないことがわかりました。たとえば、フルカラーサポートは、認識可能であると考えるように「トリック」しない限りロードされませemacsん。st$TERM$TERM=xterm-256color

私の質問は:簡単な設定の危険は何ですか$TERM=xterm-256color?重要な部分$TERM=*-256color256color部品であり、価値は*それほど重要ではないようです。

答え1

値の重要な部分TERMは、それがterminfoデータベースまたはtermcapデータベースのエントリと一致し、エントリが端末を正しく説明することです。

あなたの端末がXTermであることは明確ではありませんが、ソフトウェアに合理的に通知することはできません。他の端末エミュレータがXTermと同じ入力/出力制御シーケンスを使用するか、すべて同じ機能を提供すると仮定するのは完全に間違っています。

-256color複合体の一部名前、これはほとんどのソフトウェアに固有の意味はありません(一部のソフトウェアでは関数のサフィックスを探しますが)。 terminfo/termcap データベース内の項目を名前に基づいて系列にグループ化することは人間であるため(ほとんど)人間にのみ意味があります。端末タイプ名の機能的サフィックスは、ソフトウェアではなく主に人によって使用されます。

ソフトウェアにとって意味があるのは、データベースの記録です。名前はそのように建てられました。端末が256色をサポートし、このタイプの端末で使用するための制御シーケンスを提供することを示します。

つまり、emacsは独自の操作を実行し、terminfo / termcapデータベースにのみ依存しません。たとえば、その機能はframe-set-background-mode値と一致することが知られていますが、今は間違っている可能性があります。ここで正しいアプローチは、emacsを修正して最終的に端末タイプ(および他のタイプ)を正しく認識することです。 TERM^\\(xterm\\|\\rxvt\\|dtterm\\|eterm\\)st-256colorputty-256colorvte-256color

追加読書

関連情報