ما هو Wayland على Linux ، وكيف يختلف عن X؟

نشرت: 2023-07-17
يفتح مدير الملفات على الكمبيوتر المحمول System76 Gazelle
هانا سترايكر / How-To Geek
Wayland هو نظام نوافذ بديل لتوزيعات Linux. إنه يحل محل معيار الشيخوخة X11. نظرًا لأنه يتطلب تعديل التطبيقات للعمل معها ، فقد كان الاعتماد بطيئًا حتى الآن. في وقت كتابة هذا التقرير ، كانت زيادة الأمان هي الميزة الرئيسية على X11.

يتيح X11 ، أو نظام X Window ، لبيئة سطح المكتب الرسومية عرض النوافذ والتحكم فيها. Wayland هو بديل لـ X11. إنه مصمم ليكون أسرع وأكثر أمانًا. إليك ما تحتاج إلى معرفته عنهم.

جدول المحتويات

ما هو وايلاند؟
الأسماء العديدة لـ X
كيف يعمل X11
كيف يعمل وايلاند
اعتماد Wayland البطيء عن طريق التطبيقات
هل تستخدم Wayland أو X11؟
هل يجب عليك استخدام Wayland أم X11؟

ما هو وايلاند؟

Wayland هو بديل حديث لـ X11 ، والذي كان نظام النوافذ الافتراضي على Linux لعقود. Wayland هو بروتوكول اتصال يحدد المراسلة بين خادم عرض X Window وتطبيقات العميل. يوفر مشروع Wayland مكتبات للعميل والخادم تمكن التطبيقات من استخدام البروتوكول.

بدأ مشروع Wayland من قبل مطور Red Hat في عام 2008.

الأسماء العديدة لـ X

نظام X Window هو نظام نوافذ ، تم إصداره لأول مرة لنظام التشغيل Unix بواسطة معهد ماساتشوستس للتكنولوجيا في عام 1984. يمكن للتطبيقات البناء على الوظائف التي يوفرها نظام النوافذ لإنشاء واجهات المستخدم.

بحلول عام 1987 ، وصل نظام X Window إلى الإصدار 11 ، وأصبح يُعرف باسم X11. تديره مؤسسة X.Org الآن. لا يزال في الإصدار 11 ، على الرغم من وجود العديد من الإصدارات الأصغر منذ عام 1987. حتى وقت كتابة هذا التقرير ، الإصدار الثابت الحالي هو X11R7.7.

لا يشير الحرف "X" في الاسم إلى عشرة بالأرقام الرومانية ، ولا يشير إلى "Xtra" أو "Xtended" أو أي شيء من هذا القبيل. كان يسمى نظام النوافذ السابق "W" ، لـ "windows" ، وانتقلوا ببساطة إلى الحرف التالي في الأبجدية عندما بدأوا المشروع الجديد.

ستسمع نظام نافذة X المشار إليه باسم "X" و "X11" و "Xorg" و "X Windows" و "نظام X Window".

كيف يعمل X11

يعالج نظام X Window الأحداث ذات المستوى المنخفض والأولويات ، مثل التفاعل مع الماوس ، ورسم النوافذ وتحريكها. تتعامل التطبيقات مع العناصر المرئية وتصميم الواجهة. إن مظهر النوافذ ، والأزرار الموجودة بها ، وأين توجد هذه الأزرار ، هي خيارات يتخذها مبرمج التطبيق. يقوم نظام X Window برسم التصميم الناتج على الشاشة.

يوفر X11 تعريفًا للاتصال الذي يجب أن يمر بين المكونات المختلفة لنظام X Window يعمل. هذا الاتصال مطلوب لأن الكود الذي يستخدمه التطبيق الذي يدعم X لرسم النوافذ وعناصر الواجهة ليس داخل التطبيق. يتم مشاركة هذا العمل بين خادم X ومدير النافذة.

التطبيقات هي عملاء خادم X. مدير النوافذ هو نوع خاص من العملاء. خادم X مسؤول عن إدارة الموارد وتنفيذ طلبات الرسم وتنظيم الأحداث مثل ضغطات المفاتيح ونقرات الماوس إلى التطبيقات المناسبة.

كما أنه يعمل كوسيط في الاتصال بين مدير النوافذ والتطبيقات ، ويقوم بدور الوسيط بين الرسائل ذهابًا وإيابًا. يحتفظ Window Manager بقائمة من النوافذ التي فتحتها التطبيقات ، ومكان ظهورها على الشاشة ، وحجمها ، وما إذا كانت متراكبة ، وما إلى ذلك.

يحتفظ مدير النوافذ المركب بمخزن مؤقت خارج الشاشة لكل نافذة. يقوم بتركيب هذه المخازن المؤقتة في صورة واحدة تمثل النافذة العلوية - التي تمثل سطح المكتب بالكامل - والتي تتم كتابتها على الشاشة.

تستخدم جميع بيئات سطح المكتب الرسومية الحديثة ، بما في ذلك GNOME و KDE ، أدوات إدارة النوافذ المركبة.

كيف يعمل وايلاند

يهدف Wayland إلى حل مشكلات X11. تتطلب بنية X11 الكثير من الرسائل. يجلس خادم X بين العملاء ومدير النافذة. كما أنه يقع بين كل شيء - عبر النواة - أجهزة الرسومات. يمكن أن يؤدي حجم الرسائل إلى زمن انتقال وتجربة بصرية متأخرة وثابتة.

هناك قاعدة رمز كبيرة أيضًا. هناك تطبيق الخادم وتطبيق Window Manager ومكتبة X11 التي يستخدمها العملاء. كلما كانت قاعدة الشفرة أكبر (وأقدم) ، كان من الصعب الحفاظ عليها ، وكلما زادت معاناتك مع الكود القديم.

من خلال تغيير البنية ، قام Wayland بتحديث قاعدة التعليمات البرمجية وتبسيطها ، مما يوفر مزايا في الأداء وأمانًا محسنًا.

في الواقع ، قاموا بدمج الخادم ومدير Window في تطبيق واحد. لقد أزالوا أي كود يؤدي وظائف يتم تنفيذها الآن بواسطة النواة. بدلاً من تكرار الجهد ، استفادوا من وظائف النواة.

مع Wayland ، يتواصل الملحن وتطبيق العميل مباشرة. يحافظ المُنشئ على التعيين الداخلي للنوافذ الموجودة على سطح المكتب ، وحجمها وحالتها. فهو يتوسط في أحداث تغيير لوحة المفاتيح والماوس والنافذة ، ويرسلها إلى التطبيقات التي تمتلك تلك النوافذ.

تقوم التطبيقات بتحديث واجهة المستخدم وفقًا لذلك. يتمثل الاختلاف الرئيسي في أن العرض يتم داخل التطبيقات نفسها ، باستخدام مكتبات Wayland المرتبطة.

يقوم التطبيق إما بتحديث المخزن المؤقت المستخدم للاحتفاظ بالنافذة ، أو إنشاء واحدة جديدة وتجاهل القديم. يرسل تطبيق العميل بعد ذلك إشعارًا إلى المؤلف ، ويخبره بتحديث تعيين النافذة واستخدام مخزن الفيديو المؤقت الجديد أو المحدث.

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

اعتماد Wayland البطيء عن طريق التطبيقات

Wayland هو نظام النوافذ الافتراضي في Debian 10 والأحدث ، Fedora 34 أو الأحدث ، Ubuntu 18.04 أو الأحدث ، والتوزيعات الأخرى مثل Arch Linux. على الرغم من ذلك ، في كثير من الأحيان ، يدير Wayland تطبيقات X11.

هناك طبقة توافق تسمى XWayland تتيح تشغيل تطبيقات X11 تحت Wayland. كان هذا مطلوبًا لأن غالبية تطبيقات X11 لم يتم تعديلها ونقلها إلى Wayland.

في بيئات سطح المكتب التي توفر مُركِّبات Wayland ، مثل GNOME ، فإن التطبيقات الرسمية مثل محرر نصوص GNOME والخرائط والملفات والتقويم كلها تطبيقات محلية من Wayland. لكن الغالبية العظمى من تطبيقات X11 لا تزال دون تغيير ، وتطبيقات X11 الأصلية.

تصدر Nvidia برامج تشغيل GPU Linux مفتوحة المصدر ، بلمحة
تطلق Nvidia ذات الصلة برامج تشغيل GPU Linux مفتوحة المصدر ، بسرعة فائقة

عادةً ما تعمل البرامج الوسيطة XWayland بشكل جيد ، ولكن يمكن أن تكون هناك مشكلات مع بعض تطبيقات X11 التي تؤدي وظائف منخفضة المستوى متعلقة بالشاشة مثل تسجيل الشاشة. يمكن أن يكون استخدام Wayland مع NVIDIA بمثابة ألم بقدر ما هو مع X11 ، على الرغم من أنني لم أواجه مشكلات في برنامج التشغيل اليومي الخاص بي باستخدامه مع وحدة معالجة الرسومات NVIDIA GeForce GT 1030.

من المحتمل أن يأمل بعض مؤلفي تطبيقات X11 أن يعمل تطبيقهم بشكل جيد مع XWayland ، ويمكنهم تجنب الاضطرار إلى إعادة صياغتها في تطبيقات Wayland. لا تتفاجأ إذا كان الاستيعاب والترحيل إلى Wayland طويلًا وبطيئًا ، مع اعتماد التطبيقات الجديدة له ولكن غالبية تطبيقات X11 الحالية تظل كما هي ، مما يعلق آمالهم على XWayland.

ذات صلة: ما الجديد في Ubuntu 21.04 "Hirsute Hippo"

هل تستخدم Wayland أو X11؟

إذا كنت تستخدم أحد توزيعات Linux الرئيسية ، فمن المحتمل أنك تستخدم Wayland بالفعل. يمكنك التحقق من خلال إصدار الأمر التالي.

 صدى $ XDG_SESSION_TYPE

في نظام يستخدم Wayland ، سيكون الإخراج:

وعلى نظام يعمل بنظام X Window System ، سترى:

نادرًا ما لم يتم تعيين متغير البيئة XDG_SESSION_TYPE . في هذه الحالة ، يمكنك استخدام هذا الأمر بدلاً من ذلك:

 loginctl show-session $ (loginctl show-user $ (whoami) -p Display --value) -p Type --value

يستخدم الأمر loginctl الداخلي المتداخل الأمر show-user لإظهار خصائص المستخدم المحدد. يعطينا الأمر whoami اسم المستخدم الحالي. يقيد الخيار -p (الخاصية) الإخراج من loginctl إلى المعلومات المتعلقة بإعداد "العرض" ، ونستخدم الخيار --value لإرجاع القيمة فقط. لا نريد أن يكون لدينا سلسلة "Display =" في الاستجابة من loginctl . كل ذلك يعطينا معرف الجلسة.

نقوم بتمرير معرف الجلسة إلى loginctl الخارجي ، ونستخدم الأمر show-session لعرض سمات الجلسة. نستخدم الخيار -p (الخاصية) لتقييد الإخراج على المعلومات المتعلقة بنوع الجلسة ، واستخدام الخيار --value لإظهار القيمة بدون تسمية "Type =".

على جهاز كمبيوتر يستخدم Wayland ، سترى:

استخدام الأمر loginctl في نظام Fedora Linux لتحديد ما إذا كان Wayland أو X11 قيد الاستخدام

إذا كنت تقوم بتشغيل نظام X Window ، فسترى:

استخدام الأمر loginctl في Manjaro inux لتحديد ما إذا كان Wayland أو X11 قيد الاستخدام

هل يجب عليك استخدام Wayland أم X11؟

ما لم تكن لديك مشكلات ، يمكنك أيضًا الالتزام بما تستخدمه بالفعل. ولكن إذا كنت تلاحظ عدم استقرار أو تحديثات شاشة متقطعة ، فيمكنك محاولة الانتقال إلى الخيار الذي لا تستخدمه.

في جنوم ، إذا كنت تريد التبديل وتجربة النظام الآخر ، في شاشة تسجيل الدخول ، انقر فوق اسم المستخدم الخاص بك ، ثم انقر فوق رمز عجلة التروس في الزاوية اليمنى السفلية من الشاشة.

القائمة المنسدلة في جنوم التي تسمح لك باختيار تجربة سطح المكتب المستندة إلى Wayland أو X11

ستقدم لك القائمة إصدارات مختلفة من جنوم. تستخدم الخيارات التي تذكر "Xorg" نظام X Window وتلك التي لا تستخدم Wayland.

ذات صلة: كيفية سرد متغيرات البيئة على نظام Linux