Załóżmy, że mam system bez X server
. Mogę zalogować się tylko z konsoli. Wygląda na to, że domyślnie konsola linux obsługuje tylko 8 kolorów:
# tput colors
8
Czy w konsoli można użyć 256 kolorów, tak jak w emulatorze terminali (tj. Terminatorze)?
Podczas wyszukiwania w Google znalazłem wiele podobnych pytań (wiele z nich ma ponad 10 lat), ale nie ma jednoznacznej odpowiedzi. Ktoś sugeruje użycie bufora ramki, inni sugerują dodanie argumentu TERM do opcji rozruchu jądra.
W tej chwili przekazuję tylko jedną dodatkową opcję jako parametr rozruchowy jądra:
append="video=1280x720"
Wierzę, że przekazywanie rozdzielczości wideo działa tylko w nowoczesnych jądrach z kernel mode setting
obsługą, ale nie jestem tego pewien.
Czy można używać 256 kolorów w nowoczesnej konsoli Linux (TTY)
W jaki sposób?
Używam Debian Wheezy z jądrem 4.1
AKTUALIZACJA:
na podstawie sugestii @muru, próbowałem fbterm
. Chociaż działa z 256 kolorami, ma bardzo brzydkie / zniekształcone czcionki. Poza tym w lewym dolnym rogu stale miga kursor, co mnie rozprasza.
Czy mogę używać 256 kolorów w konsoli bez fbterm / framebuffer?
Skąd bierze się limit 8 kolorów w konsoli?
TERM
się xterm-256color
na konsoli Linux, będziesz po prostu otworzyć kolejną puszkę Pandory. Ten link daje podpowiedź.
$TERM
(musi być fbterm
przed rozpoczęciem fbterm
) lub nie 32-bitowy tryb wideo lub oba. Wyłącz kursor konsoli przed uruchomieniem fbterm
i włącz go, gdy tam będziesz, używając tput
. unix.stackexchange.com/questions/220330/…
fbterm
źródło, i byłoby łatwo (ale czasochłonne) przekonwertować sekwencje kodów specjalnych, aby użyć xterm-256color
zamiast nich ( fbterm-xterm
). Konieczne $TERM
byłoby również wprowadzenie terminfo
i termcap
nazewnictwo konwencji ( fbterm-xterm-256color
lub fbterm-256color
) w celu „umieszczenia” w istniejących skryptach powłoki. Zauważ, że fbterm
używa TERM=fbterm
jako przełącznika do włączenia opcji 256 kolorów, w przeciwnym razie jego 16 kolorów (lub może to samo co podstawowa).