名前

terminal-colors.d - 各種ユーティリティーにおけるカラー出力を設定する

書式

/etc/terminal-colors.d/[[name][@term].][type]

説明

このディレクトリ内のファイルは、 各種ユーティリティーにおけるカラー出力のデフォルト動作を決定します。

name はユーティリティの名前を表します。 名前の指定は任意であるため、 何も指定されなかった場合、 指定が行われていないユーティリティーすべてにこのファイルが用いられます。

term は端末識別子 (環境変数 TERM) を表します。 端末識別子の指定は任意であるため、 何も指定されなかった場合、 指定が行われていない端末に対して、 このファイルが用いらます。

type はファイルタイプを表します。 サポートされているファイルタイプは以下のとおりです。

disable

カラー出力に対応するユーティリティーすべてについて、 カラー出力をオフにします。

enable

カラー出力を有効にします。 disable ファイルに一致しても無視されます。

scheme

出力に用いるカラーを指定します。 ファイル形式は、 各ユーティリティーに依存します。 デフォルト形式は以降に示します。

1 つのユーティリティーに対して、 一致するファイルが複数ある場合、 ファイル名がより的確に一致するファイルが採用されます。 たとえば "@xterm.scheme" よりも "dmesg@xterm.scheme" の方が優先されます。 優先度が最も低くなるファイルは、 ユーティリティ名や端末識別子を含まないものです (たとえば "disable")。

ユーザー固有の設定である $XDG_CONFIG_HOME/terminal-colors.d$HOME/.config/terminal-colors.d は、 グローバル設定を上書きします。

デフォルトのスキームファイル形式

以下のステートメントが認識されます。

name color-sequence

name はカラーシーケンスの論理名です (たとえば "error")。 この名前は、 各ユーティリティーに固有のものです。 詳しくは、各ユーティリティーの man ページにおける「カラー」セクションを必ず見てください。

color-sequence はカラー名のことです。 ASCII カラーシーケンス、 またはエスケープシーケンスです。

カラー名

black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta, lightred, magenta, red, reset, reverse, yellow.

ANSI カラーシーケンス

カラーシーケンスは、 セミコロンで区切った数字の並びにより構成されます。 ごく一般的なコードは以下のとおりです。

0 デフォルトカラーの復元
1 より明るい色
4 下線
5 文字の点滅
30 前景色が黒
31 前景色が赤
32 前景色が緑
33 前景色が黄 (またはブラウン)
34 前景色が青
35 前景色が紫
36 前景色がシアン
37 前景色が白 (またはグレー)
40 背景色が黒
41 背景色が赤
42 背景色が緑
43 背景色が黄 (またはブラウン)
44 背景色が青
45 背景色が紫
46 背景色がシアン
47 背景色が白 (またはグレー)


エスケープシーケンス

コントロースシーケンスにおいてコントロール文字やブランク文字を指定するには、 C-スタイルの \-エスケープ表記が利用可能です。

\a ベル (ASCII 7)
\b バックスペース (ASCII 8)
\e エスケープ (ASCII 27)
\f フォームフィード (ASCII 12)
\n 改行 (ASCII 10)
\r キャリッジリターン (ASCII 13)
\t タブ (ASCII 9)
\v 垂直タブ (ASCII 11)
\? delete (ASCII 127)
\_ 空白
\\ バックスラッシュ (\)
\^ キャレット (^)
\# ハッシュマーク (#)


なお文字列内において空白、バックスラッシュ、キャレット、その他コントロール文字を含める場合には、 エスケープすることが必要となります。 またハッシュを先頭文字に用いる場合も同様です。

たとえば dmesg(1) の出力にあたって、 警告 (alert) メッセージの背景色を赤にするには、 以下のようにします。

echo 'alert 37;41' >> /etc/terminal-colors.d/dmesg.scheme

コメント

先頭文字が空白を除き # (ハッシュ) である行は無視されます。 これ以外のハッシュ文字は、 コメント開始文字としては解釈されません。

環境変数

TERMINAL_COLORS_DEBUG=all

デバッグ出力を有効にします。

ファイル

$XDG_CONFIG_HOME/terminal-colors.d

$HOME/.config/terminal-colors.d

/etc/terminal-colors.d

互換ユーティリティーすべてにおいてカラーを無効にします。

touch /etc/terminal-colors.d/disable

互換ユーティリティーすべてにおいて、 vt100 ターミナル上のカラーを無効にします。

touch /etc/terminal-colors.d/@vt100.disable

互換ユーティリティーすべてにおいてカラーを無効にしますが、 dmesg(1) については除外します。

touch /etc/terminal-colors.d/disable

touch /etc/terminal-colors.d/dmesg.enable

互換性

terminal-colors.d の機能は、現在 util-linux ユーティリティーのすべてにおいてサポートされており、 これによってカラー化した出力を提供します。 詳しくは、各ユーティリティーの man ページにおける「カラー」セクションを必ず見てください。

バグ報告

バグ報告は、 以下にある issue トラッカーを利用してください。 <https://github.com/util-linux/util-linux/issues>.

入手方法

terminal-colors.d は util-linux パッケージの一部であり、 以下からダウンロードできます。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.