Cum sa faci Script-uri Simple Graphical Shell cu Zenity pe Linux
Zenity adaugă interfețe grafice pentru scripturile shell cu o singură comandă. Shell script-urile sunt o modalitate foarte bună de a automatiza sarcinile repetitive, dar în mod obișnuit sunt limitate la terminal - Zenity le scoate din terminal și pe desktop.
Am dat o introducere în scripting-ul shell-ului în trecut. Nu trebuie să fiți un programator pentru a începe să utilizați script-urile shell - acestea necesită puțin mai mult decât cunoașterea comenzilor terminale Linux.
Noțiuni de bază Zenity
Zenity vine în mod implicit cu Ubuntu. Dacă utilizați un derivat Ubuntu, cum ar fi Kubuntu, va trebui să îl instalați manual cu următoarea comandă:
sudo apt-get instalare zenitate
Zenity face parte din GNOME, deci ar trebui să fie deja inclus în distribuțiile Linux care utilizează desktopul GNOME. Verificați managerul de pachete pentru zenity dacă nu aveți.
Utilizând Zenity
Poți să te joci cu Zenity din terminal. Să presupunem că doriți să creați o fereastră de eroare atunci când apare o problemă cu scriptul dvs. de shell. Iată o comandă de exemplu pe care ați putea să o utilizați:
zenity -error -title = "A apărut o eroare" -text = "A apărut o problemă în timpul executării scriptului shell."
Rulați comanda și veți vedea o fereastră cu mesajul.
Puneți această singură comandă în scriptul dvs. de shell în locul corect și veți avea un mesaj de eroare grafic. De asemenea, puteți utiliza variabilele pentru a include mai multe informații despre eroare.
Să presupunem că vrei să ceri o întrebare da sau nu. Puteti folosi o comanda ca aceasta:
zenity -question -title = "Interogare" -text = "Doriți să rulați scriptul?"
Puteți detecta răspunsul da sau nu în scriptul dvs. de shell și puteți executa comenzi diferite bazate pe butonul pe care utilizatorul îl face clic.
Există, de asemenea, un dialog de introducere a textului:
zenity -entry -title = "Site-ul favorit" -text = "Care este site-ul dvs. preferat?"
Prindeți intrarea utilizatorului într-un script shell și îl puteți stoca ca variabilă.
Există, de asemenea, un selector de fișiere, un calendar și alte tipuri de dialoguri. Pentru o listă completă a tipurilor de dialog și a opțiunilor acestora, consultați pagina manualului Zenity.
Un exemplu de script
Să încercăm să folosim Zenity pentru a crea un script simplu pentru shell-ul grafic. Cu doar trei comenzi, putem crea un program grafic cu temporizator:
#! / Bin / bash
# Acest script cere utilizatorului o perioadă de timp, așteaptă suma specificată
# de timp și arată un dialog de alertă.TIME = $ (zenitate -entry -title = "Timer" -text = "Introduceți o durată pentru cronometru. \ N \ n Utilizați 5s pentru 5 secunde, 10m pentru 10 minute sau 2h pentru 2 ore.
dormi $ TIME
zenity -info -title = "Timer Complete" -text = "Timerul sa terminat. \ n \ n A fost $ TIME."
Folosim câteva trucuri suplimentare aici. Obținem valoarea variabilei TIME din prima comandă de zenitate și o alimentam comenzii de somn. De asemenea, folosim / n pentru a crea noi linii de text în dialogurile de zenitate.
După salvarea scriptului shell și executarea chmod + x comanda pe ea pentru a da permisiuni executabile, putem lansa.
Introduceți o durată și scriptul va utiliza standardul dormi comanda pentru a număra în fundal. Când se termină temporizatorul comenzii de somn, scriptul va afișa mesajul info zenity.
Aveți posibilitatea să creați o comandă rapidă de desktop sau de panou pentru acest script și să îl rulați fără să atingeți chiar terminalul.
Aceasta este doar zgârierea suprafeței a ceea ce ați putea face cu zenitatea; l-ați putea folosi pentru a face programe mult mai complicate. Dacă sunteți în căutarea pentru mai multe informații despre scripting shell, verificați ghidul nostru de a utiliza pentru bucle în shell script-uri.