Sådan laver du Simple Graphic Shell Scripts med Zenity på Linux
Zenity tilføjer grafiske grænseflader til shell scripts med en enkelt kommando. Shell scripts er en fantastisk måde at automatisere gentagne opgaver på, men de er normalt begrænset til terminalen - Zenity bringer dem ud af terminalen og på dit skrivebord.
Vi har givet en introduktion til shell scripting i fortiden. Du behøver ikke at være en programmør for at komme i gang med shell scripts - de kræver lidt mere end kendskab til Linux-terminalkommandoer.
Få Zenity
Zenity leveres som standard med Ubuntu. Hvis du bruger et Ubuntu-derivat, f.eks. Kubuntu, skal du muligvis installere det manuelt med følgende kommando:
sudo apt-get install zenity
Zenity er en del af GNOME, så det bør allerede medtages på Linux-distributioner, der bruger GNOME-skrivebordet. Tjek din pakkeleder for zenity pakke hvis du ikke har det.
Brug af Zenity
Du kan lege med Zenity fra terminalen. Lad os sige, at du vil oprette et fejlvindue, når der opstår et problem med din shell script. Her er et eksempel kommando du kunne bruge:
zenity -error -title = "En fejl opstod" -text = "Der opstod et problem, mens du kørte shell scriptet."
Kør kommandoen, og du vil se et vindue med meddelelsen.
Sæt denne enkelt kommando i dit skal script på det rigtige sted, og du vil have en grafisk fejlmeddelelse. Du kan også bruge variabler til at inkludere flere oplysninger om fejlen.
Lad os sige, du vil stille et ja eller nej spørgsmål. Du kan bruge en kommando som denne:
zenity -question -title = "Query" -text = "Vil du køre scriptet?"
Du kan fange ja eller intet svar i din shell script og udføre forskellige kommandoer baseret på hvilken knap brugeren klikker på.
Der er også en tekstindtastningsdialog:
zenity -entry -title = "Favorite Website" -text = "Hvad er dit yndlingswebsted?"
Fang brugerens input i et shell script, og du kan gemme det som en variabel.
Der er også en filvælger, kalender og andre typer dialoger. For en komplet liste over dialogtyper og deres muligheder henvises til Zenity's manuelle side.
Et eksempel script
Lad os prøve at bruge Zenity til at oprette et simpelt grafisk shell script. Med kun tre kommandoer kan vi oprette et grafisk timerprogram:
#! / Bin / bash
# Dette script spørger brugeren om en tid, venter det angivne beløb
# af tid og viser en advarselsdialog.TIME = $ (zenity -entry -title = "Timer" -text = "Indtast en varighed for timeren. \ N \ n Brug 5s i 5 sekunder, 10m i 10 minutter eller 2h i 2 timer.")
sove $ TIME
zenity -info -title = "Timer Complete" -text = "Timeren er forbi. \ n \ n Det har været $ TIME."
Vi bruger nogle ekstra tricks her. Vi får værdien af TIME-variablen fra den første zenity-kommando og føder den til kommandoen søvn. Vi bruger også / n at oprette nye tekstlinjer i zenity-dialogerne.
Efter at have gemt shell scriptet og kører chmod + x kommandoen på det for at give det eksekverbare tilladelser, kan vi starte det.
Indtast en varighed, og scriptet vil bruge standarden søvn kommando at regne ned i baggrunden. Når søvnkommandoerens timer er færdig, viser scriptet zenitetsinformationsmeddelelsen.
Du kan oprette en skrivebords- eller panelgenvej til dette script og køre det uden at berøre terminalen.
Dette skraber bare overfladen af, hvad du kunne gøre med zenity; du kunne bruge det til at gøre meget mere komplicerede programmer. Hvis du leder efter flere oplysninger om shell scripting, skal du se vores guide til brug for sløjfer i shell-scripts.