كيفية عرض GUI Message Box
بسهولة من سكريبت Bash في لينوكس
عند كتابة سكريبتات Bash في لينوكس، خاصةً على أوبونتو، قد تجد نفسك بحاجة إلى تقديم معلومات أو طلب إدخال من المستخدم دون الاعتماد على واجهة الطرفية. قد تنشأ الحاجة إلى حوار رسومي في العديد من المواقف، مثل عرض مطالبات التأكيد، رسائل التنبيه، أو الإشعارات البسيطة.
ستوجهك هذه المقالة خلال استخدام Zenity، وهو أداة متاحة في أوبونتو، لإنشاء صناديق حوار GUI بسهولة من سكريبتات Bash الخاصة بك. لنبدأ في خطوات تنفيذ هذه الحلول.
لماذا تستخدم صندوق رسالة GUI؟
استخدام صندوق رسالة GUI في السكريبتات الخاصة بك يساعد على:
- تعزيز تجربة المستخدم: واجهة رسومية تكون أكثر فنية للمستخدمين، مما يجعل السكريبتات أسهل في الاستخدام.
- تجنب الاعتماد على الطرفية: يمكن للمستخدمين التفاعل مع السكريبتات مباشرة دون الحاجة إلى التفاعل مع الطرفية.
- تحسين التغذية الراجعة: توفير تغذية راجعة فورية أو مطالبات عبر صناديق الحوار يبقي المستخدمين على علم.
ما هو Zenity؟
Zenity هو أداة سطر الأوامر التي تسمح لك بإنشاء صناديق حوار GTK في السكريبتات. هذا يعني أنه يمكنك دمج أنماط مختلفة من صناديق الرسائل، مثل تنبيهات المعلومات، مطالبات الأسئلة، أو مُحددات الملفات، مباشرة من سكريبتات bash الخاصة بك.
يتوفر Zenity كحزمة لأوبونتو، لذا لن تحتاج إلى تثبيت برامج إضافية (إلا لبعض الميزات الخاصة).
التثبيت
في معظم الحالات، يأتي Zenity مثبتًا مسبقًا على أوبونتو. للتحقق مما إذا كان مثبتًا، يمكنك ببساطة تشغيل:
zenity --version
إذا لم يكن مثبتًا، يمكنك إضافته بسهولة باستخدام:
sudo apt-get install zenity
كيفية استخدام Zenity في سكريبتات Bash الخاصة بك
إليك شرح لكيفية إنشاء أنواع مختلفة من صناديق حوار GUI باستخدام Zenity.
عرض رسالة معلومات
لإظهار حوار معلومات بسيط، يمكنك استخدام الأمر التالي:
zenity --info --text="رسالتك هنا"
طرح سؤال
لطلب من المستخدمين سؤالًا، يمكنك استخدام:
zenity --question --text="هل تريد الاستمرار؟"
سيعيد هذا رمز خروج نجاح أو فشل بناءً على اختيار المستخدم.
الحصول على إدخال من المستخدم
إذا كنت بحاجة إلى الحصول على إدخال من المستخدمين، استخدم:
USER_INPUT=$(zenity --entry --text="يرجى إدخال اسمك:")
سيطلب هذا من المستخدم إدخال اسمه ويخزنه في المتغير USER_INPUT
.
مثال سكريبت
إليك سكريبت Bash بسيط يجمع بين عدة حوارات Zenity:
#!/bin/bash
zenity --info --text="مرحبًا بك في السكريبت!"
if zenity --question --text="هل تريد الاستمرار؟"; then
NAME=$(zenity --entry --text="ما اسمك؟")
zenity --info --text="مرحبًا، $NAME!"
else
zenity --warning --text="تم إلغاء العملية."
fi
تشغيل السكريبت
- احفظ السكريبت باسم
your_script.sh
. - اجعل منه قابلًا للتنفيذ:
chmod +x your_script.sh
- نفذه:
./your_script.sh
الآن، عند تشغيل السكريبت الخاص بك، سترى صندوق رسالة ترحيب يتبعه سؤال، وبناءً على الإدخال، إما ترحيب أو إشعار بإلغاء.
الخاتمة
إن دمج صناديق رسالة GUI في سكريبتات Bash الخاصة بك يمكن أن يحسن بشكل كبير من تفاعل المستخدم وتجربته. مع Zenity، يمكنك تنفيذ أنواع مختلفة من الحوارات بسهولة مع التأكد من أنك لا تثقل كاهل المستخدمين بمخرجات الطرفية.
من خلال اتباع الخطوات الموضحة أعلاه، يمكنك إنشاء سكريبتات جذابة وسهلة الاستخدام يمكن أن تعمل بسلاسة على أوبونتو أو أي توزيعة لينوكس تدعم GTK. نأمل أن تحظى ببرمجة سعيدة!