InicioLinuxTutorial: Dale vida a tus scripts con Zenity

Tutorial: Dale vida a tus scripts con Zenity

Linux6/25/2012
Amhid144 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://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" = "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 Diálogo de progreso Use la opción --progress para crear un diálogo de progreso. Zenity lee línea por línea los datos desde la entrada estándar. Si una línea se antepone con #, el texto se actualiza con el texto en esa línea. Si una línea contiene solamente un número, el porcentaje se actualiza con ese número. El diálogo de progreso soporta las siguientes opciones: --text=texto Especifica el texto que se muestra en el diálogo de progreso. --percentage=porcentaje Especifica el porcentaje inicial que se establece en el diálogo de progreso. --auto-close Cierra el diálogo de progreso cuando se ha alcanzado 100% --pulsate Especifica que la barra de progreso pulse hasta que se lea un carácter EOF desde la entrada estándar. El siguiente script de ejemplo muestra cómo crear un diálogo de progreso: #!/bin/sh ( echo "10" ; sleep 1 echo "# Actualizando los registros de los correos" ; sleep 1 echo "20" ; sleep 1 echo "# Reiniciando las tareas de cron" ; sleep 1 echo "50" ; sleep 1 echo "Esta linea se ignorará" ; sleep 1 echo "75" ; sleep 1 echo "# Reiniciando el sistema" ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress title="Actualizando los registros del sistema" text="Rastreando los registros de los correos..." percentage=0 if [ "$?" = -1 ] ; then zenity --error text="Actualización cancelada." fi Diálogo de Advertencia Use la opción --warning para crear un diálogo de advertencia. El siguiente script de ejemplo muestra cómo crear un diálogo de advertencia: #!/bin/bash zenity --warning --text="Desconecte el cable de eléctrico para evitar un shock eléctrico." Diálogo de Error Use la opción --error para crear un diálogo de error. El siguiente script de ejemplo muestra cómo crear un diálogo de error: #!/bin/bash zenity --error --text="No se pudo encontrar /var/log/syslog." Diálogo de Pregunta Use la opción --question para crear un diálogo de pregunta. El siguiente script de ejemplo muestra cómo crear un diálogo de pregunta: #!/bin/bash zenity --question --text="¿Está seguro de que quiere continuar?" Aquí les dejo una página con todos los comandos más prominentes de esta útil herramienta
Datos archivados del Taringa! original
73puntos
1,196visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

A
Amhid144🇦🇷
Usuario
Puntos0
Posts22
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.