Cómo hacer scripts de shell gráficos simples con Zenity en Linux
Zenity agrega interfaces gráficas para shell scripts con un solo comando. Los scripts de shell son una excelente forma de automatizar tareas repetitivas, pero normalmente se limitan al terminal: Zenity los saca del terminal y los coloca en su escritorio.
Hemos dado una introducción a shell scripting en el pasado. No es necesario ser un programador para comenzar con los scripts de shell, ya que requieren poco más que conocimiento de los comandos de terminal de Linux..
Obtención de Zenity
Zenity viene con Ubuntu por defecto. Si usa un derivado de Ubuntu, como Kubuntu, puede que tenga que instalarlo manualmente con el siguiente comando:
sudo apt-get install zenity
Zenity es una parte de GNOME, por lo que ya debería estar incluido en las distribuciones de Linux que usan el escritorio de GNOME. Compruebe su gestor de paquetes para el zenidad paquete si no lo tienes.
Usando Zenity
Puedes jugar con Zenity desde la terminal. Supongamos que desea crear una ventana de error cuando se produce un problema con su script de shell. Aquí hay un ejemplo de comando que podrías usar:
zenity -error -title = "Ocurrió un error" -text = "Ocurrió un problema al ejecutar el script de shell".
Ejecuta el comando y verás una ventana con el mensaje..
Coloque este comando único en su script de shell en el lugar correcto y tendrá un mensaje de error gráfico. También puede utilizar variables para incluir más información sobre el error..
Digamos que quieres hacer una pregunta de sí o no. Podrías usar un comando como este:
zenity -question -title = "Query" -text = "¿Desea ejecutar el script?"
Puede capturar la respuesta de sí o no en su script de shell y ejecutar diferentes comandos según el botón que el usuario haga clic..
También hay un diálogo de entrada de texto:
zenity -entry -title = "Sitio web favorito" -text = "¿Cuál es tu sitio web favorito?"
Capture la entrada del usuario en un script de shell y podría almacenarlo como una variable.
También hay un selector de archivos, calendario y otros tipos de diálogos. Para obtener una lista completa de los tipos de diálogo y sus opciones, consulte la página del manual de Zenity.
Un ejemplo de guión
Intentemos usar Zenity para crear un script de shell gráfico simple. Con solo tres comandos, podemos crear un programa de temporizador gráfico:
#! / bin / bash
# Este script le pregunta al usuario por un tiempo, espera la cantidad especificada
# de tiempo, y muestra un diálogo de alerta.TIEMPO = $ (zenity -entry -title = "Timer" -text = "Ingrese una duración para el temporizador. \ N \ n Use 5s por 5 segundos, 10m por 10 minutos, o 2h por 2 horas".)
dormir $ TIME
zenity -info -title = "Timer Complete" -text = "El temporizador terminó. \ n \ n Ha sido $ TIME".
Estamos usando algunos trucos adicionales aquí. Obtenemos el valor de la variable TIME del primer comando zenity y lo alimentamos al comando sleep. Tambien estamos usando /norte Para crear nuevas líneas de texto en los diálogos zenity..
Después de guardar el script de shell y ejecutar el chmod + x comando en él para darle permisos ejecutables, podemos lanzarlo.
Introduzca una duración y el script utilizará el estándar dormir comando para contar en el fondo. Cuando finalice el temporizador del comando de suspensión, la secuencia de comandos mostrará el mensaje de información de Zenity.
Puede crear un acceso directo de escritorio o panel para este script y ejecutarlo sin siquiera tocar el terminal.
Esto es solo arañar la superficie de lo que podrías hacer con Zenity; Podrías usarlo para hacer programas mucho más complicados. Si está buscando más información sobre los scripts de shell, consulte nuestra guía para utilizar los bucles en los scripts de shell..