Existe uma maneira de alterar as cores usadas nos consoles TTY no Linux?

11

Por "alter colors", quero dizer algo como change black de #000000 to #111111 e por "TTY console", quero dizer o que você obtém quando faz Ctrl + Alt + F1 do X11, não um emulador de terminal como xterm ou urxvt .

Estou usando o Arch Linux, mas acho que tem mais a ver com o programa que fornece o TTY ( agetty , eu acho).

    
por Austin Hyde 23.07.2011 / 05:12

3 respostas

2

O comando setterm é o que você está procurando.

setterm -foreground black -background white

EDITAR

Não, não há como alterar os nomes das cores conforme solicitado. Eles não são referenciados dessa maneira em qualquer lugar em curses, terminfo ou no próprio terminal. Você poderia alterar as definições dos índices de cor (0-15 eu acho) editando a fonte do kernel e recompilando.

    
por 23.07.2011 / 07:53
11

Isso é totalmente possível e é algo que eu faço na minha configuração do Arch.

Você pode colocar algo assim em um shell script e executá-lo no login:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0151515" # Black
    echo -en "\e]P1ac4142" # Red
    ...
    echo -en "\e]PEac4142" # Bright Cyan
    echo -en "\e]PFac4142" # Bright White
    clear # Clear artifacts
fi

As \e]P0 a \e]PF (base 16) são as seqüências de escape que você precisa para definir as 16 (8 semi brilhantes, 8 brilhantes) cores. Depois disso, você coloca a sua cor de substituição desejada, por ex. 151515 .

    
por 13.06.2012 / 21:00
0

Este é o melhor comando que conheço:

setterm -clear all -foreground green -bold -store

Você só pode ter 8 cores diferentes. Talvez um pouco mais usando o brilho na frente do básico 8.

    
por 24.07.2013 / 23:58