Я узнал, что я могу изменить формат PS1, особенно цвет строки. Тогда можно ли изменить цвет в зависимости от цвета фона оболочки? Или как определить цвет фона оболочки?
12
Насколько я знаю, нет способа запросить цвета эмулятора терминала. Вы можете изменить их с помощью \e]4;NUMBER;#RRGGBB\a
(где NUMBER
это номер цвета терминала (0–7 для светлых цветов, 8–15 для ярких цветов) и #RRGGBB
шестнадцатеричное значение цвета RGB), если ваш терминал поддерживает эту последовательность (ссылка: ctlseqs ).
Мощные механизмы цветовой схемы часто имеют настройку темного или светлого фона, которую необходимо указать, чтобы указать, есть ли у вас черный или темно-серый фон, или белый или светло-серый фон.
Когда вы настраиваете для себя, обычно достаточно решить, что вы всегда будете использовать один и тот же цвет фона.
TERM
и поэтому не могут быть получены из окружающей среды.Если вы используете gnome-терминал, вы можете получить цвет фона для любого профиля, в данном случае для профиля по умолчанию, как
тогда вы можете решить, как настроить ваше приглашение соответственно.
источник
С помощью xterm вы можете запросить цвет фона с помощью
\e]11;?\a
escape-последовательности. Вам нужно прочитать ответ из терминала. Естьxtermcontrol
команда, которая сделает это за вас:источник