0

مبادئ واجهة المستخدم الرسومية على غنو/لينوكس

يعاني الكثير من الوافدين الجدد على توزيعات غنو/لينوكس من بعض الصعوبات في التمييز بين مختلف طبقات واجهة المستخدم الرسومية: هل هذا نظام نوافذ أم سطح مكتب؟ مثلا.

واجهة المستخدم كما نعرفها اليوم (عندما نتحدث عن واجهة المستخدم فالمقصود هو تلك المساحة من الشاشة التي يتفاعل معها المستخدم ومتعلقاتها) مرت بمراحل عديدة قبل أن تأخذ شكلها الحالي: من واجهة نصية مشابه للطرفية (سطر الأوامر) إلى واجهة مستخدم رسومية (بالانجليزية Graphical user interface وتُنطق اختصارا GUI) بتأثيرات معقّدة وجميلة.

سنتطرق في هذه التدوينة إن شاء الله إلى العناصر الأساسية التي تعتمد على واجهة المستخدم في غنو/لينوكس. أشير هنا إلى أن بعض العناصر تشترك فيه توزيعات غنو/لينوكس مع بقية أنظمة التشغيل وإن اختلفت آلية العمل في تفاصيلها.

المكونات الأساسية لواجهة المستخدم على غنو/لينوكس

على أنظمة غنو/لينوكس والأنظمة الشبيهة بيونكس تتواجد ثلاث طبقات أساسية تعطي لواجهة المستخدم الرسومية إمكانية العمل بالطريقة التي تعمل بها اليوم، وهذه الطبقات هي:

نظام النافذة إكس X Window System

ويُعتبر القاعدة التي تُبنى عليها آلية واجهة المستخدم حيثُ إنها تقدم “خدمات” تعتمد عليها الطبقات الأعلى. في هذه الإطار فإن وظيفة نظام النافذة إكس هي توفير العناصر البدائية للواجهة. يدخل في هذه المهمة: إمكانية رسم وتحريك نافذة والتفاعل مع الفأرة أو لوحة المفاتيح أو شاشة اللمس. يعمل نظام نافذة إكس حسب نمط عميل/خادم Client/Server. حيث يتولى خادم إكس تلبية الطلبات التي تأتيه من العميل مثل عرض الألوان والخطوط على الشاشة كما أنه هو المسؤول عن التعامل مع لوحة المفاتيح والفأرة. يمكن لنظام نافذة إكس العمل بكفاءة عبر الشبكة (خادم نظام إكس واحد مثلا لعدة عملاء مربوطين بالشبكة).

ملحوظة: عندما نتحدث عن خادم هنا فالمقصود برنامج يستقبل الطلبات من برنامج آخر نسميه العميل ثم ينفذها ليستغلّها العميل بالطريقة التي تناسبه. وليس المقصود جهاز خادم منفصل.

مدير النوافذ Windows manager

بعد نظام إكس يأتي مدير النوافذ. هذا الأخير يعتمد على الأول حيثُ إنه يأتي مجهزا بعميل نظام إكس (Client) مهمته إرسال الطلبات التي يتولى خادم إكس الإجابة عليها. مهمة مدير النوافذ هي تحديد شكل الواجهة المعروضة على الشاشة وما يمكن للمستخدم عمله أو لا. مثلا عند النقر مرتين على شريط العنوان فإن بعض مديري النوافذ يُصغِّر حجم النافذة والبعض الآخر لا يتفاعل مع هذا الحدث ورغم ذالك فإن الاثنين يستخدمان نفس نظام النافذة إكس. الفرق هو أنه في الحالة الأولى (تغيير حجم النافذة) فإن مدير النوافذ يُرسل طلبا إلى خادم إكس عبر العميل لتصغير النافذة فيستجيب الخادم لطلبه بينما في الحالة الثانية فإن مدير النوافذ يتجاهل الحدث فلا يتلقى خادم إكس أي طلب. كما أن مدير النوافذ يتولى إدارة تموضع النوافذ بالنسبة إلى بعضها البعض فيقرر أي نافذة يجب أن تكون في الواجهة في لحظة معيّنة. ولكن ما يحدث داخل النافذة (إظهار حروف كتبتها في سطر الأوامر أو صفحة وب داخل متصفحك المفضل مثلا) هو من مسؤولية عميل نظام إكس المُصاحب للبرنامج الفتوح في هذه النافذة.

بيئة سطح المكتب Desktop environment

تأتي بيئة سطح المكتب (سطح المكتب اختصارا) مجهزة بمدير نوافذ واحد على الأقل ونظام نافذة إكس، ولكنها تتقدم خطوات إلى الأمام حيثُ توفّر تجربة مستخدم متجانسة عبر نوافذ وتطبيقات ذات “منظر وإحساس” (بالانجليزية Look and feel) متجانس وموّحد. من بين الأمور التي يتضمنها سطح المكتب إدارة جلسات (Sessions) المستخدمين ومساحات العمل (Workspaces). مثلا: عند وضع الجهاز في حالة تعليق Suspend فإن سطح المكتب هو المسؤول عن حفظ التطبيقات والنوافذ المفتوحة لاستعادتها عند إعادة الدخول.

رغم أن واجهة المستخدم تعتمد على عدة طبقات كما رأينا إلا أن عبارة “واجهة مستخدم” تأتي في كثير من الأحيان مرادفة لبيئة سطح مكتب.

أمثلة على بيئات سطح مكتب ومدراء النوافذ المستخدمة فيها

سطح مكتب LXDE

وهو سطح المكتب المستخدم في توزيعة Lubuntu ويعتمد على مدير نوافذ Open Box.

مدير نوافذ أوبن بوكس

مدير نوافذ أوبن بوكس (المصدر)

سطح مكتب Gnome

وهو من أكثر أسطح المكتب انتشارا بين توزيعات غنو/لينوكس ويأتي بشكل افتراضي مع الكثير من التوزيعات أبرزها فيدورا. كما يمكن تثبيته على أغلب توزيعات غنو/لينوكس وعلى رأسها أوبنتو. ابتداء من الإصدار الثالت Gnome Shell أصبح سطح مكتب غنوم يستخدم مدير نوافذ مورر Mutter ليحل محل Metacity الذي كان مستخدما في الإصدارات السابقة.

سطح مكتب غنوم شل

سطح مكتب غنوم شل (المصدر)

سطح مكتب KDE Plasma Workspaces

ويشتهر اختصارا باسم سطح مكتب KDE. وهو من أقدم وأشهر سطوح المكتب. يتميز بقابليته العالية للتخصيص وتأثيراته الجميلة ولكنه مستهلك لموارد الجهاز. من أبرز التوزيعات التي تأتي افتراضيا بسطح مكتب KDE توزيعة KUbuntu. مدير النوافذ المستخدم هو KWin.

سطح مكتب KDE

سطح مكتب KDE (المصدر)

هذه فقط بعض الأمثلة. أسطح المكتب على غنو/لينوكس عديدة وكذلك مدراء النوافذ.

لكن مهلا.. ماذا عن يونيتي Unity ؟

في البداية لم يكن يونيتي سوى طبقة من التأثيرات فوق واجهة غنوم ولكنه الأن أصبح سطح مكتب مستقل بمدير نوافذ مغاير ل Mutter و Metacity المستخدمين على التوالي في غنوم شل وغنوم بانل Gnome Panel (الإصدار الثاني من سطح مكتب غنوم). مدير النوافذ المستخدم في سطح مكتب Unity هو Compiz. في الصورة أدناه يظهر مدير نوافذ Compiz يعمل على توزيعة فيدورا ضمن سطح مكتب Gnome Panel (الإصدار الثاني من غنوم).

مدير نوافذ Compiz على توزيعة فيدورا

مدير نوافذ Compiz على توزيعة فيدورا

 

إن كان لديك استشكال أو إضافة أو تصحيح فمربع التعليقات أدناه موجود لهذا الغرض. لا تبخلوا باستعماله 🙂

للحصول على آخر الإضافات مباشرة بعد نشرها يُرجى  التسجيل في المدونة و الاشتراك في تغذيات RSS أو على تطبيق فيدلي عبر الضغط على الزر أدناه.
تابعنا على تطبيق فيدلي

مصادر

http://www.ghacks.net/2008/12/09/get-to-know-linux-desktop-environment-vs-window-manager/
http://www.linuxdevcenter.com/pub/a/linux/2005/08/25/whatisXwindow.html
http://askubuntu.com/questions/18078/what-is-the-difference-between-a-desktop-environment-and-a-window-manager

فضلًا.. شارك هذا المقال 🙂

Email this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on StumbleUpon

zeine77

محمد أحمد ولد العيل، مهندس نظم معلومات. مهتم بنظام تشغيل غنو/لينوكس والبرمجيات الحرّة والمفتوحة المصدر. أسعى من خلال هذه المدوّنة لإثراء المحتوى العربي على الشّبكة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *