Есть ли способ изменить цвета, используемые в консолях TTY в Linux?


14

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

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


Терминалы не работают в терминах шестнадцатеричных цветов - они используют цветовые коды, подобные тем, которые находятся в "/ etc / shell-colors".
new123456

1
@ new123456 - У меня нет файлов под названием «цвета оболочки» где-либо под/
Остин Хайд,

Да. Вы не указали свой дистрибутив здесь - я использую Zenwalk, поэтому ваш дистрибутив может отличаться. Ищите, color in bashчтобы получить список всех побегов.
new123456

2
@ new123456 - Я упомянул, что я использовал Arch, и я не ищу bash escape-последовательности для цветов, например, \e[0;30mдля черного, я ищу способ настроить фактический цвет для каждого названного цвета.
Остин Хайд,

1. Извините - я сначала смотрю на теги;) 2. Просто информация, не совсем относящаяся к вопросу, но относящаяся к домену.
new123456

Ответы:


3

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

setterm -foreground black -background white

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

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


Нет, это не то, что я ищу. Я хочу изменить определения цветов, а не цвета переднего плана и фона.
Остин Хайд

13

Это вполне возможно, и это то, что я делаю в настройках 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) являются управляющими последовательностями , которые необходимо установить 16 (8 половину яркого, 8 яркие) цвет. После чего вы положите желаемый цвет замены, например 151515.


похоже, не работает в Ubuntu 16.04 с bash fwiw
G Gordon Worley III

2

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

setterm -clear all -foreground green -bold -store

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.