Script bash con interfaz gráfica con zenity

closeHola! hace 7 years 2 months 12 days que escribí esta entrada, puede que esta información ya no sea valida en la actualidad, por favor se comprensivo conmigo cuando comentes 🙂

Hoy les traigo un ejemplo muy practico para usar en nuestros script, se trata de zenity. Es una librería de gnome la cual nos permite crear diálogos simples en nuestros script, tiene funciones muy practicas como:

  • Calendario
  • Seleccionador de archivos
  • Lista
  • Icono de notificación
  • Mensajes (Error,Información,Pregunta,Advertencia)
  • Progreso
  • Entrada de texto
  • Información de texto

Screenshot

Código de Ejemplo

#!/bin/bash
#Ejemplo de un script bash con interfaz grafica :: zenity
[email protected]
#http://jodacame.com
 
 
 
opcion=`/usr/bin/zenity --title="Ejemplo GUI Bash con zenity" --width=400 --height=300 
                         --text="Selecciona cualquiera de los siguientes ejemplos" 
                         --list --column="Seleccionar" --column="Mensaje" 
                         --checklist FALSE "Mostrar Mensaje de Error" FALSE "Mostrar Calendario" FALSE "Mostrar mensaje de error personalizado" FALSE "Barra de progreso" `
 
 
if [ $? -eq 0 ]
then
        IFS="|"
        for opcion in $opcion
        do
               if [ "$opcion" = "Mostrar Mensaje de Error" ];
                     then 
                      /usr/bin/zenity --error
               elif [ "$opcion" = "Mostrar Calendario" ]
                     then
                   fecha=`/usr/bin/zenity --calendar`
                   /usr/bin/zenity --info --title="fecha seleccionada" --text="Seleccionastes $fecha"
              elif [ "$opcion" = "Mostrar mensaje de error personalizado" ]
                     then
                     msg=`/usr/bin/zenity --entry --text="texto para el error"`
                     /usr/bin/zenity --error --text="$msg"
              elif [ "$opcion" = "Barra de progreso" ]
                     then
                     val=`/usr/bin/zenity --entry --title="barra de progreso" --text="Valor para la barra de progreso"`
                     /usr/bin/zenity --progress --percentage="$val" --text="Valor ingresado: $val"
 
               fi
        done
        IFS=""
        /usr/bin/zenity --info --text="<b>Terminado!</b> Espero que sea de tu agrado este ejemplo,  nvisita <b>http://www.nexxuz.com</b>"
else
         /usr/bin/zenity --info --text="<b>Cancelado!</b> Espero que sea de tu agrado este ejemplo,  nvisita <b>http://www.nexxuz.com</b>"
fi

Guardarlo en un archivo ejemplo.sh después le damos permisos de ejecución

chmod +X ejemplo.sh

y para ejecutarlo escribimos

./ejemplo.sh

Documentación

http://library.gnome.org/users/zenity/stable/

You may also like...

1 Response

  1. Armandobizarro dice:

    Justo lo que estaba buscando
    ¡Muchas gracias por el aporte!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *