Inicio Novedades Zenity, crea cuadros de diálogo desde la línea de comandos
about zenity

Zenity, crea cuadros de diálogo desde la línea de comandos

En este artículo solo veremos cómo utilizar esta herramienta desde la terminal

por entreunosyceros

Una vez más aquí. Hoy vengo a hablar sobre Zenity. Esta es una aplicación multiplataforma gratuita y de código abierto con licencia LGPL, 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 programa me ha venido bien para un script de shell que estuve escribiendo esta semana, y por eso me he decidido a dejar este artículo, por si a alguien le puede venir bien también.

La aplicación es una reescritura de gdialog, y nos va a permitir 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, que nos va a permitir trabajar con ella en GNOME, pero Zenity no se limita únicamente a este entorno de escritorio, sino que es válido para cualquier otro. Aun que se integra mejor con los escritorios basados en GTK.

¿Qué podemos hacer con Zenity?

La última versión de Zenity publicada nos va a permitir crear los siguientes cuadros de diálogo:

  • Calendarios.
  • Texto de entrada.
  • Textos largos.
  • Formularios.
  • Solicitud de nombre de usuario y contraseña.
  • Mensajes de error, información y advertencia.
  • Selector de archivos.
  • Selector de color.
  • Listas.
  • Ícono en el área de notificación (bandeja del sistema).
  • Barra de progreso.
  • Pregunta al usuario, dando la posibilidad de responder aceptar o cancelar.
  • Registro de escala.

Instalación de Zenity en Ubuntu

Zenity es una aplicación que viene preinstalada en casi todas las principales 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 se 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 directamente en scripts de shell.

Diálogo de entrada de texto

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

Dialogo de entrada de texto
zenity --entry --text="Escribe tu nombre"

Diálogo de 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:

dialogo de contraseña
zenity --username --password

Diálogo de selección de archivos

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

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

Diálogo de mensaje

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

error: Opción para mostrar una ventana de error.

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

–question: Opción para ver una ventana desde la que realizar preguntas al usuario.

–warning: Esta opción nos va mostrar ventanas de advertencias.

–info: Opción para mostrar información al usuario.

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

Diálogo de calendario

Este cuadro de diálogo nos será de ayuda a la hora de crear un cuadro de diálogo de 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 cuadro de diálogo del calendario. Debe ser un número entre 1 y 31.

–Month= Indica que el mes seleccionado en el cuadro de diálogo del calendario. Debe ser un número entre 1 y 12.

–Year= Indica el año seleccionado en el cuadro de diálogo del calendario.

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

Diálogo de selección de color

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

dialogo selección de color
zenity --color-selection --show-palette

Icono de notificación

Con Zenity podemos crear un icono de notificación que aparecerá en la bandeja del sistema.

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

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.

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

Diálogo de escala

El diálogo de escala ayuda a crear una ventana con una barra deslizante que podemos mover de 0 a 100. Un uso básico de este ejemplo sería:

dialogo de escala
zenity --scale --text="Selecciona un valor" --value=90

Esta es una pequeña aplicación que ya tiene su tiempo, con la que 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.


También te puede interesar ...

Deja tu comentario

* Al utilizar este formulario, acepta que este sitio web almacene y maneje sus datos.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

logo expressVPN - Obtén 30 días gratis

Si te preocupa la seguridad de tus datos, o si quieres saltarte los geobloqueos para ver tus streamings favoritos, consigue una VPN segura y de calidad GRATIS durante 30 días (cancela cuando tú quieras, sin coste alguno). Disponible para todas las plataformas y navegadores.