Zenity - Joħloq Kaxxi tad-Djalogu Grafiċi (GTK+) fil-Linja tal-Kmand u l-Iskripts Shell


GNU Linux, is-sistema operattiva mibnija fuq Kernel qawwija ħafna msejħa Linux. Linux huwa famuż għall-operazzjonijiet tal-Linja tal-kmand tiegħu. Bl-invenzjoni tal-Linux fil-kompjuters ta 'kuljum u Desktop, nix jibqa' mhux aktar preġudikat lejn il-linja tal-kmand, huwa ugwalment Grafiku u l-iżvilupp tal-applikazzjoni grafika ma jibqax kompitu diffiċli.

Hawnhekk f'dan l-artikolu se nkunu qed niddiskutu l-ħolqien u l-eżekuzzjoni ta 'kaxxa ta' Djalogu Grafika sempliċi bl-użu ta 'applikazzjoni GTK + imsejħa Zenity.

X'inhu Zenity?

Zenity huwa sors miftuħ u applikazzjoni multi-pjattaforma li turi Kaxxi tad-Djalogu GTK+ fil-linja tal-kmand u bl-użu ta 'skripts tal-qoxra. Jippermetti li titlob u tippreżenta informazzjoni lil/minn qoxra f'Kaxxi Grafiċi. L-applikazzjoni tħallik toħloq kaxxi tad-djalogu grafiku fil-linja tal-kmand u tagħmel l-interazzjoni bejn l-utent u l-qoxra faċli ħafna.

Hemm alternattivi oħra, iżda xejn ma jitqabbel mas-sempliċità ta 'Zenity, speċjalment meta ma jkollokx bżonn programmazzjoni kumplessa. Zenity, għodda li trid ikollok idejk fuqha.

  1. Softwer FOSS
  2. Applikazzjoni Cross Platform
  3. Ippermetti l-Eżekuzzjoni tal-Kaxxa tad-Djalogu GTK+
  4. Għodda tal-Linja tal-Kmand
  5. Appoġġ fi Shell Scripting

  1. Ħolqien GUI faċli
  2. Inqas karatteristiċi minn Għodod kumplessi oħra
  3. Jippermetti lill-shell scripts jinteraġixxu ma' utenti ta' GUI
  4. Il-ħolqien ta' djalogu sempliċi huwa possibbli għall-interazzjoni grafika tal-utent

Peress li Zenity huwa disponibbli għall-pjattaformi ewlenin magħrufa kollha, u bbażat fuq il-librerija GTK+, il-programm Zenity jista 'jiġi trasferit għal/minn pjattaforma oħra.

Installazzjoni ta 'Zenity fil-Linux

Zentity huwa installat jew disponibbli awtomatikament fir-repożitorju tal-biċċa l-kbira tad-distribuzzjoni Standard tal-Linux tal-lum. Tista 'tiċċekkja jekk huwiex installat fuq il-magna tiegħek jew le billi tesegwixxi l-kmandi li ġejjin.

[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

Jekk ma tkunx installata, tista 'tinstallaha billi tuża l-kmand Apt jew Yum kif muri hawn taħt.

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

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

Barra minn hekk tista 'wkoll tibniha mill-fajls tas-sors, tniżżel l-aħħar pakkett tas-sors ta' Zenity (jiġifieri l-verżjoni attwali 3.8) billi tuża link li ġejja.

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

Kaxxi ta' Djalogu Bażiċi ta' Zenity

Uħud mid-Djalogi bażiċi ta 'Zenity, li jistgħu jiġu invokati direttament mil-linja tal-kmand.

[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

Oħloq Shell Script Dialog

Issa nkunu qed niddiskutu l-ħolqien ta' Zenity Dialog bl-użu ta' skripts shell sempliċi hawn. Għalkemm nistgħu noħolqu Djalogu wieħed billi neżegwixxu kmandi Zenity direttament mill-qoxra (kif għamilna hawn fuq) iżda mbagħad ma nistgħux torbot żewġ kaxxi tad-Djalogu sabiex niksbu xi riżultat sinifikanti.

Kif dwar kaxxa ta 'dialog interattiva li tieħu input mingħandek, u turi r-riżultat.

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

Issejvjah f''anything.sh' (b'mod konvenzjonali) u tinsiex tagħmilha eżekutibbli. Issettja 755 permess fuq fajl anything.sh u mexxi l-iskript.

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

Il-shebang konvenzjonali aka hashbang

#!/bin/bash

Fil-linja ta’ hawn taħt ‘l-ewwel’ hija varjabbli u l-valur tal-varjabbli huwa Ġenerat fil-ħin tar-run.

    1. ‘–dħul’ tfisser li zenity tintalab tiġġenera kaxxa ta’ Dħul ta’ test.
    2. ‘– title=’ jiddefinixxi t-titlu tal-kaxxa tat-test iġġenerat.
    3. ‘—test=’ jiddefinixxi t-test li huwa disponibbli fuq il-kaxxa tad-Dħul tat-test.

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

    Din il-linja tal-fajl ta' l-iskrittura ta' hawn taħt hija għall-ġenerazzjoni ta' Kaxxa tad-Djalogu ta' Informazzjoni (–info), bit-titlu \Merħba u Test \Mr./Ms.first

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

    Din il-Linja tal-iskrittura hija Simili għal-linja numru tnejn tal-iskrittura ħlief hawnhekk varjabbli ġdida 'l-aħħar' hija definita.

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

    Din l-aħħar linja tal-iskript hija għal darb'oħra simili għat-tielet linja tal-iskritt u tiġġenera informazzjoni Kaxxa tad-Djalogu li fiha kemm il-varjabbli '$first' u '$last'.

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

    Għal aktar informazzjoni dwar kif toħloq kaxxi tad-djalogu tad-dwana bl-użu ta 'skript tal-qoxra, żur il-paġna ta' referenza li ġejja Zenity.

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

    Fl-artiklu li jmiss inkunu qed nintegraw Zenity b'aktar skript tal-qoxra għall-interazzjoni tal-utent GUI. Sa dakinhar ibqa' sintonizzat u mqabbad ma' Tecmint. Tinsiex tagħti l-feedback siewi tiegħek fit-taqsima tal-kummenti.