Weboldal keresés

Zenity - Grafikus (GTK+) párbeszédpaneleket hoz létre parancssori és shell szkriptekben


A GNU Linux, a nagyon erős Kernelre épülő operációs rendszer, az úgynevezett Linux. A Linux a parancssori műveleteiről híres. A Linux mindennapi és asztali számítástechnikában való feltalálásával a nix nem marad elfogultabb a parancssor felé, ugyanolyan grafikus, és a grafikus alkalmazások fejlesztése sem jelent többé nehéz feladatot.

Ebben a cikkben egy egyszerű grafikus párbeszédpanel létrehozásáról és végrehajtásáról fogunk beszélni a GTK+Zenity” nevű alkalmazással.

Mi az a Zenity?

A Zenity egy nyílt forráskódú és többplatformos alkalmazás, amely megjeleníti a GTK+ párbeszédpaneleket parancssorban és shell-szkriptek használatával. Lehetővé teszi információk kérését és megjelenítését a shellből/shellből grafikus dobozokban. Az alkalmazás lehetővé teszi grafikus párbeszédpanelek létrehozását a parancssorban, és nagyon egyszerűvé teszi a felhasználó és a shell közötti interakciót.

Vannak más alternatívák, de semmi sem hasonlítható a Zenity egyszerűségéhez, különösen akkor, ha nincs szükség összetett programozásra. A Zenity, egy olyan eszköz, amelyet a kezedben kell tartani.

Zenity jellemzők

  1. FOSS szoftver
  2. Cross Platform alkalmazás
  3. GTK+ párbeszédpanel végrehajtás engedélyezése
  4. Parancssori eszköz
  5. Támogatás a Shell Scriptingben

Hasznosság

  1. Egyszerű grafikus felület létrehozása
  2. Kevesebb szolgáltatás, mint más összetett eszközök
  3. Lehetővé teszi a shell-szkriptek interakcióját a grafikus felhasználói felület felhasználóival
  4. A grafikus felhasználói interakcióhoz egyszerű párbeszédablak létrehozása lehetséges

Mivel a Zenity az összes ismert főbb platformon elérhető, és a GTK+ könyvtáron alapul, a Zenity program átvihető másik platformra/másik platformról.

Zenity telepítése Linuxra

A Zentity alapértelmezés szerint telepítve van vagy elérhető a legtöbb mai Standard Linux disztribúció tárolójában. A következő parancsok végrehajtásával ellenőrizheti, hogy telepítve van-e a gépére.

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

Ha nincs telepítve, az alább látható módon telepítheti az Apt vagy a Yum paranccsal.

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

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

Ezenkívül a forrásfájlokból is elkészítheti, töltse le a legújabb Zenity forráscsomagot (azaz a aktuális 3.8-as verziót) a következő hivatkozás segítségével.

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

Zenity Basic párbeszédpanelek

A Zenity néhány alapvető párbeszédablaka, amelyek közvetlenül a parancssorból hívhatók meg.

1. Mit szólnál egy gyors naptár párbeszédablakhoz?
root@tecmint:~# zenity --calendar

2. Hiba párbeszédpanel
root@tecmint:~# zenity --error

3. Általános szövegbeviteli párbeszédpanel
root@tecmint:~# zenity --entry

4. Információs párbeszédpanel
root@tecmint:~# zenity --info

5. Egy kérdés párbeszédpanel
root@tecmint:~# zenity --question

6. Egy folyamatjelző sáv
root@tecmint:~# zenity --progress

7. Méretezés párbeszédpanel
root@tecmint:~# zenity --scale

8. Jelszó párbeszédpanel
root@tecmint:~# zenity --password

9. Egy Űrlap párbeszédpanel
root@tecmint:~# zenity --forms

10. Egy párbeszédpanel
root@tecmint:~# zenity --about

Shell Script párbeszédpanel létrehozása

Most a Zenity Dialog létrehozásáról fogunk beszélni egyszerű shell-szkriptek használatával. Bár létrehozhatunk egyetlen párbeszédablakot úgy, hogy a Zenity parancsokat közvetlenül a shellből hajtjuk végre (ahogy fent tettük), de ekkor nem tudunk két párbeszédpanelt összekapcsolni, hogy értelmes eredményt kapjunk.

Mit szólnál egy interaktív párbeszédpanelhez, amely Öntől veszi az adatokat, és megmutatja az eredményt.

#!/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"

Mentse el az „anything.sh” mappába (hagyományosan), és ne felejtse el végrehajthatóvá tenni. Állítsa be a 755 engedélyt az anything.sh fájlhoz, és futtassa a szkriptet.

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

A szkriptleírásról

A hagyományos shebang más néven hashbang

#!/bin/bash

Az alábbi sorban az „első” egy változó, a változó értéke pedig a futási időben generált.

    1. A „–bejegyzés” azt jelenti, hogy a zenityt arra kérik, hogy hozzon létre egy szövegbeviteli mezőt.
    2. A „– title=” a generált szövegmező címét határozza meg.
    3. A „—text=” a szövegbeviteli mezőben elérhető szöveget határozza meg.
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

Az alábbi szkriptfájl ezen sora az információs (–info) párbeszédpanel generálására szolgál, „Üdvözöljük” címmel és „Mr./Ms.first” szöveggel.

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

A szkriptnek ez a sora hasonló a szkript második sorához, azzal a különbséggel, hogy itt egy új „last” változó van definiálva.

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

A szkriptnek ez az utolsó sora ismét hasonló a szkript harmadik sorához, és információt generál, amely tartalmazza a „$first” és „$last” változókat is.

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

Az egyéni párbeszédpanelek shell-szkript segítségével történő létrehozásával kapcsolatos további információkért látogasson el a következő hivatkozási oldalra: Zenity.

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

A következő cikkben a Zenity elemet több shell szkripttel fogjuk integrálni a GUI felhasználói interakcióhoz. Addig is maradjon velünk, és csatlakozzon a Tecminthez. Ne felejtse el megadni értékes visszajelzését a megjegyzés rovatban.