web-dev-qa-db-ja.com

コマンドラインでこの青いテキストの色を変更するにはどうすればよいですか?

この質問が何度も尋ねられたことは知っていますが、他の質問に対する答えは見つかりませんでした。

ここに私のポイントを説明するための画像:

enter image description here

目を細めずに青い線を読めますか?番号?私もダメ。

私はansibleプレイブックを完全冗長モードで実行しており、50以上のタスクのプレイブックでこれらのログを読み取る必要があります。

これらの色を変更するにはどうすればよいですか?

解決策がわからないところを見た質問:

11
Joze

いいえ、黒地に青を読み取ることはできませんでした(そして、私が使用するすべての端末またはコンソールの組み合わせで色のカスタマイズをいじるには寿命が短すぎます)、デフォルトで色を無効にします。 xtermを使用すると、.Xdefaultsのエントリ:

XTerm*colorMode:false

不思議ではありません。そうでなければ、ターミナルの色を消す手段がなければ、アプリケーション固有のハックが必要になるかもしれません。簡単なklugeは、Shell関数を使用して、出力をcatにパイプし、ansibleをターミナルから切断して、色をスパムしないようにすることができます。

function ansible-playbook {
    command ansible-playbook "$@" | cat
}

もう1つの方法は、TERMをいじることです。 TERM=vt220 ansible-playbook ...(これは古いシステムで機能する傾向がありますが、カラースパムはTERM=vt220現代のシステムで、何をしようとしているのかを知らずにTERMを変更することは、おそらく悪い考えです)。

しかしながら! ansibleソースの下のいくつかの洞察から、ansibleはバグがなく、ANSIBLE_NOCOLOR=1環境変数:

ANSIBLE_NOCOLOR=1 ansible-playbook ...
2
thrig

Ansibleで使用する色を指定できます(少なくとも、Ansible 2.3.1.0で指定できます)。 ansible.cfgを開き、[色]というセクションに移動します。次のようなものが表示されます。

[colors]
#highlight = white
#verbose = blue
verbose = green
#warn = bright purple
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
#diff_add = green
#diff_remove = red
#diff_lines = cyan

変更するテキストタイプのコメントを外して、必要な色を指定するだけです。

13
TryHarder

ほとんどのアプリケーションは、 ANSI色 と呼ばれる16色(8色の暗い色と8色の明るい色)を使用します。 ANSI規格は正確な色合いを指定していません。「黒」、「青」、「赤」などと表示されています。デフォルトの青の色合いは、RGBモニターの黒の背景では読みにくい純青であることがよくあります。ただし、優れたターミナルエミュレータでは、色を設定できます。色に赤と緑を少し追加するだけで、通常は読みやすくなりますが、はっきりと区別できます。

Xterm、PuTTY、およびその他の互換性のある端末では、適切な エスケープシーケンス を発行することにより、端末内で実行されているアプリケーションから色を設定できます。アプリケーションを開始する前に、ターミナルでこれを実行してみてください:

## Set the blue hue (color 4) to CornflowerBlue
printf '\e]4;4;#6495ed\a'

ターミナルを開いたときにbashを実行する場合は、これを.bashrc。 ansibleアプリケーションが独自に端末を開く場合は、このエスケープシーケンスを端末に出力します。

または、多くの端末では、XtermのXリソースなどを使用して、構成で色を構成できます。端末エミュレータのドキュメントを確認してください。

PuTTYをsshクライアントとして使用している場合は、その外観設定を変更するだけです。

設定の変更->ウィンドウ->色。 「調整する色を選択してください」というタイトルのボックスで、「ANSIブルー」を選択して色を変更します。

3
geo.c