Redes Sociales


23 jun 2012

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" = "Ver Log" ]; then
cat /tmp/log
elif [ "$file" = "Abrir carpeta Música" ]; then
xdg-open ~/Música/
elif [ "$file" = "Ir a LinuxZone" ]; then
xdg-open http://www.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" = "Ver Log" ]; then
cat /tmp/log
elif [ "$file" = "Abrir carpeta Música" ]; then
xdg-open ~/Música/
elif [ "$file" = "Ir a LinuxZone" ]; then
xdg-open http://www.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.




Fuente
www.linuxzone.es

0 comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...