Creando entornos de instalación con bash (Episodio II: El ataque de los GUI’s)

Jeison Samir Castro S.
4 min readSep 2, 2016

--

Continuando con mi post anterior, en la que nos adentrábamos al Scripting y a la creación de Script de instalación, ahora ha ese procedimientos agregaremos ciertos elementos visuales con herramientas gratuitas que por defecto vienen con nuestro sistema operativo bajo UNIX.

Entornos de Escritorio

No vamos a perder el orden de las cosas, en el post anterior mencioné que era importante el orden que manteníamos a la hora de agregar lineas de comandos, bien, lo mismo va a suceder si agregamos lineas de comandos que invoquen a nuestro entorno de escritorio, al manejar un entorno Linux podemos encontrar :

  • GNOME: que usa bibliotecas gráficas GTK y bajo licencia GPL una de sus características es que es muy configurable.
  • KDE: que se basa en las bibliotecas gráficas Qt, al igual que GNOME es bastante configurable y aun que esta diseñado para tener un escritorio “bonito” se dice que consume exagerados recursos , pero en el caso de este entorno de escritorio no sucede así, si lo usan verán que se acomoda a la configuración que le demos incluso en PC con pocos recursos de hardware.
  • Unity: Seguramente has escuchado de el, bien este entorno fue creado por la compañía canonical para Ubuntu, que por cierto es la mas popular de las distros si de SO para escritorio hablamos .
  • LXDE: es otro que también esta bastante extendido en los sistemas UNIX , sus componentes tienden a ser independientes, funciona bien para equipos con recursos escasos.
  • XFCE: es el que particularmente uso, se trata de un entorno bastante ligero para sistemas Unix, este entorno fue creado por Olivier Fourdan, y según sus propias palabras dice que XFCE está:

“diseñado para la productividad, las apliacciones se cargan y se ejecutan rápidamente, mientras se conserva recursos del sistema”

Resulta muy ideal para computadoras con recursos bajos, sin embargo también puede ser con figurable, y en este post usaremos la herramienta Zenity para sacar el potencial de este entorno.

Por ahí encontré foros en donde ponían en debate cual entorno es mejor, sin embargo para no caer en aveces tan ridícula discusión se trata de simplemente gustos a la hora de tunear nuestro equipo, y entra en detalle cuales son las limitaciones de nuestra PC o que nos parece mas vistoso y cual manejamos mejor conforme nos acostumbramos a trabajar sobre un entorno.

GUI en entornos UNIX

Lo que haremos no sera mas que integrar dialogo visuales, botones, barra de procesos, alert etc.

Para nuestros Script, sin embargo la creación de GUI ya es bastante extendido, y podemos encontrar buenas librerías que hagan esto, para cada lenguaje de programación hay librerías que permitan su creación python, ruby, php etc.

Uno bastante bueno es usar Gambas con Basic como lenguaje. Es un lenguaje de programación libre derivado de Basic en otras palabras todo lo que puedes hacer con Visual Studio de Microsoft lo puedes hacer con Gambas pero bajo licencia GNU GPL.

Un libro que les puede ayudar para probar de forma básica y avanzada sobre Gambas es el siguiente.

Zenity

Antes de empezar a integrar Zenity a nuestros Scripts, vamos a dar el concepto de que es Zenity para ello tomamos el concepto según Wikipedia que esta bastante bien .

“es un programa para desplegar ventanas de diálogo que reciben o entregan información procesable con scripts en bash, por ejemplo. Es algo así como la versión moderna del comando dialog, pero que usa las bibliotecas GTK+ para sus propósitos”

esta es la pagina oficial de Zenity

Nos ofrece la integración de:

  • diálogos de calendario
  • diálogos de contraseñas
  • formularios
  • mensajes
  • diálogos de proceso
  • iconos de notificación
  • entradas de texto

Creando un instalador

Compartiré lo que realizé hace un tiempo en la empresa devAcademy, detalles de esto lo mencioné en el anterior post.

Le código de instalación lo pueden encontrar en mi Github.

Les explicaré cada linea de código y las posiciones en las que coloque los comandos zenity así como otros comandos que nos permitirán personalizar la instalación.

La explicación la daré en el mismo código con “ # ”.

Espero que este artículo sea de tu agrado y si te gustó dale click en el ❤, gracias.

--

--