Zenity - Naghimo og Graphical (GTK+) Dialog Boxes sa Command-line ug Shell Scripts


GNU Linux, ang operating system nga gitukod sa gamhanan kaayo nga Kernel nga gitawag og Linux. Ang Linux nabantog tungod sa mga operasyon sa command Line. Uban sa pag-imbento sa Linux sa adlaw-adlaw ug Desktop computing, ang nix nagpabilin nga wala nay bias sa command-Line, parehas kini nga Graphical ug ang pagpalambo sa Graphical nga aplikasyon nagpabilin nga dili na lisud nga buluhaton.

Dinhi sa kini nga artikulo atong hisgutan ang paghimo ug pagpatuman sa yano nga Graphical Dialog box gamit ang GTK + nga aplikasyon nga gitawag nga Zenity.

Unsa ang Zenity?

Ang Zenity usa ka bukas nga tinubdan ug usa ka cross-platform nga aplikasyon nga nagpakita sa GTK + Dialog Boxes sa command-line ug gamit ang mga script sa shell. Gitugotan niini ang pagpangutana ug pagpresentar sa impormasyon sa/gikan sa kabhang sa mga Graphical Boxes. Gitugotan ka sa aplikasyon nga maghimo mga kahon sa diyalogo sa Graphical sa linya sa mando ug gipadali ang interaksyon tali sa tiggamit ug kabhang.

Adunay uban nga mga alternatibo, apan walay ikatandi sa kayano sa Zenity, ilabi na kung dili nimo kinahanglan ang komplikado nga programming. Zenity, usa ka himan nga kinahanglan nimong gamiton.

  1. FOSS Software
  2. Aplikasyon sa Cross Platform
  3. Tugoti ang GTK+ Dialog Box Execution
  4. Himan sa Command Line
  5. Suporta sa Shell Scripting

  1. Sayon nga Pagbuhat sa GUI
  2. Diutay nga mga bahin kay sa ubang komplikadong mga Tool
  3. Nagpahimo sa mga script sa shell nga makig-uban sa mga tiggamit sa GUI
  4. Ang yano nga pagmugna sa diyalogo posible alang sa graphical nga interaksyon sa tiggamit

Tungod kay ang Zenity anaa alang sa tanan nga nailhan nga dagkong mga plataporma, ug base sa GTK + librarya, ang Zenity nga programa mahimong ma-port sa/gikan sa laing plataporma.

Pag-instalar sa Zenity sa Linux

Ang Zentity pinaagi sa default na-install o magamit sa repository sa kadaghanan sa standard nga pag-apod-apod sa Linux karon. Mahimo nimong susihon kung na-install ba sa imong makina o dili pinaagi sa pagpatuman sa pagsunod sa mga mando.

[email :~$ zenity --version 

3.8.0
[email :~$ whereis zenity 

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

Kung wala kini ma-install, mahimo nimo kini i-install gamit ang Apt o Yum nga mando sama sa gipakita sa ubos.

[email :~$ sudo apt-get install zenity		[on Debian based systems]

[email :~# yum install zenity				[on RedHat based systems]

Dugang pa, mahimo usab nimo kini matukod gikan sa gigikanan nga mga file, i-download ang pinakabag-o nga Zenity source package (ie ang kasamtangan nga bersyon 3.8) gamit ang mosunod nga link.

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

Zenity Basic Dialog Boxes

Pipila sa mga batakang Dialog sa Zenity, nga mahimong tawagan direkta gikan sa command-line.

[email :~# zenity --calendar
[email :~# zenity --error
[email :~# zenity --entry
[email :~# zenity --info
[email :~# zenity --question
[email :~# zenity --progress
[email :~# zenity --scale
[email :~# zenity --password
[email :~# zenity --forms
[email :~# zenity --about

Paghimo Shell Script Dialog

Karon atong hisgutan ang paghimo sa Zenity Dialog gamit ang simple nga shell scripts dinhi. Bisan tuod makahimo kita og usa ka Dialog pinaagi sa pagpatuman sa Zenity nga mga sugo direkta gikan sa kabhang (sama sa atong gibuhat sa ibabaw) apan unya dili nato masumpay ang duha ka Dialog box aron makakuha og pipila ka makahuluganon nga resulta.

Giunsa ang bahin sa usa ka interactive nga dialog box nga nagkuha og input gikan kanimo, ug gipakita ang resulta.

#!/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-save kini sa 'anything.sh' (konbensyonal) ug ayaw kalimti nga mahimo kini nga ma-executable. Ibutang ang 755 nga permiso sa anything.sh file ug padagana ang script.

[email :~# chmod 755 anything.sh 
[email :~# sh anything.sh

Ang naandan nga shebang aka hashbang

#!/bin/bash

Sa ubos nga linya ang 'una' usa ka variable ug ang kantidad sa variable gihimo sa oras sa pagdagan.

    1. ‘–entry‘ nagpasabot nga ang zenity gihangyo sa paghimo ug text nga Entry box.
    2. ‘– title=‘ naghubit sa titulo sa nahimo nga text box.
    3. ‘—text=‘ naghubit sa teksto nga anaa sa text Entry box.

    first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

    Kini nga linya sa ubos nga script file alang sa paghimo sa Impormasyon (–info) Dialog box, nga adunay titulo nga \Welcome ug Text \Mr./Ms.first

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

    Kini nga Linya sa script Susama sa linya nga numero dos sa script gawas dinhi ang usa ka bag-ong variable nga 'katapusan' gihubit.

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

    Kining kataposang linya sa script susama na usab sa ikatulo nga linya sa script ug nagmugna kini og impormasyon Dialog box nga naglangkob sa duha ka variables '$first' ug '$last'.

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

    Para sa dugang nga impormasyon kon unsaon paghimo ug custom dialog boxes gamit ang shell script, bisitaha ang mosunod nga reference page nga Zenity.

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

    Sa sunod nga artikulo atong i-integrate ang Zenity sa dugang nga shell script para sa GUI user interaction. Hangtud unya magpabilin nga tuned ug konektado sa Tecmint. Ayaw kalimti ang paghatag sa imong bililhon nga feedback sa seksyon sa komento.