Я пытаюсь напечатать цветную строку в терминале gnome с помощью escape-кодов ANSI, но, хотя он работает для пользовательских цветов или даже 256 дополнительных цветов, он не работает с кодами RGB.
Итак, упрощение:
cout << "\033[33m" << '.' << "\033[0m"; # prints with color
cout << "\033[38;5;135m" << '.' << "\033[0m"; # prints with color
cout << "\033[38;2;0;135;0m" << '.' << "\033[0m"; # doesn't work, prints with default color
Как я могу вывести что-то с цветовым кодом RGB в gnome-terminal?
Я следую этой ссылке для выходов :
Я добавил:
$ export TERM=xterm-256color
В мой .bashrc файл для поддержки 256 цветов и:
$ tput colors
Выходы 256, если это важно.
Вам нужно vte> = 0.36 для истинных цветов для работы в gnome-terminal. Убедитесь, что ваш vte достаточно недавний, и в этом случае ваш код должен работать.
(Примечание: при выводе жестко закодированных строк, как и в вашем примере приложения, значение $ TERM обязательно абсолютно нерелевантно. Неважно, если вы используете библиотеки, поведение которых зависит от этого, например ncurses.)