GNU/Linux >> Tutoriales Linux >  >> Linux

¿Se pueden reemplazar los espacios vacíos/fondo en una terminal con un patrón aleatorio (pero bonito) de caracteres ASCII?

Contexto y Pregunta

Hay muchas formas de colorear el entorno de la terminal y el shell. La salida de comandos individuales, como ls y grep , también se puede colorear. La noción de reproducir medios en la consola no está directamente relacionada, pero es interesante, pero aparentemente se basa en algún marco (bibliotecas) sobre el sistema de ventanas. La siguiente pregunta está dirigida únicamente al bash shell y su implementación en el marco de terminal de Linux y sus fundamentos.

Considere el siguiente montaje de "representaciones" ASCII de una escena en un juego 2D:

Estas no son escenas generadas aleatoriamente. Todos los segmentos que he seleccionado en realidad representan algún tipo de terreno de "pradera" (árboles, arbustos y arbustos, flores, hierba, etc.) de un juego que usa caracteres ASCII para representar dichos objetos. Las últimas 4 escenas muestran conjuntos de fichas creados por usuarios que son básicamente una reasignación de caracteres ASCII con especificaciones de color (dichos detalles son triviales; baste decir que esta es la inspiración visual de lo que estoy tratando de lograr aquí en términos de imágenes y " patrón”).

Las características comunes que comparten esas escenas en el montaje son:

  • 5-6 caracteres ASCII diferentes como máximo (comas, comillas y algunos otros)
  • Se usaron de 2 a 4 colores
    • para los personajes
    • para los fondos de los personajes en algunos casos:el último ejemplo está ahí para mostrar el uso de tonos de color con poco o ningún carácter para crear un patrón, es decir, un mosaico de colores

Lo que tengo en una VM en este momento es Arch Linux y aunque la pregunta no es específica de la distribución, he buscado en su documentación para personalizar el /etc/bash.bashrc expediente. Puedo ver que hay muchas explicaciones para configurar la apariencia del indicador y, en general, todos los elementos de primer plano. Hay poca información sobre cualquier configuración para el fondo, excepto por lo general para un color sólido, como estos ajustes y consejos:

# Background
On_Black='e[40m'       # Black
On_Red='e[41m'         # Red
On_Green='e[42m'       # Green
On_Yellow='e[43m'      # Yellow
On_Blue='e[44m'        # Blue
On_Purple='e[45m'      # Purple
On_Cyan='e[46m'        # Cyan
On_White='e[47m'       # White

Todavía no entiendo conceptualmente qué son esos "espacios" vacíos/en blanco/de fondo que no escribí cuando uso la consola, es decir, "¿de qué están hechos?" por así decirlo. Especialmente aquellos que no están en el aviso, y que envuelven los comandos que se repiten. Con respecto a lo que sucede en la línea activa, es posible demostrar que bash actúa de forma "orientada a la línea" y que algunas operaciones activan una limpieza de la línea activa (for i in $(seq 1 $(expr $(tput lines) * $(tput cols))); do echo -n M; done; tput cup 15 1 , luego, cuando se le solicite, escriba un carácter y retroceda (lo demostró un colaborador), cuyo alcance puede variar de una CLI a otra, es decir, zsh. Además, parece que cuando agrego algo como [

Linux
  1. Trabajar con calendarios en la terminal de Linux

  2. ¿Cómo convertir caracteres hexadecimales a ASCII en el shell de Linux?

  3. ¿Cómo puedo instalar la última Anaconda con wget?

  4. ¿Cómo puedo ejecutar un comando diferente pero con los mismos argumentos?

  5. ¿Por qué no puedo desplazarme en la terminal?

Programe una visita con el psiquiatra de Emacs

Dale un poco de color a tu terminal Linux con lolcat

Ejecute ASCII Globe en la terminal con la utilidad globe-cli

Cómo trabajar con procesos en primer plano y en segundo plano en Linux

Convierta pestañas en espacios en la terminal de Linux con el comando Expandir

Usando el comando tr en Linux para jugar con personajes