konsoleのbashでプロンプトの色を変更する

konsoleのbashでプロンプトの色を変更する

PS1次のように変数を変更して、コンソールのプロンプトの色を変更します.bashrc

PS1="${debian_chroot:+($debian_chroot)}$COLOR_USER\u@$COLOR_HOST\h:$COLOR_PWD\w>$COLOR_ORDER"

COLOR_...変数です。

ただし、これはコンソールのカラースキームでは無視されます。コンソールが自分の設定を上書きするのをどのように停止しますか.bashrc

答え1

シェルなどの端末で実行されるアプリケーションは、エスケープシーケンス後続の出力の外観を変更するには、ターミナルに移動します。文字属性を変更するためのエスケープシーケンスは、2つの文字シーケンス(bashで作成できます)を表します。CSI Pm mCSIESC [$'\e['午後何を変更するかを決定するシーケンスです。

おそらく、あなたの設定では8つの標準色、つまり赤いテキストを使用しているよう$COLOR_USERです。$'\e[31m'標準色の外観は端末で自由に選択できます。 Konsoleでテーマを使用している場合は、必要に応じて色を調整できます。良いテーマは正しい色を選択しますが、一部のKonsoleテーマは色を完全に変更します。

エスケープシーケンスを使用して、赤、緑、青のコンポーネントで色を指定できます。CSI 3 8 ; 2 ; Pr ; Pg ; Pb m賛成PGそしてリーダーそれぞれ0から255までの赤-緑-青コンポーネント。 Konsoleはこれを尊重します。たとえば、ユーザー名を赤で表示するには、次のようにします。

COLOR_USER=$'\e[38;2;128;0;0m'

または、アプリケーションで指定した色を完全に乱すのではなく、尊重する色のテーマを使用してください。

関連情報