Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

domingo, 6 de septiembre de 2015

Cómo personalizar la pantalla de bienvenida de la consola

El post de hoy más que relacionado con algo "productivo" está relacionado con algo curioso o más bien decorativo, pues está relacionado con un aspecto visual de la terminal. ¿Quien no ha visto una terminal en la que según arrancan ven un curioso logo o una presentación de lo más ingeniosa? Más de uno se habrá preguntado cómo es posible lograr eso y es por ello que hoy intentaré enfocar dicho punto para que uno pueda tener su bienvenida personalizada en su propio equipo. Existen diferentes maneras para lograr tener unos mensajes de lo más curiosos, si bien todos ellos tienen como origen un mismo punto: el fichero .bashrc. Sí, habéis leído bien, el fichero comienza con un . ya que se trata de un fichero oculto que por lo general no puede ser visto a menos que se realice un ls -a dentro del directorio donde se aloja, si bien este fichero se aloja en varios sitios; concretamente en la carpeta home de cada usuario (excepto para root, cuya carpeta sería /root).


El fichero .bashrc tiene como objetivo ser ejecutado cada vez que se realiza una sesión desde cualquier punto, ya sea desde una sesión ssh o desde una terminal y es ejecutado justo después de que el usuario se haya autenticado exitosamente. Así pues, cualquier tipo de personalización de la pantalla de bienvenida debe hacerse aquí, si bien es recomendable no modificar en demasía este fichero. Lo más común y recomendable suele ser añadir una única acción en este fichero... Muchos pensareis que esto no parece muy útil, pero en verdad esa acción puede dar para mucho, ya que dicha acción puede ser lo que uno quiera: Desde un simple echo, a la ejecución de un script que ya tenemos previamente preparado o la ejecución de un comando. Es por ello que veremos las diferentes posibles acciones que podemos tomar en este fichero:


Lo más básico: Texto plano

Comenzaremos con la prueba más básica de todas: La muestra de un texto plano al loggearnos. Aunque esto se puede hacer de forma muy sencilla y en una sola línea, para tenerlo todo mejor gestionado crearemos un txt en la carpeta home del usuario con el que nos loggearemos; por ejemplo mensaje.txt. Al querer algo realmente básico podríamos poner un mensaje parecido a éste:

  1. ¡Hola bienvenid@ a mi terminal!

Esto evidentemente sería un texto simplificado al máximo, pero que sería perfectamente válido para nosotros. Con este mensaje preparado, podríamos añadir la lectura de éste al final del fichero; lo cual se puede realizar editando a mano el fichero escribiendo un comando muy sencillo que en este caso se aplicaría al fichero alojado en /root pero que bien podría aplicarse a cualquier otro bashrc alojado en otro directorio:

  1. echo 'cat mensaje.txt' >> /root/.bashrc

Si ahora nos loggeasemos como root por ssh o directamente desde la consola se nos mostraría el mensaje de bienvenida justo antes del prompt de la consola tal que así:

Texto_bienvenida


Mostrando imágenes en la bienvenida


Aunque el concepto anterior puede parecer interesante, es completamente normal pensar que dicho mensaje es bastante simple y que se quiere algo más vistoso... Aquí existen varias opciones, tales como poner varias líneas o intentar realizar algo un poco más laborioso, como por ejemplo la inserción de una imagen. El problema aquí es evidente ya la terminal solo admite texto; con lo que aquí se nos presentarían dos opciones: La primera y la menos práctica sería intentar realizar diferentes formas y dibujos mediante caracteres... Cosa laboriosa, tediosa y muy poco práctica; mientras que la segunda opción sería optar por un conversor de imágenes a formato ASCII. Existen muchas opciones online para lograr este propósito; yo en mi caso en concreto he optado por picascii.com que personalmente me ha parecido muy sencillo de usar... Aquí podemos subir lo que nos venga en gana, si bien es recomendable que la imagen en cuestión sea relativamente pequeña (unos 150 px de ancho y alto) para que luego no quede excesivamente grande en la consola. Yo en mi caso he optado por usar un tux como imagen de bienvenida y aquí abajo os muestro el antes y el después:
Imagen_antes_despues
Antes/Después

Ahora únicamente habría que copiar el resultado ASCII obtenido y pegarlo en nuestro mensaje.txt, sustituyendo nuestro anterior texto por nuestra nueva imagen, obteniendo como resultado nuestra nueva imagen como bienvenida.


Usando un script nuestro como bienvenida

En caso de que nos guste jugar un poquito con bash scripting, podemos hacer algunos trucos para que nos muestre información del sistema... Por ejemplo en este caso, basándonos en algunos trucos de bash y usando el script que hice en su día para controlar la salud del equipo puedo mostrar el estado del sistema en el momento en el que hacemos loggin:

Estado_equipo

La diferencia radicaría en que en este caso no hablaríamos de un txt sino que tendríamos que tratar con un script, es decir con un .sh y al tratarse de un script y no un texto, ya no habría que leer el contenido de éste mediante cat, sino que habría que ejecutar directamente el script, con lo que suponiendo que nuestro script se denominase mensaje.sh habría que modificar la última línea de nuestro fichero .bashrc para que tuviese este aspecto, suponiendo que el script creado esté albergado dentro del directorio /root:

  1. /root/mensaje.sh


Usando alternativas predefinidas

Si somos personas a las que nos nos apetece programar en bash script y queremos que nos den todo hecho para que simplemente al loggearnos nos muestre toda la información de forma vistosa; existen alternativas tales como screenFetch que simplemente requieren ejecutar el script y punto. Dicho script no solo mostraría la información del sistema, sino que también el logo del sistema operativo en formato ASCII, con lo que podría considerarse como una combinación de los conceptos atrás mostrados.

Aunque Debian 8 de por sí ya incorpora la opción de instalar esta utilidad desde los repositorios, la mayoría de las distribuciones no son capaces de lograr dicha tarea con lo que optaré por el método más "universal". Para poder descargarnos la herramienta podemos descargarla directamente desde el repositorio en formato zip, en caso de tener un navegador web o sino, en caso de tener únicamente disponible la consola, habría que hacer uso de git, para poder clonar el contenido del repositorio en nuestro directorio. Esto último es tan sencillo como escribir:

  1. git clone https://github.com/KittyKatt/screenFetch

Ahora sería tan sencillo como copiar el script screenfetch-dev a la ubicación que nosotros deseemos para después llamar a dicho script desde .bashrc dando como resultado esta pantalla de bienvenida en un entorno Debian:



Espero que os haya resultado útil.

Saludos.

No hay comentarios :

Publicar un comentario