Imprima un patrón de prueba de 256 colores en la terminal

Imprima un patrón de prueba de 256 colores en la terminal

¿Cómo imprimo un patrón de prueba de 256 colores en mi terminal?

Quiero comprobar que mi terminal soporta correctamente 256 colores.

Respuesta1

Patrón de prueba de 256 colores

Para obtener la siguiente imagen, utilice:

curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/e50a28ec54188d2413518788de6c6367ffcea4f7/print256colours.sh | bash

Patrón de prueba de 256 colores

Elesencia bash/ zshcódigoesshellchecklimpio y también admite "¡Mira mamá, sin subprocesos!".


Alternativamente, para un bashrapidito:

for i in {0..255} ; do
    printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
    if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
        printf "\n";
    fi
done

Para una exageración total, el abuelo del lote es terminal-colorsunguión de 572 líneascon múltiplesformatos de salida.

Tú también puedesimprimir un patrón de prueba de color verdadero (24 bits).

Respuesta2

Encontre unbuen script de Python para eso en GitHubescrito por Justin Abrahms que también imprime los códigos hexadecimales de los colores.

Descargue el script al directorio de trabajo actual

wget https://gist.githubusercontent.com/justinabrahms/1047767/raw/a79218b6ca8c1c04856968d2d202510a4f7ec215/colortest.py

dale permiso de ejecución

chmod +x colortest.py

Ejecutarlo:

./colortest.py

Aquí está el script completo en caso de que el enlace se rompa:

#!/usr/bin/env python
# Ported to Python from http://www.vim.org/scripts/script.php?script_id=1349

print "Color indexes should be drawn in bold text of the same color."
print

colored = [0] + [0x5f + 40 * n for n in range(0, 5)]
colored_palette = [
    "%02x/%02x/%02x" % (r, g, b) 
    for r in colored
    for g in colored
    for b in colored
]

grayscale = [0x08 + 10 * n for n in range(0, 24)]
grayscale_palette = [
    "%02x/%02x/%02x" % (a, a, a)
    for a in grayscale 
]

normal = "\033[38;5;%sm" 
bold = "\033[1;38;5;%sm"
reset = "\033[0m"

for (i, color) in enumerate(colored_palette + grayscale_palette, 16):
    index = (bold + "%4s" + reset) % (i, str(i) + ':')
    hex   = (normal + "%s" + reset) % (i, color)
    newline = '\n' if i % 6 == 3 else ''
    print index, hex, newline, 

Respuesta3

Mientras nobastanteun "patrón de prueba", tengoselector-de-color-xterm:

captura de pantalla

Respuesta4

Una sola línea

color de fondo

for i in {0..255}; do printf '\e[48;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done

color de primer plano

for i in {0..255}; do printf '\e[38;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done

información relacionada