Tutorial: Dale vida a tus scripts con Zenity

Hace tiempo que quiero hablaros de esta pequeña pero matona herramienta llamada Zenity, que nos ayuda a ponerle una interfaz gráfica a nuestro scripts mediante funciones, menús o cajas de diálogos ya preconfigurados y combinables entre sí.

En ella podemos encontrar diálogos de calendario, formularios, listas, cuadros de mensajes o alertas, selección de archivos, entrada de texto, barra de progresos, iconos de notificación, etc.

Zenity es una herramienta de GNOME que podemos descargar desde este enlace, pero que está en los repositorios de algunas distribuciones y en otras como Ubuntu ya está instalado por defecto.

Veamos algunos ejemplos de lo que podemos hacer con Zenity. Para ello abrimos nuestro terminal y tecleamos lo siguiente:

zenity --calendar

zenity --password --username

zenity --scale

zenity --width=360 --height=320 --list --title "Ejemplo" --column file "Visita LinuxZone"

zenity --question --width=350 --height=120 --title "El sistema encontró un error critico" --ok-label="Definitivamente" \
--cancel-label="Sí" --text "Windows se encuentra instalado en su disco. ¿Desea desinstalarlo?" ; echo $

Por supuesto esto solo es el marco, lo que queremos que aparezca dentro eso ya depende de nosotros. Por ejemplo, vamos a crear en unos pocos pasos un lanzador con tres sencillas funciones, que nos abra una aplicación, que nos abra una carpeta y que nos lleve a una página web, con la ayuda del comando xdg-open. Abre un editor y escribe lo siguiente:

#!/bin/bash

file=$(zenity –width=360 –height=320 –list –title “Lanzador” –column Acciones “Abrir Gedit” “Abrir carpeta Música” “Ir a LinuxZone”)

if [ “$file” = “Abrir Gedit” ]; then
/usr/bin/gedit

elif [ “$file” = “Abrir carpeta Música” ]; then
xdg-open ~/Música/

elif [ “$file” = “Ir a LinuxZone” ]; then
xdg-open http://linuxzone.es/

else
exit 0

fi

Le ponemos el nombre que queramos, seguido de la extensión .sh y le damos permisos de ejecución.

Como vemos, tan solo hay que seleccionar una de las opciones y le damos a aceptar para que la ejecute.

Pero tal vez no te guste ese dialogo y prefieras una pantalla de selección en la que puedas abrir varias opciones de golpe, pues nada más sencillo, solo tenemos que añadir otra columna y la función –checklist, que podemos ponerla marcada (TRUE) o desmarcada (FALSE) por defecto:

#!/bin/bash

file=$(zenity –width=360 –height=320 –title “Lanzador” –list –column=”” –column=”Acciones” –checklist FALSE “Abrir Gedit” FALSE “Abrir carpeta Música” TRUE “Ir a LinuxZone”)

if [ “$file” = “Abrir Gedit” ]; then
/usr/bin/gedit

elif [ “$file” = “Abrir carpeta Música” ]; then
xdg-open ~/Música/

elif [ “$file” = “Ir a LinuxZone” ]; then
xdg-open http://linuxzone.es/

else
exit 0

fi

En este enlace disponen de varios ejemplos de cuadros de dialogo y muchas opciones para experimentar. Así que ya sabes, si le quieres dar mas vistosidad a tus scripts o simplemente te has animado a empezar a hacer tus “pinitos” en bash, sin duda Zenity te lo pone fácil.

Proyecto Zenity

Compártelo. ¡Gracias!

5 Comentarios
  1. Tannhausser says:

    Muy didáctico el tutorial, es una divertida forma de hacer scripts. Otra opción para los que usan KDE es integrarlos con KDialog.
    Saludos!

Dejar una respuesta

no se hace responsable de las opiniones de los internautas
Por favor revisa la ortografía y respeta las normas de la web.
XHTML: Puedes utilizar los siguientes tags:
<a href=""> <b> <i> <strong>

Linux Zone © 2007 - 2017