„Zenity“ – sukuria grafinius (GTK+) dialogo langus komandų eilutėse ir apvalkalo scenarijuose


GNU Linux, operacinė sistema, sukurta labai galingu branduoliu, vadinama Linux. „Linux“ garsėja komandų eilutės operacijomis. Išradus „Linux“ kasdieniame ir staliniame kompiuteryje, „nix“ nebelieka šališkumo komandų eilutei, ji yra lygiai taip pat grafiška, o grafinės programos kūrimas nėra sudėtinga užduotis.

Šiame straipsnyje aptarsime paprasto grafinio dialogo lango kūrimą ir vykdymą naudojant GTK+ programą, pavadintą „Zenity“.

Kas yra Zenity?

Zenity yra atvirojo kodo ir kelių platformų programa, kuri komandų eilutėje ir naudojant apvalkalo scenarijus rodo GTK+ dialogo langelius. Tai leidžia prašyti ir pateikti informaciją į/iš apvalkalo grafinėse dėžutėse. Programa leidžia kurti grafinius dialogo langus komandinėje eilutėje ir labai palengvina vartotojo ir apvalkalo sąveiką.

Yra ir kitų alternatyvų, bet niekas neprilygsta Zenity paprastumui, ypač kai nereikia sudėtingo programavimo. „Zenity“ – įrankis, kurį turite turėti po ranka.

Zenity savybės

  1. FOSS programinė įranga
  2. Kelių platformų programa
  3. Leisti GTK+ dialogo lango vykdymą
  4. Komandinės eilutės įrankis
  5. „Shell Scripting“ palaikymas

Naudingumas

  1. Lengvas GUI kūrimas
  2. Mažiau funkcijų nei kiti sudėtingi įrankiai
  3. Įgalina apvalkalo scenarijus sąveikauti su GUI vartotojais
  4. Galimas paprastas dialogo kūrimas grafinei vartotojo sąveikai

Kadangi Zenity galima naudoti visoms žinomoms pagrindinėms platformoms ir remiantis GTK+ biblioteka, Zenity programą galima perkelti į kitą platformą arba iš jos.

„Zenity“ diegimas „Linux“.

Pagal numatytuosius nustatymus Zentity yra įdiegta arba pasiekiama daugumos šių dienų standartinio Linux platinimo saugykloje. Galite patikrinti, ar įdiegta jūsų kompiuteryje, ar ne, vykdydami šias komandas.

ravisaive@tecmint:~$ zenity --version 

3.8.0
ravisaive@tecmint:~$ whereis zenity 

zenity: /usr/bin/zenity /usr/bin/X11/zenity /usr/share/zenity /usr/share/man/man1/zenity.1.gz

Jei jis neįdiegtas, galite jį įdiegti naudodami komandą Apt arba Yum, kaip parodyta toliau.

ravisaive@tecmint:~$ sudo apt-get install zenity		[on Debian based systems]

root@tecmint:~# yum install zenity				[on RedHat based systems]

Be to, galite sukurti jį iš šaltinio failų, atsisiųskite naujausią Zenity šaltinio paketą (t. y. dabartinę 3.8 versiją) naudodami šią nuorodą.

  1. http://ftp.gnome.org/pub/gnome/sources/zenity/

„Zenity Basic“ dialogo langai

Kai kurie pagrindiniai Zenity dialogo langai, kuriuos galima iškviesti tiesiai iš komandinės eilutės.

1. Kaip apie greitą kalendoriaus dialogo langą?
root@tecmint:~# zenity --calendar

2. Klaidos dialogo langas
root@tecmint:~# zenity --error

3. Bendrojo teksto įvedimo dialogo langas
root@tecmint:~# zenity --entry

4. Informacinis dialogas
root@tecmint:~# zenity --info

5. Klausimo dialogo langas
root@tecmint:~# zenity --question

6. Pažangos juosta
root@tecmint:~# zenity --progress

7. Mastelio dialogas
root@tecmint:~# zenity --scale

8. Slaptažodžio dialogo langas
root@tecmint:~# zenity --password

9. Formos dialogo langas
root@tecmint:~# zenity --forms

10. Dialogas apie
root@tecmint:~# zenity --about

Sukurkite „Shell Script“ dialogo langą

Dabar čia aptarsime Zenity Dialog kūrimą naudojant paprastus apvalkalo scenarijus. Nors galime sukurti vieną dialogo langą, vykdydami Zenity komandas tiesiai iš apvalkalo (kaip darėme aukščiau), bet tada negalime susieti dviejų dialogo langų, kad gautume prasmingą rezultatą.

Kaip apie interaktyvų dialogo langą, kuris priima jūsų informaciją ir rodo rezultatą.

#!/bin/bash 
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry) 
zenity --info --title="Welcome" --text="Mr./Ms. $first" 
last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry) 
zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

Išsaugokite jį „anything.sh“ (įprastai) ir nepamirškite padaryti jį vykdomojo. Faile anything.sh nustatykite 755 leidimą ir paleiskite scenarijų.

root@tecmint:~# chmod 755 anything.sh 
root@tecmint:~# sh anything.sh

Apie scenarijaus aprašymą

Įprastas shebang dar žinomas kaip hashbang

#!/bin/bash

Žemiau esančioje eilutėje „pirmas“ yra kintamasis, o kintamojo reikšmė generuojama vykdymo metu.

    1. –Entry“ reiškia, kad „zenity“ prašoma sugeneruoti teksto įvesties laukelį.
    2. – title=“ apibrėžia sugeneruoto teksto laukelio pavadinimą.
    3. —text=“ apibrėžia tekstą, kuris pasiekiamas teksto įvesties laukelyje.
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

Ši toliau pateikto scenarijaus failo eilutė skirta informacijos (–info) dialogo langui generuoti, pavadinimu „Sveiki atvykę“ ir tekstu „Mr./Ms.first“.

zenity --info --title="Welcome" --text="Mr./Ms. $first"

Ši scenarijaus eilutė yra panaši į antrą scenarijaus eilutę, išskyrus tai, kad čia apibrėžiamas naujas kintamasis „paskutinė“.

last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry)

Ši paskutinė scenarijaus eilutė vėl panaši į trečiąją scenarijaus eilutę ir sukuria informacijos dialogo langą, kuriame yra ir kintamieji „$first“ ir „$last“.

zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

Norėdami gauti daugiau informacijos apie tai, kaip sukurti tinkintus dialogo langus naudojant apvalkalo scenarijų, apsilankykite kitame nuorodos puslapyje Zenity.

  1. https://help.gnome.org/users/zenity/stable/

Kitame straipsnyje mes integruosime Zenity su daugiau apvalkalo scenarijaus, skirto GUI naudotojo sąveikai. Iki tol sekite naujienas ir prisijunkite prie Tecmint. Nepamirškite pateikti savo vertingų atsiliepimų komentarų skiltyje.