Предположим, у меня есть система без X server
. Я могу войти только с консоли. Кажется, по умолчанию консоль linux поддерживает только 8 цветов:
# tput colors
8
Можно ли использовать в консоли 256 цветов, так же, как я использовал бы в эмуляторе терминала (т.е. терминатор)?
Во время поиска в Google я нашел много похожих вопросов (многие из них старше 10 лет), но ни одного однозначного ответа. Кто-то предлагает использовать framebuffer, кто-то другой предлагает добавить аргумент TERM в параметры загрузки ядра.
На данный момент я передаю только один дополнительный параметр в качестве параметра загрузки ядра:
append="video=1280x720"
Я считаю, что передача разрешения видео работает только в современных ядрах с kernel mode setting
поддержкой, но я не уверен в этом.
Можно ли использовать 256 цветов в современной консоли linux (tty)
Как?
Я использую Debian Wheezy с ядром 4.1
ОБНОВИТЬ:
основываясь на предложении @muru, я попробовал fbterm
. Хотя он работает с 256 цветами, он имеет очень уродливые / искаженные шрифты. Кроме того, в левом нижнем углу постоянно мигает курсор, что меня отвлекает.
Могу ли я использовать 256 цветов в консоли без fbterm / framebuffer?
Откуда берется ограничение в 8 цветов в консоли?
источник
TERM
наxterm-256color
для Linux консоли, вы просто открыть другую банку с червями. Эта ссылка дает подсказку.Ответы:
Фактический вопрос состоит из этих двух пунктов:
Могу ли я использовать 256 цветов в консоли без fbterm / framebuffer?
Откуда берется ограничение в 8 цветов в консоли?
К первому: видимо нет. Все предложенные подходы используют fbterm. Ко второму: это происходит из описания терминала (он же «terminfo entry»). Для консоли Linux, с
TERM
установленным наlinux
, говорит, что терминал поддерживает 8 цветов. tput получает информацию из базы данных терминала.Один из элементов в цитируемой теме говорит, что fbterm использует другие escape-последовательности для установки цветов, чем xterm. Если это так (и учитывая склонность пользователей Emacs к жесткому кодированию), подходящего терминального входа для fbterm не существует.
источник