Solucionado.
Explicación.
De todo esto:
if [ "$TERM" = "linux" ]; then
echo -en "\e]P0232323" #black -> this is the background color as well.
echo -en "\e]P1803232" #darkred
echo -en "\e]P25b762f" #darkgreen
echo -en "\e]P3aa9943" #brown
echo -en "\e]P4324c80" #darkblue
echo -en "\e]P5706c9a" #darkmagenta
echo -en "\e]P692b19e" #darkcyan
echo -en "\e]P7e5e5e5" #lightgray
echo -en "\e]P8222222" #darkgray
echo -en "\e]P9982b2b" #red
echo -en "\e]PA89b83f" #green
echo -en "\e]PBefef60" #yellow
echo -en "\e]PC2b4f98" #blue
echo -en "\e]PD826ab1" #magenta
echo -en "\e]PEa1cdcd" #cyan
echo -en "\e]PFdedede" #white -> this is the foreground color as well.
clear #repaint the whole background with the new color
fi
Nos fijamos en "\e]P0 y "\e]P7. Los 6 dígitos siguientes se corresponden con el código de color hexadecimal, donde:
P0 es el color para el background (fondo), que por defecto es el código hexadecimal: 232323
P7 es el color para el foreground (texto), que por defecto es el código hexadecimal: e5e5e5
Cuando indicamos:
setterm --inversescreen on
lo que hacemos es invertir P0 y P7, de modo que el fondo pasa a ser el gris (e5e5e5) y el texto pasa a ser el negro (232323).
Cuando indicamos cualquier otro comando de los que hemos analizado haciendo referencia al blanco, mediante white o los códigos numéricos, lo que hace es llamar a P7, y como es gris, pues nunca muestra el blanco.
De modo que si queremos un fondo blanco con letras negras, buscamos primero en código hexadecimal el tipo de blanco y de negro que queremos. Para ello estos recursos son de utilidad:
https://es.wikipedia.org/wiki/Colores_web
https://www.w3schools.com/colors/colors_hexadecimal.asp
Atención: es importante hacer los cambios de color en un orden en que el contraste del fondo y el texto sea legible, o directamente hacer el cambio de P0 y P7 a la vez.
Como ejemplo utilizaré para P0 el blanco: FFFFFF, y para P7 el negro: 232323. El código hexadecimal puede estar escrito en minúscula y/o mayúscula.
echo -en "\e]P0FFFFFF" echo -en "\e]P7232323"
y si no cambia de inmediato ejecutamos:
clear
Funciona correctamente en Debian 9 y en CentOS 7.
Actualización:
Si queremos que los cambios de color estén por defecto al reiniciar, seguiremos los siguientes pasos:
Ejecutamos
ls -a
Nos mostrará entre otros archivos, el .bashrc y el .bash_profile (este último en Debian 9 yo no lo tenía)
Ahora editamos o creamos el .bash_profile
Para editarlo:
nano ~/.bash_profile
Para crearlo:
nano .bash_profile
¿Y qué escribimos dentro?, pues depende de cuanto queramos personalizar el bash, podemos desde introducir todo el código que he citado arriba (que afecta desde P0 hasta PF), o para el ejemplo que he indicado en esta solución podemos escribir solo
echo -en "\e]P0FFFFFF"
echo -en "\e]P7232323"
clear
Guardamos el archivo con Ctrl+O, aceptamos y Ctrl+X para salir de nano. Reiniciamos la máquina y listo.
A mi me funciona sin darle permisos de ejecución: chmod +x \.bash_profile
Si posteriormente queremos editar los colores de P0, P7 u otras P, editamos el archivo .bash_profile
Gracias a todos por vuestras aportaciones (@cobito y compañeros de exDebian).
Saludos