Come creare semplici script di shell grafici con Zenity su Linux

Sommario:

Come creare semplici script di shell grafici con Zenity su Linux
Come creare semplici script di shell grafici con Zenity su Linux

Video: Come creare semplici script di shell grafici con Zenity su Linux

Video: Come creare semplici script di shell grafici con Zenity su Linux
Video: Velocizzare l’avvio di Windows e vedere cosa lo rallenta - YouTube 2024, Aprile
Anonim
Zenity aggiunge interfacce grafiche agli script di shell con un singolo comando. Gli script di shell sono un ottimo modo per automatizzare le attività ripetitive, ma normalmente sono confinati al terminale: Zenity li porta fuori dal terminale e sul desktop.
Zenity aggiunge interfacce grafiche agli script di shell con un singolo comando. Gli script di shell sono un ottimo modo per automatizzare le attività ripetitive, ma normalmente sono confinati al terminale: Zenity li porta fuori dal terminale e sul desktop.

Abbiamo dato un'introduzione allo scripting di shell in passato. Non devi essere un programmatore per iniziare con gli script di shell: richiedono poco più della conoscenza dei comandi del terminale Linux.

Ottenere la Zenità

Zenity viene fornito con Ubuntu per impostazione predefinita. Se si utilizza una derivata di Ubuntu, come Kubuntu, potrebbe essere necessario installarlo manualmente con il seguente comando:

sudo apt-get install zenity

Zenity fa parte di GNOME, quindi dovrebbe essere già incluso nelle distribuzioni Linux che usano il desktop GNOME. Controlla il tuo gestore di pacchetti per il zenity pacchetto se non ce l'hai.

Usando lo Zenity

Puoi giocare con Zenity dal terminale. Supponiamo di voler creare una finestra di errore quando si verifica un problema con lo script della shell. Ecco un comando di esempio che potresti utilizzare:

zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”

Esegui il comando e vedrai una finestra con il messaggio.
Esegui il comando e vedrai una finestra con il messaggio.
Metti questo singolo comando nello script della shell nel posto giusto e avrai un messaggio di errore grafico. Puoi anche utilizzare le variabili per includere più informazioni sull'errore.
Metti questo singolo comando nello script della shell nel posto giusto e avrai un messaggio di errore grafico. Puoi anche utilizzare le variabili per includere più informazioni sull'errore.

Diciamo che vuoi fare una domanda si o no. Potresti usare un comando come questo:

zenity –question –title=”Query” –text=”Would you like to run the script?”

Puoi prendere la risposta sì o no nello script della shell ed eseguire diversi comandi in base al pulsante che l'utente fa clic.
Puoi prendere la risposta sì o no nello script della shell ed eseguire diversi comandi in base al pulsante che l'utente fa clic.
C'è anche una finestra di dialogo per l'inserimento di testo:
C'è anche una finestra di dialogo per l'inserimento di testo:

zenity –entry –title=”Favorite Website” –text=”What is your favorite website?”

Cattura l'input dell'utente in uno script di shell e puoi memorizzarlo come variabile.
Cattura l'input dell'utente in uno script di shell e puoi memorizzarlo come variabile.
C'è anche un raccoglitore di file, un calendario e altri tipi di finestre di dialogo. Per un elenco completo dei tipi di dialogo e delle loro opzioni, consultare la pagina di manuale di Zenity.
C'è anche un raccoglitore di file, un calendario e altri tipi di finestre di dialogo. Per un elenco completo dei tipi di dialogo e delle loro opzioni, consultare la pagina di manuale di Zenity.

Uno script di esempio

Proviamo ad usare Zenity per creare un semplice script di shell grafico. Con soli tre comandi, possiamo creare un programma di timer grafico:

#!/bin/bash # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.

TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.

Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)

sleep $TIME

zenity –info –title=”Timer Complete” –text=”The timer is over.

It has been $TIME.”

Image
Image

Stiamo usando alcuni trucchi extra qui. Otteniamo il valore della variabile TIME dal primo comando di zenity e lo alimentiamo al comando sleep. Stiamo anche usando / n per creare nuove linee di testo nelle finestre di dialogo di Zenity.

Dopo aver salvato lo script della shell ed eseguito il chmod + x comando su di esso per dargli permessi eseguibili, possiamo avviarlo.

Image
Image

Inserisci una durata e lo script utilizzerà lo standard dormire comando per il conto alla rovescia in background. Al termine del timer del comando di sospensione, lo script visualizzerà il messaggio di informazioni di zenity.

È possibile creare un collegamento sul desktop o sul pannello per questo script ed eseguirlo senza nemmeno toccare il terminale.
È possibile creare un collegamento sul desktop o sul pannello per questo script ed eseguirlo senza nemmeno toccare il terminale.

Questo è solo grattando la superficie di ciò che si potrebbe fare con la zenità; potresti usarlo per creare programmi molto più complicati. Se stai cercando ulteriori informazioni sullo scripting della shell, consulta la nostra guida sull'uso di loop per gli script di shell.

Consigliato: