Я только что обновил свой gnome-терминал, чтобы он использовал 256 цветов, но я немного озадачен тем, почему эмулятор терминала не может поддерживать полную палитру, которую обеспечивает любая современная среда рабочего стола. Я предполагаю, что есть техническая причина для этого, но я не знаю об этом.
linux
terminal
gnome-terminal
Стефано Борини
источник
источник
Ответы:
Нет никаких технических причин, по которым это невозможно. Однако не так много причин, почему это не практично. С ограниченным количеством экранного пространства, которое символы представляют на экране, вам будет трудно найти более 256 одновременных цветов на экране.
Насколько я знаю, терминальные клиенты используют индексированное цветовое пространство. Одна из причин этого заключается в том, что в простейшей форме 256 индексированных цветов можно описать одним байтом. В то время как цветовое пространство RGB требует двух или трех байтов. Учитывая, как цвета кодируются в терминальном потоке, каждый цвет будет по крайней мере два байта + любая интеллектуальная разметка. Это может не быть большой проблемой памяти, однако, когда в сетевом потоке в реальном времени это может привести к задержке, особенно (поправьте меня, если я ошибаюсь), каждый символ отправляется в своем собственном пакете.
источник
Там действительно нет текущей причины. Кроме, возможно, коды перехода были добавлены только несколько лет назад, чтобы поддержать истинный цвет. Многие терминалы теперь поддерживают 24-битные цвета, см. Https://gist.github.com/XVilka/8346728.
источник