Xterm is configured via X resources. This is how you might configure it for white on black, with a lighter blue than the default (adjust the color as you see fit, obviously):
XTerm.VT100.background: Black
XTerm.VT100.color0: Black
XTerm.VT100.color1: Red
XTerm.VT100.color2: Green
XTerm.VT100.color3: Yellow
XTerm.VT100.color4: CornflowerBlue
XTerm.VT100.color5: Magenta
XTerm.VT100.color6: Cyan
XTerm.VT100.color7: White
XTerm.VT100.colorBD: White
XTerm.VT100.colorBDMode: true
XTerm.VT100.colorUL: Yellow
XTerm.VT100.colorULMode: true
XTerm.VT100.cursorColor: Red
XTerm.VT100.foreground: White
You can use X color names (you can see all the color names with xcolors
or in a file called rgb.txt
which may be somewhere under /etc/X11
, /usr/X11
or /usr/share/X11
or some similar location depending on your system) or #RRGGBB
. colorBD
is the color used for bold; with colorBDMode
set to false
(the default), this setting is ignored and bold text is displayed in a bold font. The same goes for colorUL
, colorULMode
and underline. You can go beyond color8
(up to color255
, or less depending on the xterm version and compile-time configuration). color8
through color15
correspond to 0–7 with bold; colors beyond 16 are rarely used by applications unless you've explicitly configured them.
Put these settings into a file called ~/.Xdefaults
. Most systems load this file automatically when you log in. If yours doesn't, add this command to your X startup script:
xrdb -merge ~/.Xdefaults
To test the appearance of foreground color 42 over background color 17, run this in a shell in that terminal:
printf '\033[38;5;%dm\033[48;5;%dm%s\033[0m\n' 42 17 "Hello, world."
If your xterm is compiled without extended color support, you'll need to use the classical control sequences:
printf '\033[3%dm\033[4%dm%s\033[0m\n' 4 1 "Hello, world."
The foreground and background color must be in the range 0–7 in that case. If your xterm is compiled with 16-color support, replace [3
and [4
by [9
and [10
respectively to select the bright versions (colors 8–15).