Очень странный вопрос.
Зависит от большого количества факторов (например, непосредственно на машине, либо при подключении по ssh, установлен ли там x-server или нет и прочее).
Но совсем в лоб ответ: использовать setterm.
Ссылка на askubuntu:
askubuntu.com/questions/558280/changing-colour-of-...
Своими словами:
Когда ОС запускается без графического интерфейса, она переводит видео карту в специальный режим, так называемый текстовый режим работы видеокарты (точнее, это режим по-умолчанию), в котором ОС передает в явном виде видеокарте текст, который нужно отобразить + некоторые служебные пометки. Этот формат общения самый древний и, исторический, первый. Собственно, ради него видеокарты и были изобретены.
Покуда стандарту много лет, он поддерживает только ограниченный набор цветов. Если быть точнее -- 8 цветов, каждый из которых может выступать как foreground (цвет текста) и background (цвет фона). В текстовом режиме вы можете установить любую из комбинации этих цветов, т.е. доступно всего 8*8=64 раскраски.
Никакую картинку на фон, разумеется, поставить нельзя (вообще говоря, можно, но это нужно подупороться с ASCII графикой и, в общем, не стоит).
Теперь к самой команде:
setterm -term linux -back <background_colour> -fore <text_color> -clear
Думаю, в этой команде все понятно. Соответственно, набор цветов достаточно ограничен и вот он:
black|blue|green|cyan|red|magenta|yellow|white|default
Если хотите, чтобы цвета сохранялись при перезагрузке -- добавьте эту команду в конец .bashrc (который находится в вашей домашней директории).
Чтобы разукрасить терминал более пестро -- уже следует ставить x-server и что-то для GUI.