Zenity, interfaces nativas GTK+ desde terminal.

Hoy les vengo hablar de zenity. No me voy a detener a explicar que es porque existe bastante documentación y un man bien masticadito, que mejor no podía estar. Pero bueno, aquí les dejo, para los que le gusta estar creando sus scripts y quieren darle algo de vida con una interfaz.

Zenity, Zen Dialogs, es un software que permite generar diálogos simples empleando la biblioteca de GTK+

Con eso es suficiente como para que sepan de que les hablo, así que empecemos a llamar a zenity en consola y vean también por arribita los diálogos soportados.

  • Calendarios.
  • Mensajes de error, información y advertencia.
  • Selección de archivos y carpetas
  • Listas.
  • Barra de progreso.
  • Pregunta al usuario, con posibilidad de responder, aceptar ó cancelar.
  • Solicitar entrada de texto, [entrada/salida], casillas de verificación
  • Formularios.
  • Registro de escala.
  • Selección de color

Mas sencillo no puede ser, así que manos a la obra.

PD: Las opciones del zenity son con doble — (simbolo de menos), ejemplo

zenity --opciones

Para los más nuevos en GNU, abajo les dejo un PDF , donde pueden ver lo fundamental que es enlazar las posibles opciones de diálogos con sus respectivas configuraciones. Los mas viejos, vamos, a leer el man 😛

Vamos a ver 1 ejemplo de 2 posibles opciones de zenity.

Dialog options
–entry Display text entry (Mostrar entrada de texto)
–info Display info dialog (Mostrar dialogo con info)

Solo con tirar el –entry, ya zenity te levanta un ventana

zenity --entry

Para pedir una entrada de datos a un user, solo tenemos que ver cuáles son las posibles variantes de entrada, en este caso, vamos a coger –entry.

Opciones de entrada (–entry)
–text=STRING Set the dialog text  (Texto de dialogo)
–entry-text=STRING Set  the entry text (Entrada del texto)
–hide-text Hide the entry text (Ocultar lo que se introduce)

Si quisiéramos levantar una ventana pidiéndole al user que introduzca un ip, sería algo así

zenity --entry --text="Hola usuario" --entry-text="Introduzca el IP"

..la misma estructura seria con –info (la otra opción de arriba) , solo sería ver sus posibles opciones (ver man o descargar PDF).

Existen otras opciones globales para todas las opciones de diálogos, como son:

Opciones Globales
–title=TITLE Set the dialog title (Título de ventana)
–window-icon=ICONPATH Set the window icon with the path to an image. Alternatively, one of the four stock icons can beused:’error’, ‘info’, ‘question’or ‘warning’ (Icono de la ventana)
–width=WIDTH Set the dialog width (tamaño de la ventana)
–timeout=TIMEOUT Set the dialog timeout in seconds (Tiempo de duración)

Agregando mas como:

zenity --entry --text="Hola usuario" --entry-text="Introduce el IP" --title="Hacer ping a:" --window-icon=question --timeout=10

No me detendré a explicar uno por uno, como ya les decía, man o PDF, esas cosas básicas pueden hacerla sin necesidad de tutos, solo viendo la documentación.

Vamos a crear un cuadro de dialogo (que ya hemos hecho hasta ahora) pero simplemente, pasándole el parámetro al comando ping en un script.

zenity --entry –text="Hola usuario" --entry-text="Introduce el IP" –-title="Hacer ping a:" --window-icon=question --timeout=10;
ip=$?;
ping -w 4 $ip

Con esto es suficiente para que pidamos un ip, y pasar ese parámetro a ping. Cosa que si lo conjugas con otras opciones como –list, puedes tener la salida del comando de forma gráfica también 😉

Disculpen si esta algo largo el post; si les intereso el artículo, déjelo en los comentarios. Luego de que manoseen un poco al zenity  , haremos otra parte para cosas más complejas; y porque no, con scripts, por ahora, solo a dominar lo básico.

Espere el otro artículo en la semana.


GUIA DE USUARIO – PDF

¿Te resultó interesante? Compártelo ...



AnonymousWebHacker

Publicado por AnonymousWebHacker

Forma parte de GUTL desde el 11 diciembre, 2019. Defensor de GNU/Linux. Publicador de HumanOS . Articulos orientado a consola, App-Desktops y seguridad de servicios

Este artículo tiene 5 comentarios

  1. Interesante. Espero que puedas subir el PDF. Mientras tanta a instalar el zenity que espero que venga en los repos!!
    Y espero el próximo.

    • El PDF, solo es el man (manual) en español, mas 2 o 3 aportes mios, ya esta disponible. En cuanto al zenity , lo podras encontrar en los repos, pero no creo necesario instalarlo, porque viene en la mayoria de los sistemas por default (que usen GTk+) , eso para no equivocarme y decirte que en todos a los que le instales un entorno grafico.

    • Apenas tenga un tiempo, reviso esa alternativa, igual te tengo otra, busca a YAD, esta en los repos

Los comentarios están cerrados.