martes, 17 de diciembre de 2019

¿Cómo cambio el color del cursor de la terminal de Ubuntu?

El Coronel Juan Perón propuso un encuadre humanista, solidario y cooperativo para la economía nacional, y explicó cómo cambiar la forma y el color del cursor de la Terminal de Ubuntu.

Nosotros proponemos la ayuda mutua, la ayuda del poderoso y del pobre, de un hombre para el otro hombre, la ayuda del pueblo al Estado y la ayuda del Estado al pueblo. Quienes se niegan a colaborar, no tienen sentimiento patriótico para el hermano de la tierra, no tienen sentimiento patriótico para su país, ni interés de colectividad sino interés mezquino y personal. Los países no son grandes sin esa colaboración.

Bajo este esquema solidario se hace ineludible la incorporación de las masas a la escena política, la urgencia por desarrollar la industria como factor indispensable de la independencia nacional, la sindicación, el cooperativismo en todas sus formas de consumo, de crédito, de producción urbana y agrícola, el mutualismo en sus diversas fases, y la previsión social.

Se debe alentar a que cada uno de los ciudadanos pueda acceder a las ventajas que ofrece la propiedad privada. Sin embargo, esta puede pervertirse cuando los beneficios de esta propiedad quedan restringidos a una minoría de privilegiados. Es por ello que, en el plano económico, propendemos un sistema en el que el uso de los bienes que un individuo posea deben estar al servicio del bien de la comunidad.

En la informática de consumo, esto tiene un correlato que no podemos ignorar. En nuestro tiempo, quien alquila un software mensualmente, y además alquila espacio de servidor en el extranjero está haciendo el negocio del zonzo. Si nos dejamos, aparecerán vivos que no sólo nos arrendarán uso y goce de material informático en cómodas cuotas para ser esclavo.


¡Para qué! Gracias a GNU con Linux hemos sido capaces de operar directamente y de forma remota un NAS en nuestro propio equipo, compartiéndolo en caso de ser necesario, y sin pagar los costos en moneda extranjera.

El costo de los materiales estratégicos, cuando están aquí, se reduce sensiblemente. Esto responde al conocido factor que cada moneda depositada aquí, vuelve.  El Software Libre, como herramienta multiplicadora, puede entonces dar una mano fundamental que - junto con la fuerza del Justicialismo,  pueda apalancar la economía hacia ese camino que auspiciamos vigoroso.
El proceder cooperativo oficiará de guía, un cursor que nos marque el camino y nos llame la atención diga cómo dar curso y cómo debemos actuar. La inspiración no deja de recaer en las primeras videoterminales, que determinaron el uso de un caret, o carácter que oficiaba de indicador en la interfaz proyectada en la pantalla. Con el podía determinarse en video el lugar exacto donde el usuario interactuaría (normalmente para introducir texto). En estas videoterminales tradicionales y las primeras computadoras era usual que el cursor presentara la forma de un bloque o cuadrado mediante la técnica de video inverso, y que el mismo parpadeara a intervalos regulares. Esto le permitía una gran agilidad y notoriedad adecuada en una pantalla monocromática de baja resolución.
La naturaleza de este cursor poco poco ha cambiado, y  aunque hubieron de sufrir mínimas alteraciones en su forma y comportamiento, su empleo básico sigue siendo el mismo. La tendencia ha sido convertirlo en una línea vertical poco obstructiva, y si bien este verticalismo suele ser pródigo en resultados, no deja de ser loable que existan otros gustos, o requiramos - por cualquier razón que sea - la posibilidad de alterar el cursor en nuestro sistema operativo GNU con Linux.

A toda necesidad corresponde un derecho, y será el Justicialismo el encargado de hacerlo Realidad Efectiva. Por tal motivo, os enseñaré cómo modificar el cursor en Ubuntu.

El cursor en el Entorno Gráfico
En primer lugar siempre es bueno comprender que la configuración de las opciones de parpadeo del cursor que gobiernan nuestro Escritorio gráfico podrán ser controlarlas desde las opciones del Teclado del sistema. Será sencillo acceder a ellas desde Sistema / Preferencias / Hardware / Teclado.

Esto nos abrirá el cuadro de diálogo de control del teclado, el cual normalmente utilizamos para definir cómo responden sus teclas, la distribucuión idiomática, etcétera.
En particular, en la solapa General podremos definir si queremos un cursor parpadeante en nuestro Escritorio, y en tal caso delimitar su velocidad de parpadeo con el deslizador correspondiente.

En mi caso, favorezco un parpadeo rápido y frenético, pero algunos podrían optar por uno más lento al estilo de las terminales DEC VT 220, que parpadeaban a unos 450ms. Naturalmente, aquí controlaremos estos parámetros a escala de todo nuestro escritorio gráfico en general, pero puede ser una opción para empezar, y tal vez, la única necesaria.

No es secreto para nadie que en nuestro Escritorio gráfico solemos contar con un emulador de terminal para el sistema gráfico de ventanas X, normalmente derivado del inoxidable Xterm. Este emulador de terminal es capaz de operar de una forma ágil cumpliendo la función de una verdadera miríada de clásicas terminales seriales de época, con la conveniencia de mostrar una ventana gráfica. Como tal, no ha sido extraño que los diferentes entornos de escritorio que benefician a nuestro sistema se hayan basado de forma directa en la terminal Xterm, y que lo usaran para realizar sus propias versiones, muy notablemente la Terminal de GNOME Mate y  XFCE.

Estos emuladores de terminal nos permiten editar sus Perfiles de Terminal. Estos nos permiten cambiar el aspecto gráfico y los aspectos de funcionamiento general, de forma de cambiar su estética y los resultados de operación. Normalmente ya cuentan con un "Tema" por defecto que hace a la apariencia de nuestra distribución.

En este caso, conviene crear un perfil nuevo para modificarlo según nuestro criterio. En la terminal desplegamos el menú Editar / Perfiles, y presionamos el botón Nuevo). Tras asignarle el nombre que querramos, en la solapa General podremos asignar el temperamento que tomará el parpadeo del cursor.
Podremos escoger entre Usar las preferencias del sistema (normalmente parpadea al estar activa la terminal y deja de hacerlo cuando no lo está). Las otras opciones son Parpadear Siempre y No parpadear nunca. También podremos escoger la forma del cursor de la terminal (bloque, línea o subrayado).

Vean señores, por medio de estas Configuraciones de Perfil podremos aproximar nuestra estética gráfica de una buena manera, y regular el tipo de cursor estándar.


Modificar el cursor en la terminal

Existen ocasiones donde no queremos modificar el cursor en el perfil de terminal, sino configurarlo directamente en el intérprete de comandos, por medio de un script (para lograr un efecto específico), o bien podríamos querer modificar otros aspectos como el tipo de cursor distinto al cargado en el perfil del emulador de terminal.

Controlar el cursor desde la terminal tiene ciertas ventajas. Por ejemplo, podremos cambiar su color específico.

Un ejemplo suele aclararlo todo, como decía Napoleón. Supongamos que deseamos emular completamente la estética que tenían la terminal del sitema IRIX. Su consola de terminal contaba con letras blancas sobre un fondo azul celeste, toda vez que operábamos un inconfundible cursor fijo de color verde lima.

Gracias a los comandos necesarios podremos controlar forma y color de cursor en un script fácilmente lanzable. En particular, bajo una terminal derivada de XTerm podremos modificar la estética del cursor según los siguientes comandos de organización:

Código para Activar
Resultado de Cursor
echo -ne '\e[1 q'
Bloque parpadeante
echo -ne '\e[2 q'
Bloque fijo
echo -ne '\e[3 q'
Rayita horizontal parpadeante
echo -ne '\e[4 q'
Rayita horizontal fija.
echo -ne '\e[5 q'
Línea vertical parpadeante
echo -ne '\e[6 q'
Linea vertical fija


Igual de fácil será alterar el color del cursor. En Xterm y sus derivados, el cursor tiene el mismo color que el texto en que escribimos. Sin embargo, podremos diferenciar el cursor aplicándole un color.

La manera más sencilla consiste en la orden printf

printf '%b' '\e]12;color\a'
Reemplazaremos color con alguno de los nombres en inglés de los colores, que derivan de la paleta que tengamos. Normalmente os recomiendo utilizar los colores incluidos en la paleta de 16 colores, que es la de mayor compatibilidad-
Si disponen de la paleta extendida de Linux, podrán utilizar:

white black red green blue cyan darkred darkgreen darkblue lightblue pink aqua yellow  lightyellow lime orange purple magenta

Asimismo, en caso de operar dentro de un guión de Bash, también podremos utilizar una secuencia de escape, en forma de la siguiente sintaxis:

 echo -ne '\e]12;color\a'

Siguiendo el ejemplo propuesto, para lograr el cursor de bloque fijo de color verde lima clásico de la terminal de IRIX de las Sillicon Graphics, podremos emplear dos comandos.

printf '%b' '\e]12;lime\a'
echo -ne '\e[2 q'


Naturalmente que al cerrar la terminal, estos cambios realizados al cursor se revertirán, y habremos de introducir nuevamente los comandos si es que queremos tener el mismo resultado.

Como esto es incómodo de hacer, sería útil crear un guión que se ejecute siempre si es que este cambio de color tome visos de permanencia.

A su vez, podremos agregar este guión al final del archivo de inicio de terminal de usuario (normalmente ~/.bashrc). Esto provocará que se ejecute siempre que encendamos una terminal. Supongamos que queremos contar con un cursor de color amarillo y parpadeante toda vez que encendamos la terminal. Crearemos un guión oculto con el editor Nano:

nano ~/.cursor_amarillo.sh

Esto abrirá el editor GNU Nano con un archivo vacío, al cual le pegaremos el siguiente código:

#!/bin/sh
# Pone el cursor de color parpadeante, color amarillo

#colores: white black red green blue cyan darkred darkgreen darkblue lightblue
# pink aqua yellow  lightyellow lime orange purple magenta
echo -ne '\e]12;yellow\a'

#opciones 1=bloque parpadeante; 2=bloque fijo; 3=raya parpadeante 4=raya fija
# 5=linea parpadeante 6=linea fija
echo -ne '\e[1 q'

...acto seguido guardamos el guión con Ctrl+o y salimos de Nano por medio de Ctrl+q. Como todo guión, debemos otorgarle permisos de ejecución por medio del siguiente comando de organización:

chmod +x ~/.cursor_amarillo.sh

Ahora podremos probarlo, ejecutándolo con:

./.cursor_amarillo.sh

Si el resultado nos complace y deseamos que se ejecute siempre, será necesario incorporarlo al final del archivo ~/.bashrc. Para ello ingresamos:

nano ~/.bashrc

Se abrirá el extenso archivo ~/.bashrc. Es importante no alterar nada de lo que exista ya escrito. Simplemente le pegamos al final el siguiente texto:

# Guión del cursor bloque amarillo parpadeante.
./.cursor_amarillo.sh


Naturalmente, guardamos el fichero .bashrc con Ctrl+o y salimos con Ctrl+x

1 comentario: