تشغيل ملفات GIF المتحركة مباشرة من سطر أوامر أوبونتو

نظرة عامة

كثيراً ما يحتاج مديرو الأنظمة ومطورو لينكس إلى معاينة تسلسلات الصور أو الرسوم المتحركة بصيغة GIF سريعاً دون تكبد عناء فتح برامج العرض الرسومية الثقيلة. توفر حزمة ImageMagick عبر أداتها القوية animate-im7 حلاً فورياً وعملياً لعرض هذه الرسوم مباشرة عبر الطرفية. يستعرض هذا الدليل خطوات إعداد الأداة، والتحكم في وتيرة التتابع الزمني، وضبط دورات التكرار، وتخصيص تموضع نوافذ العرض وأبعادها بدقة واحترافية.

تهيئة بيئة العمل وتثبيت حزمة ImageMagick

للبدء في تهيئة النظام واستدعاء حزمة البرمجيات المطلوبة، نقوم بتحديث مستودعات التوزيعة وتنزيل حزمة imagemagick عبر مدير الحزم:

تحديث المستودعات وتثبيت حزمة imagemagick

للتحقق من إتاحة الملف التنفيذي وجاهزية الأداة في مسار النظام، نستعلم عن موضع animate أو animate-im7:

التحقق من وجود الأمر animate أو animate-im7 في المسار

تتخصص أداة animate-im7 التابعة لمكتبة ImageMagick في معالجة الإطارات المتتابعة وملفات GIF وعرضها في نافذة رسومية مستقلة تُستدعى مباشرة من سطر الأوامر.
يمكن مراجعة تفاصيل الإصدار وإعدادات البناء المدعومة بإضافة خيار الإصدار -version:
⚙️ [أبرز المعاملات وخيارات التحكم]

-delay : يحدد الفاصل الزمني الفاصل بين كل إطار وآخر، مما يتحكم مباشرة في سرعة الحركة.
-loop : يعين عدد دورات إعادة تشغيل الرسوم المتحركة قبل التوقف.
-geometry : يضبط دقة أبعاد النافذة المعروضة وموقع إحداثياتها على الشاشة.
-resize : يعيد تحجيم مقاسات الصورة الأصلية المعروضة وفق قياسات جديدة.
-pause : يحدد فترة توقف مؤقتة بالثواني بين نهاية الدورة وبداية التكرار التالي.

استعراض إصدار وتفاصيل بناء animate-im7

بناء نموذج GIF تجريبي وتشغيله لأول مرة

سنقوم بإنشاء مجلد عمل مستقل لاحتواء ملفات التجربة ثم الانتقال إليه عبر تنفيذ الأمرين التاليين:

إنشاء مسار العمل animate_demo والانتقال إليه

نستخدم أداة convert لرسم أول إطار تحت اسم frame1.png، وهو عبارة عن خلفية بيضاء يتوسطها قرص دائري أحمر:

توليد الإطار الأول ذي الدائرة الحمراء

لإحداث حركة بصرية فارقة، ننشئ الإطار الثاني frame2.png متضمناً دائرة زرقاء بنصف قطر مختلف:

توليد الإطار الثاني بدائرة زرقاء ذات قطر أصغر

نقوم الآن بدمج الصورتين معاً لإنشاء المشهد المتحرك sample.gif، مع ضبط الفاصل الزمني بين الإطارات بمقدار نصف ثانية (-delay 50 جزءاً من الثانية):

دمج الإطارات بفاصل زمني لإنتاج sample.gif

لعرض النتيجة، نمرر الملف الذي تم إنشاؤه إلى أمر animate-im7 لتنبثق نافذة التشغيل التلقائي فوراً:

بدء تشغيل ملف sample.gif عبر animate-im7

التحكم في سرعة الحركة وتكرار العرض

قبل تطبيق معاملات السرعة، نتأكد من التواجد داخل مجلد التجارب الذي يحوي ملف الرسوم:

التحقق من مسار العمل animate_demo

بتمرير المعامل -delay 20، يتم تقليص زمن التبديل بين اللقطات إلى 0.2 ثانية فقط (أي 20 جزءاً من المائة من الثانية)، مما يرفع وتيرة التحول بشكل ملحوظ مقارنة بالمعدل الأصلي:

تسريع وتيرة العرض باستخدام الخيار delay 20

عند الرغبة في إبطاء التتابع إلى ثانية كاملة لكل إطار مع حصر العرض في 3 دورات فقط، ندمج المعاملين -delay 100 و -loop 3:
يتبدل المشهد بروية كل ثانية، ويتوقف التشغيل تلقائياً بمجرد إتمام الدورات الثلاث المحددة.

عرض الرسوم بسرعة منخفضة مع تحديد ثلاث دورات تكرار

ضبط هندسة النوافذ (Geometry) وتخصيص شريط العنوان

للتحكم في خصائص النافذة، نبدأ بالرجوع إلى مسار المشروع:

الانتقال إلى مجلد العمل

بإمكاننا التحكم الدقيق في مساحة النافذة وموضع ظهورها على سطح المكتب باستخدام المعامل -geometry 300x300+100+100، حيث يحدد ذلك مقاس 300×300 بكسل مع إزاحة بمقدار 100 بكسل أفقياً ورأسياً بالنسبة للزاوية العلوية:

تحديد حجم النافذة وتموضعها على الشاشة عبر geometry

لإضفاء مظهر منظم أو تمييز النافذة أثناء الاختبارات البرمجية، يمكن استبدال الاسم الافتراضي في الشريط العلوي بنص وصفي مخصص عبر -title 'Animation Preview':
يظهر العنوان المخصص بوضوح في شريط النافذة، مما يسهل فرز النوافذ المتعددة أثناء المعاينة.

تخصيص عنوان نافذة المعاينة عبر الخيار title

تعرفنا في هذا الدليل على كيفية توظيف أداة animate-im7 لمعاينة ملفات GIF التفاعلية مباشرة انطلاقاً من بيئة سطر أوامر أوبونتو.
تتيح لك هذه الإمكانات فحص الوسائط المتحركة واختبارها بمرونة وخفة دون الحاجة لتشغيل برامج رسومية معقدة.