كيفية جعل مخطوطات شل رسومية بسيطة مع زينتي على لينكس
يضيف Zenity واجهات رسومية لقذائف البرامج النصية باستخدام أمر واحد. تعتبر نصوص Shell طريقة رائعة لأتمتة المهام المتكررة ، ولكنها عادة ما تكون محصورة في النهاية الطرفية - حيث تخرجها Zenity من المحطة الطرفية إلى سطح المكتب.
لقد قدمنا مقدمة عن برنامج shell في الماضي. ليس من الضروري أن تكون مبرمجًا للبدء في استخدام برامج shell النصية - فهي تتطلب أكثر من مجرد معرفة الأوامر الطرفية لنظام التشغيل Linux.
الحصول على الزن
تأتي Zenity مع Ubuntu افتراضيًا. إذا كنت تستخدم مشتق Ubuntu ، مثل Kubuntu ، قد تضطر إلى تثبيته يدويًا باستخدام الأمر التالي:
sudo apt-get install zenity
Zenity هي جزء من GNOME ، لذا يجب تضمينها بالفعل في توزيعات Linux التي تستخدم سطح مكتب GNOME. تحقق من مدير الحزم الخاص بك zenity حزمة إذا لم يكن لديك.
باستخدام Zenity
يمكنك اللعب مع Zenity من المحطة. لنفترض أنك تريد إنشاء نافذة خطأ عند حدوث مشكلة في البرنامج النصي الخاص بك. في ما يلي أمر مثال يمكنك استخدامه:
zenity -error -title = ”حدث خطأ“ - -Text = ”حدثت مشكلة أثناء تشغيل البرنامج النصي shell.”
قم بتشغيل الأمر وسترى نافذة تحتوي على الرسالة.
ضع هذا الأمر المفرد في البرنامج النصي shell الخاص بك في المكان الصحيح وسيكون لديك رسالة خطأ رسومي. يمكنك أيضًا استخدام المتغيرات لتضمين مزيد من المعلومات حول الخطأ.
لنفترض أنك تريد طرح سؤال بنعم أو لا. يمكنك استخدام أمر مثل هذا:
zenity -question -title = "Query" -text = "هل تريد تشغيل النص البرمجي؟"
يمكنك التقاط الاستجابة بنعم أو لا في البرنامج النصي الخاص بك shell وتنفيذ أوامر مختلفة استناداً إلى الزر الذي ينقر المستخدم.
هناك أيضًا مربع حوار إدخال نص:
zenity -entry -title = "موقع الويب المفضل" - النص = "ما هو موقع الويب المفضل لديك؟"
قبض على إدخال المستخدم في برنامج نصي shell ويمكنك تخزينه كمتغير.
هناك أيضًا منتقي ملفات ، تقويم ، وأنواع أخرى من مربعات الحوار. للحصول على قائمة كاملة بأنواع الحوار وخياراتها ، راجع صفحة دليل Zenity.
مثال على السيناريو
دعونا نحاول استخدام Zenity لإنشاء برنامج نصي شل رسومية بسيطة. مع ثلاثة أوامر فقط ، يمكننا إنشاء برنامج مؤقت رسومي:
#! / بن / سحق
# يطلب هذا البرنامج النصي المستخدم لفترة من الوقت ، وينتظر المبلغ المحدد
# من الوقت ، ويظهر مربع حوار تنبيه.TIME = $ (zenity -entry -title = "Timer" - النص = "أدخل مدة الموقت. \ n \ n استخدم 5 ثوانٍ لمدة 5 ثوانٍ أو 10 دقائق لمدة 10 دقائق أو ساعتين لمدة ساعتين.")
sleep $ TIME
zenity -info -title = ”Timer Complete” -text = ”انتهى الموقت. \ n \ n لقد كان $ TIME.”
نحن نستخدم بعض الحيل الإضافية هنا. نحصل على قيمة متغير TIME من أمر zenity الأول ونطعمه إلى أمر السكون. نحن نستخدم أيضا / ن لإنشاء أسطر جديدة من النص في مربعات حوار zenity.
بعد حفظ البرنامج النصي شل وتشغيل chmod + x الأمر عليه لمنحها أذونات قابلة للتنفيذ ، يمكننا إطلاقها.
أدخل مدة وسيستخدم البرنامج النصي المعيار ينام أمر العد التنازلي في الخلفية. عند انتهاء المؤقت في وقت النوم ، سيعرض النص البرمجي رسالة معلومات zenity.
يمكنك إنشاء اختصار مكتبي أو لوحة لهذا البرنامج النصي وتشغيله دون حتى لمس الجهاز.
هذا هو مجرد خدش سطح ما يمكنك القيام به مع zenity ؛ يمكنك استخدامه لصنع برامج أكثر تعقيدًا. إذا كنت تبحث عن مزيد من المعلومات حول برامج نصية shell ، فراجع دليلنا لاستخدام الحلقات في نصوص shell.