私は以下を使用しています:
setterm --foreground blue --background white --blink on
結果は、明るい白地に青で表示されるテキストです。しかし、テキストの周りの背景は灰色です。背景全体を白く明るくする方法は?
答え1
端末によって異なります。通常、ANSI色を使用してこれを行うことはできません。一部端末は太いビデオ属性を「明るい色」と解釈し、背景の明るさを変更する標準的な方法はありません。
一部の端末は変更のためのエスケープシーケンスをサポートしています。カラーパレット端末で使用される色は「ANSI色」とは無関係です。たとえば、Xterm は以下を使用します。ダイナミックカラーデフォルトの前景色と背景色(カーソル色などの他の可能性も含む)を変更できる機能です。これらは次に要約されています。オペレーティングシステムの制御部分XTerm制御シーケンス:
OSC PS; OSC PS;プラチナベル テキストパラメータを設定します。色とフォントの場合、Ptが「?」の場合 制御シーケンスは、以下を含む応答を引き起こす。 トロールシーケンスはその値を設定します。これ dtterm 制御シーケンスを使用すると、アイコン名を決定できます。 そしてウィンドウのタイトル。 ... 1 0を使用して設定または照会できる10の色(下)があります。 1 9 までは動的色を表します。 ing制御シーケンスはxtermを設定する最初の方法です。 動的な色、つまり起動後。彼らはそうではありません ANSI色と同じです。このコントロールは無効にすることができます AllowColorOps リソースを使用します。パラメータが1つ以上です。 予想されるPt。各連続パラメータは次のパラメータを変更します。 リストの色です。 Ps値は開始点を示します。 リストにあります。色は名前またはRGBで指定されます。 XParseColorに基づくカチオンです。 ... Ps = 1 0 -> VT100 テキストの前景色を Pt に変更します。 Ps=1 1 -> VT100 テキストの背景色を Pt に変更します。 Ps = 1 2 -> テキストカーソルの色をPtに変更します。 Ps = 1 3 -> マウスの前景色をPtに変更します。 Ps = 1 4 - >マウスの背景色をPtに変更します。 Ps = 1 5 -> Tektronixの前景色をPtに変更します。 Ps = 1 6 -> Tektronixの背景色をPtに変更します。 Ps = 1 7 - >強調背景色をPtに変更します。 Ps = 1 8 -> Tektronix カーソルの色を Pt に変更します。 Ps = 1 9 - >強調前景色をPtに変更します。
この機能がないため、他の端末では「ANSI Color」の値を変更できます。同様に、xterm は依然としてオペレーティングシステム制御セット内にあります。
Ps=4;C;仕様->色番号cを色仕様に変更- 仕様によって決まります。名前またはRGB仕様です。 XParseColor。 c / specペアは任意の数だけ提供できます。これ 色番号は明るいANSI色0〜7に対応します。 バージョン8-15およびサポートされている場合は残りの88色 または256カラーチャート。
他の一部の端末エミュレータは両方または両方を実装できますが、通常これを文書化しません。他の端末でも動作するかどうかを試してみてください。
後者(パレットの値の変更)と同様に、Linuxコンソールは16色のパレットを変更できる制御シーケンスをサポートしています。 Xtermはフォーマット標準(ECMA-48)に準拠していないため、このコントロールはサポートされていません。
これxtermコントロールプログラムは、特にこれらのエスケープシーケンスのいくつかをサポートします。ダイナミックカラー。ただし、次のスクリプトを作成できます。
#!/bin/sh
printf '\033]%s;%s\007' $1 $2
このスクリプトを使用して色を設定します。
myscript 11 rgb:ff/ff/ff
追加資料:
答え2
ターミナルエミュレータによっては、ターミナルカラースキームで「白」色をオーバーライドできます。
echo -en "\e]PFffffff"
setterm --foreground blue --background white --blink on
答え3
端末の背景が暗い場合は、以下を使用して端末全体から白い背景を簡単に取得できると思います。
setterm --inversescreen on