كيف تعمل الرسومات في Linux: نظرة عامة على بيئات سطح المكتب المختلفة

تتناول هذه المقالة كيفية عمل الرسومات في Linux والمكونات التي تتكون منها. يحتوي على العديد من لقطات الشاشة للتطبيقات المختلفة لبيئات سطح المكتب. 



إذا كنت لا تميز حقًا بين KDE و GNOME ، أو تفعل ذلك ، ولكنك ترغب في معرفة البدائل الأخرى الموجودة ، فهذه المقالة مناسبة لك. إنها نظرة عامة ، وعلى الرغم من وجود العديد من الأسماء والمصطلحات القليلة فيها ، إلا أن المواد ستكون مفيدة أيضًا للمبتدئين وتتطلع فقط إلى Linux.



قد يثير الموضوع أيضًا اهتمام المستخدمين المتقدمين عند إعداد الوصول عن بُعد وعند تنفيذ عميل رفيع. غالبًا ما ألتقي بمستخدمي Linux المتمرسين مع العبارات "لا يوجد سوى سطر الأوامر على الخادم ، ولا أخطط لدراسة الرسومات بمزيد من التفصيل ، لأن هذا ضروري للمستخدمين العاديين." ولكن حتى خبراء Linux مندهشون وسعداء باكتشاف خيار "-X" للأمر ssh (وهو أمر مفيد لفهم كيفية عمل خادم X ووظائفه).



مصدر



لقد قمت بتدريس دورات Linux في LANIT Networking Academy منذ ما يقرب من 15 عامًا»وأنا متأكد من أن العديد من هؤلاء الذين دربتهم والذين يزيد عددهم عن خمسة آلاف شخص قرأوا وربما يكتبون مقالات عن هبر. الدورات الدراسية دائمًا غنية جدًا (متوسط ​​مدة الدورة خمسة أيام) ، تحتاج إلى التحدث عن الموضوعات التي تستغرق عشرة أيام على الأقل لتتعرف عليها تمامًا. ودائمًا أثناء الدورة ، اعتمادًا على الجمهور (تجمع الوافدون الجدد أو المسؤولون المتمرسون) ، وكذلك على "أسئلة الجمهور" ، أقوم باختيار ما يجب نقله بمزيد من التفاصيل ، وماذا - بشكل أكثر سطحية ، من أجل تكريس المزيد من الوقت لأدوات سطر الأوامر وتطبيقها العملي ... هناك ما يكفي من أولئك الذين يضطرون إلى التضحية قليلاً. هذه هي "تاريخ Linux" ، "الاختلافات في توزيعات Linux" ، "حول التراخيص: GPL ، BSD ، ..." ، "حول الرسومات وبيئات سطح المكتب" (موضوع هذه المقالة) ، وما إلى ذلك. ليس لأنها ليست مهمة ،ولكن عادة ما يكون هناك العديد من الأسئلة ذات الصلة "هنا والآن" وحوالي خمسة أيام فقط ... ومع ذلك ، من أجل فهم عام لأساسيات Linux ، وفهم التنوع المتاح (حتى باستخدام توزيعة Linux محددة واحدة ، لا يزال لديك رؤية أوسع لهذا كله عالم ضخم وهائل يسمى "Linux") من المفيد والضروري دراسة هذه المواضيع. 



في سياق المقالة ، لكل مكون ، أقدم روابط لأولئك الذين يرغبون في التعمق في الموضوع ، على سبيل المثال ، لمقالات على ويكيبيديا (مع الإشارة إلى نسخة أكثر اكتمالا / مفيدة إذا كانت هناك مقالات باللغة الإنجليزية والروسية).



للحصول على أمثلة أساسية ولقطات شاشة ، استخدمت توزيع openSUSE. يمكن استخدام أي توزيع تم تطويره من قِبل المجتمع مع عدد كبير من الحزم في المستودع. من الصعب ، ولكن من الممكن ، عرض مجموعة متنوعة من تصميمات سطح المكتب على التوزيع التجاري ، حيث إنها تستخدم غالبًا واحدة أو اثنتين من بيئات سطح المكتب الأكثر شهرة. لذلك يضيق المطورون مهمة إصدار نظام تشغيل مستقر ومصحح. على نفس النظام ، قمت بتثبيت كل DM / DE / WM (شرح هذه الشروط أدناه) التي وجدتها في المستودع. 



لقطات الشاشة مع "الإطارات الزرقاء" مأخوذة على openSUSE. 



تم عمل لقطات شاشة مع "إطارات بيضاء" على توزيعات أخرى ، وهي معروضة في لقطة الشاشة. 



تم أخذ لقطات الشاشة ذات "الإطارات الرمادية" من الإنترنت ، كأمثلة لتصميمات سطح المكتب من العام الماضي.



لذا ، لنبدأ.



المكونات الرئيسية التي تتكون منها الرسومات



سأقوم بتسليط الضوء على ثلاثة مكونات رئيسية وسردها بالترتيب الذي تبدأ به عند بدء تشغيل النظام: 



  1. DM (مدير العرض) ؛
  2. عرض الخادم
  3. DE (بيئة سطح المكتب).


بالإضافة إلى ذلك ، كعناصر فرعية مهمة في بيئة سطح المكتب: 



  • مدير التطبيقات / المشغل / الجلاد (زر البدء) ؛ 
  • WM (مدير النوافذ) ؛
  • البرامج المختلفة التي تأتي مع بيئة سطح المكتب.


مزيد من التفاصيل حول كل عنصر.



DM (مدير العرض)



أول تطبيق يبدأ عند بدء تشغيل "الرسومات" هو DM (مدير العرض) ، وهو مدير عرض. مهامها الرئيسية:



  • اسأل المستخدمين الذين يسمح لهم بالدخول إلى النظام ، وطلب بيانات المصادقة (كلمة المرور ، بصمة الإصبع) ؛
  • اختر بيئة سطح المكتب التي تريد تشغيلها.


في الوقت الحالي ، يتم استخدام توزيعات مختلفة على نطاق واسع: 



  • SDDM (تم استبداله KDM ) ،
  • GDM ،
  • LightDM ،
  • XDM .
  • يمكن أيضًا ذكر Fly-DM (المستخدم في AstraLinux).


يتم تحديث قائمة DMs الحالية في مقالة Wiki. 











من الجدير بالذكر أن لقطات الشاشة التالية تستخدم نفس مدير العرض LightDM ، ولكن في توزيعات مختلفة (تتم تسمية التوزيعات بين قوسين). اكتشف كيف يمكن أن يبدو هذا DM مختلفًا بفضل عمل مصممي التوزيعات المختلفة.













الشيء الرئيسي في هذا التنوع هو أنه من الواضح أن هناك تطبيقًا مسؤولاً عن تشغيل الرسومات والسماح للمستخدم بالوصول إلى هذه الرسومات ، وهناك تطبيقات مختلفة لهذا التطبيق تختلف في المظهر وقليل من الوظائف (اختيار بيئات التصميم ، اختيار المستخدمين ، الإصدار السيئ رؤية المستخدمين ، توفر الوصول عن بعد عبر بروتوكول XDMCP ).



عرض الخادم



يعد Display Server نوعًا من أسس الرسومات ، وتتمثل مهمته الرئيسية في العمل مع بطاقة فيديو وشاشة وأجهزة إدخال متنوعة (لوحة مفاتيح وماوس ولوحات لمس) أي أن التطبيق (على سبيل المثال ، متصفح أو محرر نصوص) يتم عرضه في "رسومات" لا يحتاج إلى معرفة كيفية العمل مباشرة مع الأجهزة ، ولا يحتاج إلى معرفة برامج التشغيل. تهتم نافذة X بكل هذا.



عندما نتحدث عن Display Server ، لسنوات عديدة في Linux و Unix ، كان المقصود بتطبيق X Window System أو X (X) لدى عامة الناس. 



تحل العديد من التوزيعات الآن محل X بـ Wayland . يمكنك أيضًا قراءة: 









أولاً ، دعنا نطلق X's وبعض تطبيقات الرسومات فيها.



ورشة عمل "تشغيل X والتطبيقات فيه"



سأفعل كل شيء من مستخدم webinaruser الذي تم إنشاؤه حديثًا (سيكون من الأسهل ، ولكن ليس أكثر أمانًا أن تفعل كل شيء كجذر).



  • نظرًا لأن X'am يحتاج إلى الوصول إلى الأجهزة ، فأنا أمنح حق الوصول: تم تحديد قائمة الأجهزة من خلال النظر في الأخطاء عند بدء X'ov في السجل (/home/webinaruser/.local/share/xorg/Xorg.77.log) 


% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*



  • بعد ذلك ، أقوم بتشغيل X:


% X -retro :77 vt8 & 



الخيارات: * - رجعي - تشغيل بخلفية كلاسيكية "رمادية" ، وليس سوداء كخلفية افتراضية ؛ *: 77 - لقد حددت (أي شيء في نطاق معقول ممكن ، فقط: من المرجح أن يكون الرقم 0 مشغولًا بالفعل برسم قيد التشغيل بالفعل) رقم الشاشة ، وهو معرف فريد فعلي يمكن من خلاله التمييز بين العديد من علامات X قيد التشغيل ؛ * vt8 - يشير إلى المحطة الطرفية ، هنا / dev / tty8 ، حيث سيتم عرض علامة X). 



  • نطلق التطبيق الرسومي:


للقيام بذلك ، قمنا أولاً بتعيين متغير يفهم من خلاله التطبيق أي من X تعمل علي لإرسال ما يجب رسمه: 



% export DISPLAY=":77" 



يمكنك عرض قائمة تشغيل X على النحو التالي:



ps -fwwC X



بعد تعيين  المتغير ، يمكنك تشغيل التطبيقات في X لدينا - على سبيل المثال ، أبدأ الساعة:



% xclock -update 1 & 



% xcalc & 



% xeyes -g 200x150-300+50 &






الأفكار والوجبات الرئيسية من هذا المقتطف:



  • X' : , , ,
  • X' — ( «--retro») (, 1920x1080 1024x768), .
  • «» , X' .
  • X' .
  • DISPLAY , ( X' ), ,  X'. ( X', .) X' -auth, XAUTHORITY xhost.
  • ( X-) X' — // «-g ()x()+()+()». «»  .
  • هناك مصطلحان يستحقان التعبير: X-server (كما تسمى Xs) و X-clients (كما يسمى أي تطبيق رسومي يتم إطلاقه في X's) هناك القليل من الالتباس في فهم هذه المصطلحات ، ويفهمها الكثيرون عكس ذلك تمامًا. في الحالة التي أقوم فيها من "جهاز العميل" (في مصطلحات الوصول عن بُعد) بالاتصال بـ "الخادم" (في مصطلحات الوصول عن بُعد) لعرض تطبيق رسومي من الخادم على الشاشة ، يتم تشغيل خادم X على الجهاز حيث يتم تشغيل الشاشة ( أي ، على "جهاز العميل" ، وليس على "الخادم") ، ويبدأ عملاء X وتشغيلهم على "الخادم" ، على الرغم من عرضها على شاشة "جهاز العميل". 




مكونات DE



بعد ذلك ، دعنا نلقي نظرة على المكونات التي تشكل سطح المكتب عادةً.



مكونات DE: زر البدء وشريط المهام



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





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



  • يحدث ذلك في شكل زر "ابدأ" على



    الشريط الكلاسيكي (الطول الكامل لأحد حواف الشاشة) "شريط المهام": ○ xfce4-panel،

    ○ mate-panel / gnome-panel،

    ○ vala-panel،

    ○ tint2.
  • «MacOS- » ( ), . — « ».



    ○ docky,

    ○ latte-dock,

    ○ cairo-dock,

    ○ plank.
  • / , « » ( ):



    ○ sxhkd.
  • - «» ( . Launch ()):



    ○ dmenu-run,

    ○ rofi -show drun,

    ○ albert,

    ○ grun.




DE: WM (Window Manager)



المزيد باللغة الروسية



المزيد باللغة الإنجليزية



WM (مدير النوافذ) - نوع من التطبيقات المسؤولة عن إدارة النوافذ ، ويضيف القدرة على:



  • تحريك النوافذ عبر سطح المكتب (بما في ذلك الإصدار القياسي بالضغط باستمرار على مفتاح Alt لأي جزء من النافذة ، وليس العنوان فقط) ؛
  • تغيير حجم النوافذ ، على سبيل المثال ، عن طريق السحب خارج "إطار النافذة" ؛
  • يضيف "العنوان" والأزرار لتقليل / تكبير / إغلاق التطبيق إلى واجهة النافذة ؛
  • مفهوم التطبيق موضع التركيز.




سأدرج أكثرها شهرة (بين قوسين أشير إلى استخدام DE بشكل افتراضي):







سأدرج أيضًا "WM القديم مع عناصر DE". أولئك. بالإضافة إلى مدير النوافذ ، لديهم عناصر مثل زر البدء وشريط المهام ، والتي هي أكثر توارثًا في DE كامل. على الرغم من كونها "قديمة" ، إلا أن IceWM و WindowMaker قد أصدرتا بالفعل نسختهما المحدثة في عام 2020. اتضح أن الأصح ليس "قديمًا" ، ولكن "قديمًا":















بالإضافة إلى "كلاسيك" ("مدراء النوافذ المكدسة") ، من الجدير بالذكر أن WMs المبلطة ، والتي تسمح لك بتقسيم النوافذ عبر الشاشة بأكملها ، وكذلك بالنسبة لبعض التطبيقات سطح مكتب منفصل لكل تطبيق يتم تشغيله على الشاشة الكاملة. هذا أمر غير معتاد بعض الشيء بالنسبة للأشخاص الذين لم يستخدموها من قبل ، ولكن بما أنني كنت أستخدم مثل هذه الواجهة لفترة طويلة ، يمكنني القول إنها مريحة للغاية وأنك تعتاد بسرعة على هذه الواجهة ، وبعد ذلك لا يبدو مديرو النوافذ "الكلاسيكيون" مناسبين.







ومن الجدير بالذكر أيضًا بشكل منفصل مشروع Compiz ومفهوم مثل "Composite Window Manager" ، والذي يستخدم تسريع الأجهزة لعرض الشفافية والظلال والتأثيرات ثلاثية الأبعاد المختلفة. منذ حوالي 10 سنوات ، كان هناك ازدهار في التأثيرات ثلاثية الأبعاد على أجهزة كمبيوتر سطح مكتب Linux. يستفيد العديد من مديري النوافذ المضمنة في DE الآن من الإمكانات المركبة جزئيًا. ظهرت Wayfire مؤخرًا - منتج له وظائف Compiz مماثلة لـ Wayland.





يمكن أيضًا العثور على قائمة مفصلة بمديري النوافذ المختلفين في  مقالة المقارنة .



مكونات DE: الراحة



تجدر الإشارة أيضًا إلى المكونات التالية لسطح المكتب (هنا أستخدم مصطلحات إنجليزية راسخة لوصف نوع التطبيق - هذه ليست أسماء التطبيقات نفسها):



  • التطبيقات الصغيرة:
  • البرامج (مجموعة أدوات القطعة) - غالبًا ما يتم توفير "مجموعة صغيرة" من البرامج مع البيئة:


DE (بيئة سطح المكتب)



المزيد باللغة الإنجليزية



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



هنا يمكننا التمييز بين بيئات سطح المكتب الحالية التالية:





يعتبر GNOME و KDE الأكثر شيوعًا ، و XFCE في أعقابهم.





يمكن العثور على المقارنة بمعلمات مختلفة في شكل جدول في مقالة ويكيبيديا المقابلة .  



متنوعة دي





Project_Looking_Glass



هناك أمثلة مثيرة للاهتمام من التاريخ: في 2003-2007 تم إنشاء "تصميم سطح مكتب ثلاثي الأبعاد" لنظام Linux باسم "Project Looking Glass" من Sun. أنا شخصياً استخدمت سطح المكتب هذا ، أو بالأحرى "تم تشغيله" ، حيث كان من الصعب استخدامه. تمت كتابة هذا "التصميم ثلاثي الأبعاد" بلغة Java في وقت لم تكن فيه بطاقات رسومات ثلاثية الأبعاد. لذلك ، تم حساب جميع التأثيرات بواسطة المعالج ، ويجب أن يكون الكمبيوتر قويًا جدًا ، وإلا فإن كل شيء يعمل ببطء. لكن اتضح أنه جميل. يمكن تدوير / توسيع لوحات التطبيق ثلاثية الأبعاد. كان من الممكن تشغيل أسطوانة من سطح المكتب مع خلفية من بانوراما 360 درجة. كان هناك العديد من التطبيقات الجميلة الخاصة بهم: على سبيل المثال ، الاستماع إلى الموسيقى في شكل "تغيير الأقراص المضغوطة" ، وما إلى ذلك. يمكنك المشاهدة على youtubeفيديو حول هذا المشروع ، من المرجح أن تكون جودة مقاطع الفيديو هذه رديئة فقط ، لأنه في تلك السنوات لم يكن من الممكن تحميل مقاطع فيديو عالية الجودة.









سطح المكتب خفيف الوزن Xfce . المشروع موجود منذ فترة طويلة ، منذ عام 1996. في السنوات الأخيرة ، كانت شائعة جدًا ، على عكس KDE و GNOME الأثقل ، والتي تتطلب في العديد من التوزيعات واجهة سطح مكتب خفيفة و "كلاسيكية". لديه العديد من الإعدادات وعدد كبير من برامجه: الطرفية (xfce4-terminal) ، مدير الملفات (thunar) ، عارض الصور (ristretto) ، محرر النصوص (لوحة الماوس).



 



البانثيون 



المستخدم في توزيع "نظام التشغيل الأساسي". هنا يمكننا أن نقول أن هناك "أجهزة كمبيوتر سطح مكتب" تم تطويرها واستخدامها ضمن توزيع منفصل واحد ولم يتم استخدامها بكثرة (إن لم يكن "لم يتم استخدامها على الإطلاق") في التوزيعات الأخرى. على الأقل لم يكتسبوا شعبية بعد وأقنعوا جزءًا كبيرًا من الجمهور بفوائد نهجهم. يهدف Pantheon إلى بناء واجهة تشبه macOS. 





خيار قفص الاتهام:





التنوير



تركيز قوي على تأثيرات الرسوم وعناصر واجهة المستخدم (منذ الأيام التي لم تكن فيها بيئات سطح المكتب الأخرى تحتوي على عناصر واجهة مستخدم على سطح المكتب ، مثل التقويم / الساعة). يستخدم المكتبات الخاصة به. هناك مجموعة كبيرة من تطبيقاته "الجميلة": محطة (مصطلحات) ، مشغل فيديو (Rage) ، عرض الصور (Ephoto).





موكشا



هذه شوكة التنوير 17 وتستخدمها توزيع BodhiLinux. 





جنوم في



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





GNOME_Shell



منذ الإصدار الثالث ، بدأ GNOME في الشحن مع GNOME Shell ، الذي يتمتع "بمظهر غير كلاسيكي" ، والذي لم يحبه جميع المستخدمين (أي تغييرات جذرية في الواجهات يصعب على المستخدمين قبولها). نتيجة لذلك - ظهور مشاريع الشوكة التي تواصل تطوير سطح المكتب هذا بأسلوب "كلاسيكي": MATE و Cinnamon. تستخدم بشكل افتراضي في العديد من التوزيعات التجارية. يحتوي على عدد كبير من الإعدادات والتطبيقات. 





 



يعتمد MATE على جنوم 2 ويستمر في تطوير بيئة التصميم هذه. يحتوي على عدد كبير من الإعدادات والتشعبات الخاصة بالتطبيقات التي تم استخدامها في جنوم 2 (يتم استخدام أسماء جديدة) حتى لا تخلط بين الشوكات وإصدارها الجديد لجنوم 3).





Cinnamon هو



شوكة من GNOME Shell الذي يوفر للمستخدمين واجهة نمط "كلاسيكية" (كما كان الحال في GNOME2). 



يحتوي على عدد كبير من الإعدادات ونفس التطبيقات مثل GNOME Shell.





Budgie عبارة عن شوكة ذات



نمط "كلاسيكي" لجنوم والتي تطورت كجزء من توزيع Solus ، ولكنها تشحن الآن أيضًا كسطح مكتب مستقل على توزيعات أخرى مختلفة.





KDE_Plasma (أو ، كما يطلق عليها غالبًا ، KDE ببساطة) 



بيئة سطح مكتب تم تطويرها بواسطة مشروع KDE. 



يحتوي على عدد هائل من الإعدادات المتاحة للمستخدم البسيط من الواجهة الرسومية والعديد من التطبيقات الرسومية المطورة داخل سطح المكتب هذا.





Trinity



في عام 2008 ، أصدرت KDE تطبيقها الجديد لـ KDE Plasma (تمت إعادة كتابة محرك سطح المكتب بشكل كبير). أيضًا ، كما هو الحال مع GNOME / MATE ، لا يحبها جميع عشاق KDE. نتيجة لذلك ، ظهرت شوكة المشروع ، لمواصلة تطوير الإصدار السابق ، المسمى TDE (Trinity Desktop Environment).





Deepin_DE



إحدى بيئات سطح المكتب الأحدث المكتوبة باستخدام Qt (التي تمت كتابة كيدي عليها). يحتوي على العديد من الإعدادات وهو جميل جدًا (على الرغم من أن هذا مفهوم شخصي) وواجهة مطورة جيدًا. تم تطويره كجزء من توزيع Deepin Linux. هناك أيضًا حزم للتوزيعات الأخرى





يطير 



مثال على بيئة سطح المكتب مكتوبة باستخدام Qt. تم تطويره كجزء من توزيع Astra Linux. 









بيئة سطح المكتب خفيفة الوزن LXQt . مثل العديد من الأمثلة السابقة ، مكتوبة باستخدام Qt. في الواقع ، إنه استمرار لمشروع LXDE ونتيجة للاندماج مع مشروع Razor-qt.



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



حسنًا ، آمل أن أكون قادرًا على إعطاء فكرة عن المكونات الرئيسية للرسومات وسطح المكتب في Linux.



تم طرح مادة هذه المقالة في يوليو 2020 في ندوة عبر الإنترنت. يمكنك مشاهدته هنا .



هذا كل شئ. اتمنى ان تكون مفيدة إذا كان لديك أي أسئلة أو تعليقات ، اكتب. سأكون سعيدا للإجابة. حسنًا ، تعال وادرس في أكاديمية LANIT Networking Academy !



All Articles