Вам нужно vte> = 0.36 для истинных цветов для работы в gnome-terminal. Убедитесь, что ваш vte достаточно недавний, и в этом случае ваш код должен работать.
(Примечание: при выводе жестко закодированных строк, как и в вашем примере приложения, значение $ TERM обязательно абсолютно нерелевантно. Неважно, если вы используете библиотеки, поведение которых зависит от этого, например ncurses.)