11

Под "изменением цветов" я подразумеваю что-то вроде изменения черного цвета с #000000 на #111111 , а под "консолью TTY" я имею в виду то, что вы получаете, когда выполняете Ctrl+Alt+F1 из X11, а не эмулятор терминала, такой как xterm или urxvt ,

Я использую Arch Linux, но я думаю, что это больше связано с программой, предоставляющей TTY (agetty , я думаю).

3 ответа3

12

Это вполне возможно, и это то, что я делаю в моей настройке Arch.

Вы можете добавить что-то вроде этого в скрипт оболочки и запустить его при входе в систему:

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

\e]P0 - \e]PF (база 16) - это escape-последовательности, необходимые для установки 16 (8 полутоновых, 8 ярких) цветов. После чего вы положите желаемый цвет замены, например, 151515 .

2

Команда setterm - это то, что вы ищете.

setterm -foreground black -background white

РЕДАКТИРОВАТЬ

Нет, невозможно изменить названия цветов, как вы просили. На них так не ссылаются ни в curses, terminfo, ни в самом терминале. Вы можете изменить определения цветовых индексов (я думаю, 0-15), отредактировав исходный код ядра и перекомпилировав.

1

Это лучшая команда, которую я знаю:

setterm -clear all -foreground green -bold -store

Вы можете иметь только 8 разных цветов. Может быть, еще немного, используя яркий перед основной 8.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .