TERMINAL-COLORS.D(5) File formats TERMINAL-COLORS.D(5)
NAME
terminal-colors.d - configure output colorization for various utilities
SYNOPSIS
/etc/terminal-colors.d/[name.|[name]@term.]type
DESCRIPTION
Files in this directory determine the default behavior for utilities
when coloring output.
The name is a utility name. The name is optional and when none is
specified then the file is used for all unspecified utilities.
The term is a terminal identifier (the TERM environment variable). The
terminal identifier is optional and when none is specified then the
file is used for all unspecified terminals.
The type is a file type. Supported file types are:
disable
Turns off output colorization for all compatible
utilities. See also the NO_COLOR environment variable
below.
enable
Turns on output colorization; any matching disable files
are ignored.
scheme
Specifies colors used for output. The file format may be
specific to the utility, the default format is described
below.
If there are more files that match for a utility, then the file with
the more specific filename wins. For example, the filename
@xterm.scheme has less priority than dmesg@xterm.scheme. The lowest
priority are those files without a utility name and terminal identifier
(e.g., "disable").
The user-specific $XDG_CONFIG_HOME/terminal-colors.d or
$HOME/.config/terminal-colors.d overrides the global setting.
DEFAULT SCHEME FILES FORMAT
The following statement is recognized:
name color-sequence
The name is a logical name for the color sequence (for example: error).
The names are specific to the utilities. For more details always see
the COLORS section in the man page for the utility.
The color-sequence can be a color name, an ANSI color sequence, or an
escape sequence.
Color names
Valid color names are: black, blink, blue, bold, brown, cyan, darkgray,
gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen,
lightmagenta, lightred, magenta, red, reset, reverse, and yellow.
ANSI color sequences
An ANSI color sequence is composed of sequences of numbers separated by
semicolons. The most common codes are:
+---+--------------------------+
|0 | to restore default color |
+---+--------------------------+
|1 | for brighter colors |
+---+--------------------------+
|4 | for underlined text |
+---+--------------------------+
|5 | for flashing text |
+---+--------------------------+
|30 | for black foreground |
+---+--------------------------+
|31 | for red foreground |
+---+--------------------------+
|32 | for green foreground |
+---+--------------------------+
|33 | for yellow (or brown) |
| | foreground |
+---+--------------------------+
|34 | for blue foreground |
+---+--------------------------+
|35 | for purple foreground |
+---+--------------------------+
|36 | for cyan foreground |
+---+--------------------------+
|37 | for white (or gray) |
| | foreground |
+---+--------------------------+
|40 | for black background |
+---+--------------------------+
|41 | for red background |
+---+--------------------------+
|42 | for green background |
+---+--------------------------+
|43 | for yellow (or brown) |
| | background |
+---+--------------------------+
|44 | for blue background |
+---+--------------------------+
|45 | for purple background |
+---+--------------------------+
|46 | for cyan background |
+---+--------------------------+
|47 | for white (or gray) |
| | background |
+---+--------------------------+
For example, to use a red background for alert messages in the output
of dmesg(1), use:
echo 'alert 37;41' >> /etc/terminal-colors.d/dmesg.scheme
Escape sequences
An escape sequence is needed to enter a space, backslash, caret, or any
control character anywhere in a string, as well as a hash mark as the
first character. These C-style backslash-escapes can be used:
+----+----------------------------+
|\a | Bell (ASCII 7) |
+----+----------------------------+
|\b | Backspace (ASCII 8) |
+----+----------------------------+
|\e | Escape (ASCII 27) |
+----+----------------------------+
|\f | Form feed (ASCII 12) |
+----+----------------------------+
|\n | Newline (ASCII 10) |
+----+----------------------------+
|\r | Carriage Return (ASCII 13) |
+----+----------------------------+
|\t | Tab (ASCII 9) |
+----+----------------------------+
|\v | Vertical Tab (ASCII 11) |
+----+----------------------------+
|\? | Delete (ASCII 127) |
+----+----------------------------+
|\_ | Space |
+----+----------------------------+
|\\ | Backslash (\) |
+----+----------------------------+
|\^ | Caret (^) |
+----+----------------------------+
|\\# | Hash mark (#) |
+----+----------------------------+
Comments
Lines where the first non-blank character is a # (hash) are ignored.
Any other use of the hash character is not interpreted as introducing a
comment.
ENVIRONMENT
TERMINAL_COLORS_DEBUG=all
enables debug output.
NO_COLOR
if defined, this disables output colorization unless explicitly
enabled by a command-line option. See for
more details. Supported since util-linux version 2.41.
FILES
$XDG_CONFIG_HOME/terminal-colors.d
$HOME/.config/terminal-colors.d
/etc/terminal-colors.d
EXAMPLES
Disable colors for all compatible utilities:
touch /etc/terminal-colors.d/disable
Disable colors for all compatible utils on a vt100 terminal:
touch /etc/terminal-colors.d/@vt100.disable
Disable colors for all compatible utils except dmesg(1):
touch /etc/terminal-colors.d/disable
touch /etc/terminal-colors.d/dmesg.enable
COMPATIBILITY
The terminal-colors.d functionality is currently supported by all
util-linux utilities which provide colorized output. For more details
always see the COLORS section in the man page for the utility.
REPORTING BUGS
For bug reports, use the issue tracker
.
AVAILABILITY
terminal-colors.d is part of the util-linux package which can be
downloaded from Linux Kernel Archive
.
util-linux 2.42.1 2026-05-18 TERMINAL-COLORS.D(5)