Ответы:
Насколько я знаю, нет способа запросить цвета эмулятора терминала. Вы можете изменить их с помощью \e]4;NUMBER;#RRGGBB\a
(где NUMBER
это номер цвета терминала (0–7 для светлых цветов, 8–15 для ярких цветов) и #RRGGBB
шестнадцатеричное значение цвета RGB), если ваш терминал поддерживает эту последовательность (ссылка: ctlseqs ).
Мощные механизмы цветовой схемы часто имеют настройку темного или светлого фона, которую необходимо указать, чтобы указать, есть ли у вас черный или темно-серый фон, или белый или светло-серый фон.
Когда вы настраиваете для себя, обычно достаточно решить, что вы всегда будете использовать один и тот же цвет фона.
TERM
и поэтому не могут быть получены из окружающей среды.
Если вы используете gnome-терминал, вы можете получить цвет фона для любого профиля, в данном случае для профиля по умолчанию, как
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
тогда вы можете решить, как настроить ваше приглашение соответственно.
С помощью xterm вы можете запросить цвет фона с помощью \e]11;?\a
escape-последовательности. Вам нужно прочитать ответ из терминала. Есть xtermcontrol
команда, которая сделает это за вас:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0