Crea ventanas de diálogos desde la consola con Zenity

por | 2 abril, 2016

windows-cloud

Linux es conocido por el gran poder que tiene en la terminal. Un poder no necesariamente reñido con el sistema de ventanas y en este caso me refiero a cajas de dialogo generadas desde la consola, con las que es posible mostrar resultados o incluso poder interactuar con ella.

Para ellos podamos contar con Zenity, un programa que nos permite hacer desde cuadros informativos, de advertencia, formularios y gran variedad de combinaciones con comandos de la consola.

Zenity también es de ayuda a la hora de usar un poco de programación no muy avanzada. Puede verse como funciona, su licencia y versión instalada, al ejecutar el comando con el parametro «about»:

zenity --about

Esta disponible para ser descargado e instalado desde los repositorios de debian, para el caso de la demostración con Ubuntu. Ejecutamos tan solo.

sudo apt-get install zenity

Las cajas de dialogo básicas, dan una idea de la gran variedad de utilidades que podemos crear. La implementación en desarrollos de poco exigencia nos permiten dar soluciones un poco mas modestas que el color monocromatico de la terminal.

.- zenity --entry
.- zenity --info
.- zenity --list
.- zenity --progress
.- zenity --password

Ejemplo 1

Vamos a utilizar algunas de sus opciones con su respectivo comando a implementar, pensemos en querer ver los 5 primeros archivos mas grandes de un directorio ordenados en pantalla.

du -hs * | sort -nr | head -n5 | zenity --list --title "Lista de Archivos" --text "Primeros 5 " --column "Archivos" 

imagen1

Ejemplo 2

zenity --info --title "Saludos al planeta tierra" --text "Bienvenido a lamiradadelreplicante" --display=:0

imagen2

Ejemplo 3

En el siguiente script podemos ver un buen ejemplo de entrada de datos:

imagen3

#!/bin/bash
usuario=$(zenity --title="Nombre de Usuario" --text "Ingrese su Nombre de Usuario" --entry)
(
echo "10" ; sleep 1
echo "# Reorganizando Archivos" ; sleep 1
echo "20" ; sleep 1
echo "# Scaneando en busca de Virus" ; sleep 1
echo "30" ; sleep 1
echo "# Actualizando politicas" ; sleep 1
echo "15" ; sleep 1
echo "#Reiniciando Sistema, hasta la vista." ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
--title="Perfil /home/$usuario" \
--text="Iniciando /home/$usuario" \
--percentage=0

imagen4

Si queréis saber más de este programa lo podéis hacer echándole un vistazo a su manual:

man zenity

3 pensamientos en “Crea ventanas de diálogos desde la consola con Zenity

  1. tannhausser

    Gracias por esta nueva colaboración @anger! Nunca pensé que lo diría pero le quedan bien las ventanas a la terminal 🙂

    Responder
  2. Vicdeveloper

    Muy buena introduccion. Se agradece. Espero poder seguir viendo temas en continuidad de como crear cosas mas complejas.

    Saludos,

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.