Is there a way to alter the colors used in TTY consoles on Linux?
This is entirely possible and is something I do on my Arch setup.
You could drop something like this in a shell script and have it run at login:
if [ "$TERM" = "linux" ]; then
echo -en "\e]P0151515" # Black
echo -en "\e]P1ac4142" # Red
...
echo -en "\e]PEac4142" # Bright Cyan
echo -en "\e]PFac4142" # Bright White
clear # Clear artifacts
fi
The \e]P0
to \e]PF
(base 16) are the escape sequences you need to set the 16 (8 half bright, 8 bright) colours. After which you put your desired replacement colour e.g. 151515
.
The setterm command is what you're looking for.
setterm -foreground black -background white
EDIT
No, there is no way to alter the names of the colors as you requested. They are not referenced that way anywhere in curses, terminfo, or the terminal itself. You could change the definitions of the color indexes (0-15 i think) by editing the kernel source and recompiling.
This is the best command I know of:
setterm -clear all -foreground green -bold -store
You can only have 8 different color as far as I can tell. Maybe some more by using bright in front of basic 8?