Zenity - കമാൻഡ് ലൈനിലും ഷെൽ സ്ക്രിപ്റ്റിലും ഗ്രാഫിക്കൽ (GTK+) ഡയലോഗ് ബോക്സുകൾ സൃഷ്ടിക്കുന്നു


GNU Linux, ലിനക്സ് എന്ന വളരെ ശക്തമായ കേർണലിൽ നിർമ്മിച്ച ഓപ്പറേറ്റിംഗ് സിസ്റ്റം. കമാൻഡ് ലൈൻ പ്രവർത്തനങ്ങൾക്ക് ലിനക്സ് പ്രശസ്തമാണ്. ദൈനംദിന, ഡെസ്uക്uടോപ്പ് കമ്പ്യൂട്ടിംഗിൽ ലിനക്uസിന്റെ കണ്ടുപിടിത്തത്തോടെ, നിക്uസ് കമാൻഡ്-ലൈനിനോട് പക്ഷപാതം കാണിക്കുന്നില്ല, അത് ഗ്രാഫിക്കൽ ആണ്, ഗ്രാഫിക്കൽ ആപ്ലിക്കേഷൻ വികസിപ്പിക്കുന്നത് ബുദ്ധിമുട്ടുള്ള കാര്യമല്ല.

Zenity എന്ന് വിളിക്കുന്ന GTK+ ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ലളിതമായ ഗ്രാഫിക്കൽ ഡയലോഗ് ബോക്uസ് സൃഷ്ടിക്കുന്നതും നടപ്പിലാക്കുന്നതും ഈ ലേഖനത്തിൽ നമ്മൾ ചർച്ച ചെയ്യും.

എന്താണ് Zenity?

Zenity എന്നത് ഒരു ഓപ്പൺ സോഴ്uസും ഒരു ക്രോസ്-പ്ലാറ്റ്uഫോം ആപ്ലിക്കേഷനുമാണ്, അത് GTK+ ഡയലോഗ് ബോക്സുകൾ കമാൻഡ് ലൈനിലും ഷെൽ സ്uക്രിപ്റ്റുകൾ ഉപയോഗിച്ചും പ്രദർശിപ്പിക്കുന്നു. ഗ്രാഫിക്കൽ ബോക്സുകളിൽ ഷെല്ലിൽ നിന്ന് വിവരങ്ങൾ ചോദിക്കാനും അവതരിപ്പിക്കാനും ഇത് അനുവദിക്കുന്നു. കമാൻഡ് ലൈനിൽ ഗ്രാഫിക്കൽ ഡയലോഗ് ബോക്സുകൾ സൃഷ്ടിക്കാൻ ആപ്ലിക്കേഷൻ നിങ്ങളെ അനുവദിക്കുന്നു കൂടാതെ ഉപയോക്താവും ഷെല്ലും തമ്മിലുള്ള ആശയവിനിമയം വളരെ എളുപ്പമാക്കുന്നു.

മറ്റ് ഇതരമാർഗങ്ങളുണ്ട്, പക്ഷേ സെനിറ്റിയുടെ ലാളിത്യവുമായി ഒന്നും താരതമ്യം ചെയ്യില്ല, പ്രത്യേകിച്ചും നിങ്ങൾക്ക് സങ്കീർണ്ണമായ പ്രോഗ്രാമിംഗ് ആവശ്യമില്ലെങ്കിൽ. Zenity, നിങ്ങളുടെ കൈകളിൽ ഉണ്ടായിരിക്കേണ്ട ഒരു ഉപകരണം.

  1. FOSS സോഫ്റ്റ്uവെയർ
  2. ക്രോസ് പ്ലാറ്റ്ഫോം ആപ്ലിക്കേഷൻ
  3. GTK+ ഡയലോഗ് ബോക്uസ് എക്uസിക്യൂഷൻ അനുവദിക്കുക
  4. കമാൻഡ് ലൈൻ ടൂൾ
  5. ഷെൽ സ്ക്രിപ്റ്റിംഗിലെ പിന്തുണ

  1. എളുപ്പമുള്ള GUI സൃഷ്ടിക്കൽ
  2. മറ്റ് സങ്കീർണ്ണമായ ടൂളുകളേക്കാൾ കുറവ് സവിശേഷതകൾ
  3. ഒരു GUI ഉപയോക്താക്കളുമായി സംവദിക്കാൻ ഷെൽ സ്ക്രിപ്റ്റുകൾ പ്രാപ്തമാക്കുന്നു
  4. ഗ്രാഫിക്കൽ ഉപയോക്തൃ ഇടപെടലിന് ലളിതമായ ഡയലോഗ് സൃഷ്ടിക്കൽ സാധ്യമാണ്

അറിയപ്പെടുന്ന എല്ലാ പ്രധാന പ്ലാറ്റ്uഫോമുകൾക്കും Zenity ലഭ്യമായതിനാൽ, GTK+ ലൈബ്രറി അടിസ്ഥാനമാക്കി, Zenity പ്രോഗ്രാം മറ്റൊരു പ്ലാറ്റ്uഫോമിലേക്ക്/അതിൽ നിന്ന് പോർട്ട് ചെയ്യാൻ കഴിയും.

ലിനക്സിൽ Zenity യുടെ ഇൻസ്റ്റാളേഷൻ

Zentity ഡിഫോൾട്ടായി ഇൻസ്റ്റാൾ ചെയ്തതാണ് അല്ലെങ്കിൽ ഇന്നത്തെ മിക്ക സ്റ്റാൻഡേർഡ് ലിനക്സ് വിതരണങ്ങളുടെയും ശേഖരത്തിൽ ലഭ്യമാണ്. താഴെ പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് നിങ്ങളുടെ മെഷീനിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടോ ഇല്ലയോ എന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാം.

[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

ഇത് ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ Apt അല്ലെങ്കിൽ Yum കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാം.

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

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

കൂടാതെ, നിങ്ങൾക്ക് ഇത് ഉറവിട ഫയലുകളിൽ നിന്ന് നിർമ്മിക്കാനും കഴിയും, ഇനിപ്പറയുന്ന ലിങ്ക് ഉപയോഗിച്ച് ഏറ്റവും പുതിയ Zenity ഉറവിട പാക്കേജ് (അതായത് നിലവിലെ പതിപ്പ് 3.8) ഡൗൺലോഡ് ചെയ്യുക.

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

Zenity അടിസ്ഥാന ഡയലോഗ് ബോക്സുകൾ

കമാൻഡ് ലൈനിൽ നിന്ന് നേരിട്ട് വിളിക്കാൻ കഴിയുന്ന Zenity-യുടെ ചില അടിസ്ഥാന ഡയലോഗുകൾ.

[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

ഷെൽ സ്ക്രിപ്റ്റ് ഡയലോഗ് സൃഷ്ടിക്കുക

ഇപ്പോൾ നമ്മൾ ഇവിടെ ലളിതമായ ഷെൽ സ്uക്രിപ്റ്റുകൾ ഉപയോഗിച്ച് Zenity ഡയലോഗ് സൃഷ്uടിക്കുന്നതിനെക്കുറിച്ചാണ് ചർച്ച ചെയ്യുന്നത്. ഷെല്ലിൽ നിന്ന് നേരിട്ട് Zenity കമാൻഡുകൾ എക്uസിക്യൂട്ട് ചെയ്uത് ഒറ്റ ഡയലോഗ് സൃഷ്uടിക്കാൻ കഴിയുമെങ്കിലും (നമ്മൾ മുകളിൽ ചെയ്തത് പോലെ) എന്നാൽ അർത്ഥവത്തായ ചില ഫലം ലഭിക്കുന്നതിന് രണ്ട് ഡയലോഗ് ബോക്uസുകൾ ലിങ്ക് ചെയ്യാൻ ഞങ്ങൾക്ക് കഴിയില്ല.

നിങ്ങളിൽ നിന്ന് ഇൻപുട്ട് എടുക്കുകയും ഫലം കാണിക്കുകയും ചെയ്യുന്ന ഒരു സംവേദനാത്മക ഡയലോഗ് ബോക്uസ് എങ്ങനെയുണ്ട്.

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

ഇത് 'anything.sh' എന്നതിൽ സംരക്ഷിക്കുക (പരമ്പരാഗതമായി) അത് എക്സിക്യൂട്ടബിൾ ആക്കാൻ മറക്കരുത്. Any.sh ഫയലിൽ 755 അനുമതി സജ്ജമാക്കി സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുക.

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

പരമ്പരാഗത ഷെബാംഗ് അല്ലെങ്കിൽ ഹാഷ്ബാംഗ്

#!/bin/bash

താഴെയുള്ള വരിയിൽ 'ആദ്യം' എന്നത് ഒരു വേരിയബിളാണ്, കൂടാതെ വേരിയബിളിന്റെ മൂല്യം റൺ ടൈമിൽ ജനറേറ്റ് ചെയ്യപ്പെടുന്നു.

    1. ‘–എൻട്രി’ എന്നാൽ ഒരു ടെക്സ്റ്റ് എൻട്രി ബോക്സ് സൃഷ്ടിക്കാൻ zenity ആവശ്യപ്പെടുന്നു.
    2. ‘– title=‘ ജനറേറ്റുചെയ്ത ടെക്സ്റ്റ് ബോക്സിന്റെ തലക്കെട്ട് നിർവ്വചിക്കുന്നു.
    3. ‘—text=‘ ടെക്സ്റ്റ് എൻട്രി ബോക്സിൽ ലഭ്യമായ വാചകം നിർവ്വചിക്കുന്നു.

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

    താഴെയുള്ള സ്uക്രിപ്റ്റ് ഫയലിന്റെ ഈ വരി, \സ്വാഗതം എന്ന ശീർഷകവും \Mr./Ms.first എന്ന വാചകവും ഉള്ള, വിവര (–ഇൻഫോ) ഡയലോഗ് ബോക്uസിന്റെ ജനറേഷൻ ആണ്.

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

    സ്uക്രിപ്റ്റിന്റെ ഈ വരി സ്uക്രിപ്റ്റിന്റെ നമ്പർ രണ്ട് എന്നതിന് സമാനമാണ്, ഇവിടെ ഒരു പുതിയ വേരിയബിൾ 'ലാസ്റ്റ്' നിർവചിച്ചിരിക്കുന്നു.

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

    സ്uക്രിപ്റ്റിന്റെ ഈ അവസാന വരി വീണ്ടും സ്uക്രിപ്റ്റിന്റെ മൂന്നാമത്തെ വരിയോട് സാമ്യമുള്ളതാണ് കൂടാതെ ഇത് '$first', '$last' എന്നീ രണ്ട് വേരിയബിളുകൾ അടങ്ങുന്ന വിവര ഡയലോഗ് ബോക്uസ് സൃഷ്uടിക്കുന്നു.

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

    ഷെൽ സ്uക്രിപ്റ്റ് ഉപയോഗിച്ച് ഇഷ്uടാനുസൃത ഡയലോഗ് ബോക്uസുകൾ എങ്ങനെ സൃഷ്uടിക്കാം എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, ഇനിപ്പറയുന്ന റഫറൻസ് പേജ് Zenity സന്ദർശിക്കുക.

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

    അടുത്ത ലേഖനത്തിൽ, GUI ഉപയോക്തൃ ഇടപെടലിനായി ഞങ്ങൾ കൂടുതൽ ഷെൽ സ്ക്രിപ്റ്റുമായി Zenity സംയോജിപ്പിക്കും. അതുവരെ തുടരുക, Tecmint-ലേക്ക് കണക്റ്റ് ചെയ്യുക. നിങ്ങളുടെ വിലയേറിയ അഭിപ്രായം കമന്റ് സെക്ഷനിൽ അറിയിക്കാൻ മറക്കരുത്.