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 settingobsł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?
TERMsię xterm-256colorna 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 fbtermi 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-256colorzamiast nich ( fbterm-xterm). Konieczne $TERMbyłoby również wprowadzenie terminfoi termcapnazewnictwo konwencji ( fbterm-xterm-256colorlub fbterm-256color) w celu „umieszczenia” w istniejących skryptach powłoki. Zauważ, że fbtermużywa TERM=fbtermjako przełącznika do włączenia opcji 256 kolorów, w przeciwnym razie jego 16 kolorów (lub może to samo co podstawowa).