Homepage » come » Come creare semplici script di shell grafici con Zenity su Linux

    Come creare semplici script di shell grafici con Zenity su Linux

    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.

    Utilizzando Zenity

    Puoi giocare con Zenity dal terminale. Diciamo che vuoi 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 = "Si è verificato un errore" -text = "Si è verificato un problema durante l'esecuzione dello script della shell."

    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 usare le variabili per includere più informazioni sull'errore.

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

    zenity -question -title = "Query" -text = "Vuoi eseguire lo 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.

    C'è anche una finestra di dialogo per l'inserimento di testo:

    zenity -entry -title = "Sito web preferito" -text = "Qual è il tuo sito web preferito?"

    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.

    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
    # Questo script richiede all'utente una volta, attende l'importo specificato
    # di tempo e mostra una finestra di avviso.

    TIME = $ (zenity -entry -title = "Timer" -text = "Inserisci una durata per il timer. \ N \ n Usa 5 s per 5 secondi, 10 m per 10 minuti o 2 ore per 2 ore.")

    dormire $ TIME

    zenity -info -title = "Timer Complete" -text = "Il timer è scaduto. \ n \ n È stato $ TIME."

    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.

    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 zenity.

    È 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 fare programmi molto più complicati. Se stai cercando ulteriori informazioni sullo scripting di shell, consulta la nostra guida sull'utilizzo di loop per gli script di shell.