ttyとptyのさまざまな動作

ttyとptyのさまざまな動作

man bashたとえば、xtermまたはX内で操作を実行すると、mate-terminal一部の単語にアンダースコアが表示されます。

仮想端末でこれを行うと、man bash単語に同じ色が表示されます。

Xで同じ色が得られますか?

2人の男の間にこれらの行動の違いが現れるのはなぜですか?

答え1

lessページビューアに設定すると、特殊変数を使用して標準色をオーバーライドmanできます。less

私の設定の例:

export LESS_TERMCAP_mb=$'\e[6m'          # begin blinking
export LESS_TERMCAP_md=$'\e[34m'         # begin bold
export LESS_TERMCAP_us=$'\e[4;32m'       # begin underline
export LESS_TERMCAP_so=$'\e[1;33;41m'    # begin standout-mode - info box
export LESS_TERMCAP_me=$'\e[m'           # end mode
export LESS_TERMCAP_ue=$'\e[m'           # end underline
export LESS_TERMCAP_se=$'\e[m'           # end standout-mode

また、次の設定が必要な場合があります。

export GROFF_NO_SGR=''

「新しい」アクションgroffのいくつかのバグが原因です。


私のLinuxボックスをチェックし、コンソールで設定した場合

export LESS_TERMCAP_md=$'\e[4m'

その後、コードは実際に下線付きの代わりに薄い青色として解釈されます(コンソールでは不可能です)。

答え2

この問題マニュアルページをダンプする方法はいくつかあります。彼らはまた、マニュアルページがターミナルエミュレータによって解釈されることができる特別な形式に従うことを議論します。

デフォルトでは、マンページは小さな森文書には、フォーマットとして解釈される興味深い文字が含まれていますman

2つの異なる端末エミュレータでこれを使用すると、man異なる結果が表示されることがあります。これはまさにあなたに起こったことです。残念ながら、その動作についてあなたができることはあまりありません。これは端末エミュレータによって制限されます。

答え3

実際、答えは簡単です。 EGA-VGAカラーテキストモードは簡単です。強調する能力が不足している。そのため、groff適切と判断される代替品を使用してください。

fbdev技術的には、エミュレーションはVGA制限に拘束されませんが、(互換性のために)同じ意味を持つ同じスクリーンバッファ形式を使用します。

一部の前景/背景の組み合わせを下線にするために、LinuxフレームバッファTUIエミュレータのコードを変更できます。しかし、その結果は次のようになります。

  • 互換性の問題
  • カーネル拡張;
  • linux仮想の「新しいLinuxコンソール」の機能は既存のTERM = linuxとは異なるため、新しいterminfo $ TERMキーを開発する必要があります(に加えて)。
  • ログインシェルがそれに応じて$ TERMを設定していることを確認する必要があります。

答え4

他の答えは興味深いですが、OPの質問に対する答えはありません。特定のカスタマイズが不足しているのに、一部の端末が異なる動作をするのはなぜですか?

Linuxコンソールには長い歴史があります(1990年代初頭から)。表示色興味深い動画属性ではサポートされていません。 @Incnis Mrsiはこれについて言及しました(より良いソースがたくさんありますが)。

  • しかし、グロフは下線を引く能力が不足していることを認識していません。ターミナルの説明は、groffがこれを無視するので良いことを示しています(ハードコーディングされたエスケープを使用します)。ただし、Linuxコンソールはこれを次のようにレンダリングします。それ選ぶ
  • 環境変数に関する注意事項はless興味深いですが、一般的には使用されません。

他の端末によっては、ビデオのプロパティを色でレンダリングできます。 xterm は以下を設定することでこれを行うことができます。リソース colorULそしてcolorULMode(Red Hatベースのディストリビューションは通常このように構成されているようです)。同様に、価値を得るはい(リソースベースでもありますが、設定可能性は低い)。

関連情報