Zenity - কমান্ড-লাইন এবং শেল স্ক্রিপ্টগুলিতে গ্রাফিকাল (GTK +) ডায়ালগ বাক্স তৈরি করে


জিএনইউ লিনাক্স, লিনাক্স নামে খুব শক্তিশালী কার্নেলের উপর নির্মিত অপারেটিং সিস্টেম। লিনাক্স তার কমান্ড লাইন অপারেশনের জন্য বিখ্যাত। প্রতিদিন এবং ডেস্কটপ কম্পিউটারে লিনাক্স আবিষ্কারের সাথে নিক্স কমান্ড-লাইনের প্রতি পক্ষপাতিত্ব করে না, এটি সমানভাবে গ্রাফিকাল এবং গ্রাফিকাল অ্যাপ্লিকেশন বিকাশ করা আর কোনও কঠিন কাজ থেকে যায় না।

এখানে এই নিবন্ধে আমরা জিটিকে + অ্যাপ্লিকেশন ব্যবহার করে "জেনটি" নামে সাধারণ গ্রাফিকাল ডায়ালগ বাক্স তৈরি এবং সম্পাদনের বিষয়ে আলোচনা করব।

জেনটিটি কী?

Zenity একটি ওপেন সোর্স এবং একটি ক্রস প্ল্যাটফর্ম অ্যাপ্লিকেশন যা কমান্ড-লাইনে এবং শেল স্ক্রিপ্ট ব্যবহার করে জিটিকে + ডায়ালগ বক্সগুলি প্রদর্শন করে। এটি গ্রাফিকাল বক্সগুলিতে শেল থেকে/থেকে তথ্য জানতে এবং উপস্থাপন করতে দেয়। অ্যাপ্লিকেশন আপনাকে কমান্ড-লাইনে গ্রাফিকাল ডায়ালগ বাক্স তৈরি করতে দেয় এবং ব্যবহারকারীর এবং শেলের মধ্যে ইন্টারঅ্যাকশনটিকে খুব সহজ করে দেয়।

অন্যান্য বিকল্প রয়েছে, তবে জেনটির সরলতার সাথে কিছুই তুলনা করে না, বিশেষত যখন আপনার জটিল প্রোগ্রামিংয়ের প্রয়োজন হয় না। Zenity, একটি হাতিয়ার আপনার অবশ্যই আপনার হাত রাখা উচিত।

  1. FOSS সফ্টওয়্যার
  2. ক্রস প্ল্যাটফর্ম অ্যাপ্লিকেশন
  3. জিটিকে + ডায়ালগ বক্স কার্যকর করার অনুমতি দিন
  4. li
  5. কমান্ড লাইন সরঞ্জাম
  6. শেল স্ক্রিপ্টিংয়ে সহায়তা

  1. সহজ জিইউআই ক্রিয়েশন
  2. অন্যান্য জটিল সরঞ্জামগুলির চেয়ে কম বৈশিষ্ট্য
  3. জিইউআই ব্যবহারকারীদের সাথে ইন্টারঅ্যাক্ট করতে শেল স্ক্রিপ্টগুলি সক্ষম করে
  4. গ্রাফিকাল ব্যবহারকারী ইন্টারঅ্যাকশনের জন্য সাধারণ ডায়ালগ তৈরি করা সম্ভব

যেহেতু জেনिटी সমস্ত পরিচিত প্রধান প্ল্যাটফর্মগুলির জন্য উপলব্ধ এবং জিটিকে + লাইব্রেরির উপর ভিত্তি করে, জেনটি প্রোগ্রামটি অন্য প্ল্যাটফর্মে/থেকে পোর্ট করা যেতে পারে।

লিনাক্সে জেনটিটির ইনস্টলেশন

জেন্টিটি ডিফল্টরূপে ইনস্টলড বা আজকের বেশিরভাগ স্ট্যান্ডার্ড লিনাক্স বিতরণের সংগ্রহস্থলে উপলব্ধ। নিম্নলিখিত কমান্ডগুলি কার্যকর করে আপনার মেশিনে ইনস্টল করা আছে কিনা তা আপনি পরীক্ষা করতে পারেন।

[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

যদি এটি ইনস্টল না করা থাকে তবে নীচে দেখানো হিসাবে আপনি এপটি বা ইয়াম কমান্ড ব্যবহার করে এটি ইনস্টল করতে পারেন।

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

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

এছাড়াও আপনি এটি উত্স ফাইলগুলি থেকেও তৈরি করতে পারেন, নিম্নলিখিত লিঙ্কটি ব্যবহার করে সর্বশেষতম জেনিটি উত্স প্যাকেজ (অর্থাত্ বর্তমান সংস্করণ 3.8) ডাউনলোড করতে পারেন।

  1. http://ftp.gnome.org/pub/gnome/source/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

শেল স্ক্রিপ্ট ডায়ালগ তৈরি করুন

এখন আমরা এখানে সাধারণ শেল স্ক্রিপ্ট ব্যবহার করে জেনটি ডায়ালগ তৈরির বিষয়ে আলোচনা করব। যদিও আমরা সরাসরি শেল থেকে জেনটি কমান্ডগুলি কার্যকর করে একক ডায়ালগ তৈরি করতে পারি (যেমন আমরা উপরে করেছি) তবে তার অর্থপূর্ণ ফলাফল পেতে আমরা দুটি ডায়ালগ বাক্সকে লিঙ্ক করতে পারি না।

একটি ইন্টারেক্টিভ ডায়ালগ বক্স সম্পর্কে কীভাবে আপনার কাছ থেকে ইনপুট নেয় এবং ফলাফলটি দেখায়।

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

এটিকে ‘যেকোনো.শ’ তে সংরক্ষণ করুন (প্রচলিতভাবে) এবং এটি কার্যকর করার জন্য ভুলবেন না। যেকোনো.এস ফাইলের 755 অনুমতি সেট করুন এবং স্ক্রিপ্টটি চালান।

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

প্রচলিত শেবাং ওরফে হ্যাশবাং

#!/bin/bash

নীচের লাইনে ‘প্রথম’ একটি পরিবর্তনশীল এবং চলকটির মান রান সময় উত্পন্ন হয়।

    1. ‘–েন্ট্রি’ মানে জেনিটিকে একটি পাঠ্য প্রবেশের বাক্স তৈরি করতে বলা হয়
    2. ‘- শিরোনাম =’ উত্পন্ন পাঠ্য বাক্সের শিরোনাম নির্ধারণ করে।
    3. li
    4. ‘টেক্সট =’ পাঠ্য এন্ট্রি বাক্সে যে পাঠ্য উপলব্ধ তা সংজ্ঞায়িত করে

    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"

    শেল স্ক্রিপ্ট ব্যবহার করে কীভাবে কাস্টম ডায়ালগ বাক্স তৈরি করবেন সে সম্পর্কে আরও তথ্যের জন্য নীচের রেফারেন্স পৃষ্ঠা জেনिटीতে যান।

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

    পরবর্তী নিবন্ধে আমরা জিইউআই ব্যবহারকারীর মিথস্ক্রিয়ার জন্য আরও শেল স্ক্রিপ্টের সাথে জেনিটিকে একীকরণ করব। ততক্ষণ টিউমিন্টের সাথে সংযুক্ত থাকুন এবং সংযুক্ত থাকুন। মন্তব্য বিভাগে আপনার মূল্যবান প্রতিক্রিয়া জানাতে ভুলবেন না।