Zenity, crea cuadros de diálogo desde la línea de comandos o utilizando scripts de shell

about zenity

En el siguiente artículo vamos a echar un vistazo a Zenity. Esta es una aplicación multiplataforma gratuita y de código abierto, la cual nos va a permitir utilizar scripts de shell para crear una aplicación que pueda interactuar con los usuarios y recibir información. Este software tiene licencia LGPL.

Esta herramienta es una reescritura de gdialog, la cual nos permite mostrar cuadros de diálogo desde la línea de comandos y scripts de shell. Hay muchos usos diferentes para mostrar cuadros de diálogo, pero debido a su simplicidad y facilidad de uso, esta es una buena opción para los desarrolladores de scripts.

Se trata de una herramienta que utiliza la librería GTK, y nos va a permitir trabajar con ella en GNOME, pero Zenity no se limita únicamente a este entorno de escritorio, aun que se integra mejor con los escritorios basados en GTK, es válido para cualquier otro.

Instalación de Zenity en Ubuntu

Zenity es una aplicación que viene preinstalada en casi todas las distribuciones de Gnu/Linux. En Ubuntu podemos verificar fácilmente si Zenity está instalado en nuestro sistema escribiendo:

zenity --help

zenity --help

Si por el motivo que sea no tienes instalada esta herramienta en tu sistema, puedes abrir una terminal (Ctrl+Alt+T) e instalarla escribiendo el comando:

sudo apt install zenity

Algunos ejemplos de uso

Esta herramienta la podremos utilizar directamente desde la línea de comandos, pero también podremos utilizarla en scripts de shell. Los siguiente solo son algunos ejemplos de lo que podemos hacer con esta herramienta, existen otras posibilidades que se pueden consultar en la ayuda de Zenity.

Cuadro de diálogo para la entrada de texto

Podremos crear un cuadro de diálogo de entrada de texto fácilmente, el cual nos ayudará a tomar la entrada del usuario. Para crearlo solo tendremos que ejecutar:

diálogo de entrada

zenity --entry --text="Escribe tu nombre"

Cuadro de diálogo con mensaje

Esta opción nos va a permitir ver diferentes tipos de ventanas de dialogo con mensajes, como son:

–error: Nos permitirá crear una ventana de diálogo en la que mostrar errores.

diálogo de error

zenity --error --text=”ERROR en la ejecución”

–question: Con esta opción podremos crear un cuadro de diálogo en la que mostrar preguntas al usuario.

–warning: Vamos a poder mostrar un cuadro de diálogo al usuario con advertencias.

–info: Esta opción nos dará la posibilidad de crear un cuadro de diálogo en la que mostrar información al usuario.

diálogo info

zenity --info --text="Mensaje de información"

Notificación

Con Zenity podemos crear una notificación que aparecerá en el sistema.

notificación con Zenity

zenity --notification --window-icon="info" --text="Notificación creada con Zenity"

Cuadro de diálogo para mostrar un calendario

El siguiente comando nos será de ayuda a la hora de crear un cuadro de diálogo en el que se mostrará un calendario. Este cuadro dispone de algunas opciones que se pueden usar junto con al cuadro de diálogo. Estas son:

–title= Podremos indicar el nombre que aparecerá como título de la ventana.

–text= El texto aparecerá encima del calendario.

–day= Indica que el día seleccionado en el calendario. Debe ser un número entre 1 y 31.

–Month= Indica que el mes seleccionado del calendario. Debe ser un número entre 1 y 12.

–Year= Indica el año seleccionado en el calendario.

zenity diálogo calendario

zenity --calendar --title="Selecciona una fecha" --text="Haz clic sobre una fecha para seleccionarla" --day=07 --month=12 --year=2021

Cuadro de diálogo para la selección de archivos

El cuadro de diálogo de selección de archivos nos va a permitir seleccionar archivos y directorios. Tan solo será necesario escribir el comando:

selecciona un archivo con zenity

zenity --file-selection --title="Selecciona un archivo"

Cuadro de diálogo de un selector de color

Este diálogo nos va a mostrar una paleta para la selección de color. El comando a utilizar será:

diálogo de selección de color

zenity --color-selection --show-palette

Cuadro de diálogo de progreso

Este cuadro de diálogo de progreso, será de ayuda a la hora de crear una barra de progreso.

cuadro de diálogo de progreso

zenity --progress --pulsate --text="Barra de progreso"

Cuadro de diálogo para escribir usuario y contraseña

El cuadro de diálogo para contraseña nos va a ayudar a crear un cuadro de diálogo de entrada para que el usuario escriba un nombre de usuario y una contraseña. Para crearlo solo tendremos que ejecutar:

diálogo password

zenity --username --password

Cuadro de diálogo de escala

Este cuadro nos servirá para crear una ventana que incluya una barra deslizante que podemos mover de 0 a 100. Un uso básico de este ejemplo sería:

diálogo de escala

zenity --scale --text="Selecciona un valor" --value=90

Hay que decir que todas estas posibilidades para crear cuadros de diálogo tienen opciones de configuración, pero en este ejemplo hemos visto solo las posibilidades básicas.

Esta es una pequeña aplicación que ya tiene su tiempo, y con ella podremos realizar más cosas que las que acabamos de ver. Existen aplicaciones similares, pero gracias a su sencillez, esta todavía destaca de manera diferente. Se puede saber más sobre esta herramienta en el manual del proyecto.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.