بيئة سطح المكتب جنوم تعمل فوق نظام س |
|
المطور: | X.Org Foundation |
آخر إصدار: | 7.3 / 2007-09-06 |
نظام التشغيل: | متعدد |
الاستعمال: | نظام نوفذة |
الترخيص: | رخصة MIT |
الموقع الالكتروني: | www.x.org |
في الحوسبة ، يوفر نظام النوفذة س (X) والمعروف بـس 11 (X11) واجهة رسومية بنوافذ لأجهزة العرض النقطية. يوفر النظام حزمة أدوات وبروتوكول لبناء واجهة المستخدم على أنظمة يونكس والأنظمة الشبيهة بيونكس، وكل إصدارات أنظمة التشغيل الحديثة تقريباً تدعمه.
يوفر س بيئة العمل الأساسية لبيئة الواجهة الرسومية: رسم النوافذ وتحريكها على الشاشة، والتفاعل مع الفأرة و/أو لوحة المفاتيح. لا يدير س واجهة المستخدم، فالبرامج ذات الواجهات الرسومية تقوم بهذه المهمة، وبالتالي فإن أسلوب عرض البرامج ذات الواجهات الرسومية يختلف بشكل كبير؛ فالبرامج المختلفة قد تظهر بأساليب مختلفة للغاية.
يعمل نظام س بشفافية عبر الشبكة، حيث أن الجهاز الذي يشغل البرنامج قد يختلف عن الجهاز الذي يظهر الواجهة الرسومية لهذا البرنامج، ويسمى البرنامج الذي يستخدم نظام س للعرض والتفاعل (برنامجاً عميلاً) ويسمى نظام س الذي يقوم بعرض واجهة البرنامج بـ"خادم العرض"، وهذا ما يسبب بعض الحيرة لبعض المستخدمين، إذ إن خادم العرض يكون الجهاز المحلي، بينما يمكن أن يعمل البرنامج الزبون على جهاز آخر.
نشأ نظام س في MIT عام 1984. ونسخة البروتوكول المستخدمة حالياً، X11، ظهرت في سبتمبر 1987. تقود مؤسسة X.Org مشروع س حالياً، وتقوم على بناء الإصدار 7.0 للنسخة 11، موفرة إياه كبرنامجٍ حر تحت رخصة MIT ورخصاً أخرى توفر حرية عالية في استخدامه.
يعمل نظام س الرسومي كبيئة قياسية أو معيارية على العديد من أنظمة يونكس الحالية، وذلك يشمل معظم إصدارات لينكس وBSD، كما يدعمه نظام التشغيل الحالي لأجهزة ماكنتوش Mac OS X، فيما توجد نسخ منه مخصصة للعمل تحت بيئة مايكروسوفت ويندوز.
فهرس |
فى سنة 1984 وضع Munir SURIBو Jim Gettys مبادئ س المبكرة:
المبدأ الأول تغير أثناء تصميم X11 ليصبح: "لا تضف وظيفة جديدة ما لم تعلم أن هناك برنامجاً حقيقياً ما سيحتاجها".
حافظ س بشكل كبير على هذه المبادئ منذ ذلك الحين. صُممت التطبيقات المرجعية مع النظر إلى الامتداد والتحسين، بينما تحافظ على التوافقية مع بروتوكول 1987 الأصلي.
لا يحتوي س -عن عمد- على مواصفات لتطبيقات واجهة المستخدم، مثل الأزرة والقوائم وأشرطة عناوين النوافذ وما إلى ذلك. بدلاً من هذا فإن برمجيات المستخدم -مثل مديرو النوافذ أو أدوات تطوير الواجهة الرسومية أو بيئات سطح المكتب أو واجهات المستخدم الخاصة ببرامج معينة- توفر/تعرف كل هذه التفاصيل. ولهذا فإن واجهة س "المثالية" تغيرت بشكلٍ هائل بمرور الزمن.
يتحكم مدير النوافذ في وضع وشكل نوافذ التطبيقات. وهذا قد تكون له واجهة مشابهة لتلك المستخدمة في ويندوز أو ماكنتوش (الأمثلة على هذا تشمل Kwin في كى.دى.إى أو ميتاسيتى في جنوم) أو لديه أدوات تحكم مختلفة جذرياً (مثل مديرو النوافذ المبلّطة). مدير النوافذ قد يكون بسيطاً جداً (مثل twm، مدير النوافذ البدائي الذى يوفره س) أو يوفر خصائص تقترب من بيئة سطح مكتب كاملة (مثل Enlightenment).
الكثير من المستخدمين يستخدمون س مع بيئة سطح مكتب كاملة، والتى تشمل مدير نوافذ، والعديد من التطبيقات، وواجهة متناسقة. أكثر بيئات سطح المكتب شعبية هما جنوم وكى.دى.إى. بيئة سطح مكتب يونكس القياسية هى Common Desktop Environment (CDE). أما مبادرة freedesktop.org تهتم بالتوافق بين أسطح المكتب والمكونات الضرورية لسطح مكتب س قادر على المنافسة.
يعد تطبيق س المرجعي التطبيق الرسمي لـ س. بسبب حرية الترخيص ، ظهرت العديد من صور س المختلفة، حرة و تجارية. كما قام الكثير من منتجى أنظمة يونكس التجارية بأخذ تطبيق س المرجعى وتطويعه ليعمل على عتادهم، و عادة يقوموا بتعديله بصورة كبيرة ويضيفوا امتدادات محتكرة.
حتى 2004 وفّر XFree86 أكثر صور س شهرة على الأنظمة الحرة الشبيهة بيونكس. بدأ XFree86 كنقل لـس إلى الحواسيب المتوافقة مع 386 و مع نهاية التسعينيات (1990) أصبح أكبر مصدر للإبداع التقنى في س والمكان الأساسى لتطويره[1]. مع عام 2004 أصبح تطبيق X.Org المرجعي، المنشق عن XFree86، هو السائد.
بالرغم من أن مستخدمى الحاسوب كثيراً ما يربطون بين س ويونكس، فإن خوادم س تتوفر للعديد من البيئات الرسومية الأخرى. يحتوي نظام التشغيل OpenVMS من هيولت باكارد على نسخة من س مع CDE تعرف باسم DECwindows، كسطح مكتب قياسي له. أيضا يحتوي Mac OS X 10.3 وما بعده من أبل على X11.app المبنية على XFree86 4.3 و X11R6.6 والتي توفر تكامل أفضل مع Mac OS X. كما توجد خوادم س لأنظمة ماك 8 و 9 من قبل شركات أخرى مثل MacX.
بالرغم من أن ميكروسوفت ويندوز لا يأتي بدعم لـ س. لكن توجد العديد من التطبيقات التى توفرها أطراف أخرى، إما برامج حرة مثل Cygwin/X، و Xming، و WeirdMind، و WeirdX؛ أو منتجات إحتكارية مثل Xmanager،و X-Deep/32،و WiredX، و Exceed، و X-Win32، وتستخدم عادة للتحكم في عملاء X عن بعد.
عندما يعمل س تحت نظام نوفذة آخر (مثل مايكروسوفت ويندوز أو ماك أو.إس)، فإن نظام س يعمل "بلا جذر"، مما يعنى أن بيئة النوفذة المضيفة تعتني بالنافذة الجذر (الخلفية والقوائم المتعلقة بها) وتدير أبعاد نوافذ س المستضافة -بالرغم من أن بعض الخوادم (Exceed على سبيل المثال) يمكنها إنشاء نافذة جذر للعميل البعيد وعرضها كنافذة مستقلة في النظام المضيف.
طرفية س هى عبارة عن قطعة عتاد مخصصة يعمل عليها خادم س كعميل رفيع. اشتهرت هذه البنية لاستخدامها لبناء مجموعات من الطرفيات غير المكلفة لتسمح للعديد من المستخدمين باستخدام نفس الخادم الضخم في وقت واحد، يقترب هذا الاستخدام كثيراً من الغرض الأصلي لمشروع MIT.
تستطيع طرفيات س استكشاف الشبكة المحلية باستخدام بروتوكول التحكم في مدير عرض س لتكوين قائمة بالأنظمة المضيفة المتوفرة التى يمكن تشغيل العميل عليها. يحتاج هذا إلى تشغيل مدير عرض س على المضيف الأولي - حيث يعمل خادم س -.
أصبحت طرفيات س المخصصة (العتادية) أقل شهرة، حيث أن حاسوب شخصي مع خادم س يوفر نفس الوظيفة بشكل نموذجي وتكلفة أقل.
خصص كتيب كارهي يونكس فصلاً كاملاً لكارثة نوافذ-X [2]، مخصصاً لمشكلات س في نهاية الثمانينيات وبداية التسعينيات. أما "لماذا س ليس نظامنا المثالى للنوافذ" تأليف Gajewska و Manasse و McCormack فيصف بالتفصيل مشكلات البروتوكول مع توصيات لتحسينه.
يتوقف الحصول على الأداء العالي من بطاقات العرض الحديثة على وظائف الرسوميات الأكثر تطوراً. يقوم المصنعون بتطبيق هذه الوظائف بشكل نموذجى في مشغلات (drivers) احتكارية، عادة ما يوفروها لويندوز أولاً (السوق ذات الزبائن الأكثر). قام XFree86 و X.Org Server بالبرمجة العكسية للعديد من مشغلات البطاقات الأقدم. أيضاً، فإن أغلب المصنعين لبطاقات العرض الحديثة يرفضون الإفصاح عن التفاصيل البرمجية الخاصة ببطاقاتها ويعتبروها إما شديدة السرية أو خاضعة لبراءة اختراع.
العديد من خوادم س الحالية تتعامل مع العتاد مباشرة، لذا فإن خادم س سيء التصرف قد يؤدى إلى توقف العرض عن الاستجابة، حتى ولو كان نظام التشغيل مستمراً في العمل بكفاءة، مما قد يحتاج إلى إعادة التشغيل.
لا ينطوي س بشكل متعمد على مواصفات لواجهة المستخدم أو أغلب صور التواصل بين التطبيقات. مما نتج عنه العديد من الواجهات المختلفة تماماً، و تطبيقات لا تعمل جيداً مع بعضها البعض. ICCCM - وهي مواصفات لتسهيل التعامل بين البرامج العميلة - لها سمعة سيئة لكونها صعبة التطبيق بشكل صحيح. وقد أدى هذا إلى إحباط المستخدمين والمبرمجين لوقت طويل [3]. والآن، فإن فإن مبرمجى الرسوميات يعملون على تناسق مظهر البرنامج وتواصله بكتابته لبيئة سطح مكتب محددة أو باستخدام widget toolkit رسومية محددة، مما يتفادى التعامل مع ICCCM مباشرة.
لا يوفر برتوكول س أي وسائل للتعامل مع الصوت، تاركاً هذا لنظام التشغيل ليوفر دعم العتاد السمعي وتشغيل الصوت. ومع زيادة اهتمام المستخدمين بالصوت، ظهرت العديد من أنظمة الصوت غير المتوافقة مع بعضها. أغلب المبرمجين في الماضي اختاروا تجاهل مسائل الشبكة، واستخدام واجهات برمجة الصوت المحلية والخاصة بكل نظام. شمل الجيل الأول من أنظمة صوت الخادم-العميل rplay ونظام صوت الشبكة. أدت المجهودات الأحدث إلى ظهور EsounD (جنوم) و ARts (كدي). وقد بدأ التطوير في نظام آخر خادم تطبيقات الوسائط.
لا يمكن حالياً فصل عميل لـس أو جلسة من أحد الخوادم وإعادة توصيلها بخادم آخر، كما في حوسبة الشبكة الوهمية (VNC). لقد بدأ العمل لإضافة هذه الوسيلة لـس، وهناك حلول للتغلب على هذا (VNC :0 viewers) لجعل شاشة خادم س الحالية متوفرة عبر VNC.
لا يوجد تشفير بصورة افتراضية لنقل البيانات بين خادم س وعميل س البعيد. يمكن لمهاجم يستخدم packet sniffer تفسيرها وقراءتها. يواجه أغلب المستخدمون هذا عن طريق تمرير س عبر نفق SSH؛ معظم التطبيقات تدعم تمرير تطبيقات س عبر أنفاق وإن كانت أحياناً غير مفعلة بشكل افتراضى.
استقلالية-الأجهزة والفصل بين الخادم والعميل يؤدي إلى زيادة الحمل. شفافية الشبكة في س تتطلب أن يعمل الخادم والعميل بشكل منفصل. في الأيام الأولى، أدى هذا إلى غرامة واضحة في الأداء مقارنة بالإصدارات الحالية وقتها من مايكروسوفت ويندوز و ماك أو.إس، التى غرست النوفذة عميقاً في نظام التشغيل. كان أنصار س ينصحون ب 4 إلى 8 م.ب من الرام للحصول على أداء معقول. حتى منتصف التسعينات كان هذا يبدو كثيراً مقارنة بويندوز أو ماك.
يوجد في الإصدارات الحالية من ويندوز أو كوارتز الخاص بماك أو.إس.إكس فصل داخلى للنظام الفرعى مشابه لانقسام الخادم/العميل في س مع مقاربة لأداء واستخدام الموارد في س مع كدي أو جنوم.
تستخدم تقريباً كل الأنظمة الشبيهة بيونكس س للرسوميات. على الرغم من هذا، فقد حاول البعض كتابة بدائل لـ س. البدائل التاريخية تشمل NeWS من صن مايكروسيستمز، عرض بوست سكريبت الخاص بـ NeXT الذى أصبح فيما بعد كوارتز من أبل المستخدم في نظامها ماك أو.إس.إكس.
المحاولات الحديثة لعلاج الانتقادات الموجهة لـX واستبداله تشمل Fresco ونظام النوفذة Y. مع هذا، يشك المهتمون بهذا الأمر في فاعلية أى بديل لا يحافظ على التوافقية مع X.
حاول منافسون آخرون التغلب على زيادة الحمل في X بالتعامل مع العتاد مباشرة. هذه المشاريع تشمل DirectFB و FBUI الصغير جداً.الـDRI، الذى يهدف إلى توفير واجهة فعالة على مستوى النواة للـ framebuffer والذي قد يغطي على المشاريع الأخرى.
ظهرت عدة انظمة عرض لأجهزة العرض النقطية قبل نظام إكس ، من شركة زيروكس Xerox ظهر ألتو Xerox Alto (1973) و زيروكس ستار (1981) . أيضا ظهر من شركة أبل أنظمة أبل ليزا (1983) و أبل ستار (1984) . أما عالم يونكس فقد شهد أنظمة مثل مشروع أندرو Andrew Project (1982) و طرفية بليت لروب بايك.
يشتق اسم إكس X على أساس أنه لاحق لنظام النوافذ قبل عام 1983 المدعو دبليو W Window System (و بما أن X تلي W مباشرة في الأبجدية اللاتينية فقد سمي X ). كان نظام النوافذ دبليو يعمل تحت نظام التشغيل في (النظام الخامس). hاستخدم دبليو بروتوكول شبكة يدعم النوافذ الطرفية و الرسومية ، حيث يقوم الخادم بالحفاظ على قائمة العرض .
ظهرت الفكرة الأساسية لنظام إكس في معهد ماستشوشتش للتقانة في عام 1984 كتعاون بين جيم غيتيس Jim Gettys من مشروع أثينا و بوب شيفلر من مخبر إم.آي.تي لعلوم الحاسوب . حيث احتاج شيفلر لبيئة عرض قابلة للاستخدام للقيام بتنقيح debugging لنظام أرغوس. في نفس الوقت كان مشروع أثينا (مشروع مشترك بين منظمة المعدات الرقمية (DEC), و إم.آي.تي و آي.بي.إم لتأمين وصول سهل لموارد الحوسبة لجميع الطلاب ) يحتاج أيضا نظام رسوميات مستقل-المنصة لييربط بين أنظمته المتناغرة مع بعضها البعض . كان نظام النوفذة قيد التطوير وقتها هو مشروع أندرو في جامعة كارنيجي ميلون لكنه لم يطرح رخص للبيع و لم تتواجد بدائل أيضا .
قام المشروع بحل القضية عن طريق خلق بروتوكول يمكن أن يشغّل كلا من التطبيقات المحلية و يستطيع استدعاء المصادر البعيدة remote resources أيضا. في منتصف 1983 اشتغل نسخة مبدئية للنظام دبليو على يونكس بسرعة تقدر خُمس سرعته على نظام في V . في مايو 1984 ، استبدل شيفلر البروتوكول المتزامن للنظام دبليو ببرتوكول غير متزامن و قائمة العرض بنمط رسومي حالّي ليقوم بإطلاق نظام إكس نسخة 1 X version 1 . كان إكس بهذا أول نظام نوفذة يوفر استقلالية عن العتاد حقيقية و استقلالية عن أي مطور/داعم vendor .
عمل شيفلر و غيتيس مع رون نيومان على إكس الذي بدأ في التقدم بسرعة . بحلول يناير 1985 كانت النسخة 6 قد تم إطلاقها عندها قررت DEC إطلاق أول محطات عمل من طراز أولتريكس Ultrix مزودة بنظام النوفذة إكس . قام مهندسو دي.إي.سي بنقل إكس6 ليعمل مع جهاز العرض QVSS على أجهزة MicroVAX.
في الربع الثاني من عام 1985 تطلب إكس دعم ألوان ليعمل في محطات عمل DEC VAXstation-II/GPX، وبهذا تشكلت لدينا النسخة 9 . و مع أن إم.آي.تي قامت بترخيص إكس6 لعدة مجموعات خارج الولايات المتحدة مقابل أجر مادي ، فقد قررت في ذلك الوقت أن تطرح إكس9 و النسخ المستقبلية تحت ما يدعى رخصة إم.آي.تي . ظهر إكس9 إلى النور في سبتمبر 1985 .
لاحقا قامت مجموعة من جامعة براون بنقل النسخة 9 إلى أنظمة آي.بي.إم RT/PC، لكن المشكلة مع قراءة البيانات غير المصفوفة unaligned data على RT أجبرتهم على عمل بروتوكول غير متوافق ، مما أدى للنسخة 10 في أواخر 1985 .في عام 1996 ، قامت منظمات خارجية بطلب إكس . تم إطلاق X10R3 في فبراير 1986 . كان X10R3 أول نسخة تستخدم بشكل موسع ، مع إطلاق دي.إي.سي و هيوليت-باكرد منتجات تعتمد على إكس . قامت شركات أخرى بنقل إكس10 إلى محطات عمل أبولو و صن وحتى حواسيب آي.بي.إم PC/AT . في هذا الوقت عرضت التطبيقات التجارية الأولى المعتمدة على إكس في معرض Autofact التجاري. آخر نسخة من إكس10 كانت X10R4 و ظهرت في ديسمبر 1986 .
مع منظمة X.Org و freedesktop.org، عاد الخط الرئيسي لتطور X للتقدم بسرعة مرة أخرى. ينوي المطورون إصدار الإصدارات الحالية والمستقبلية كمنتجات كاملة وقابلة للاستخدام، وليس كقاعدة يبني عليها الآخرون منتجاتهم.
في 21 ديسيمبر 2005 [4]، أصدر X.Org الإصدارة X11R6.9، شجرة المصدر ككتلة واحدة لمستخدمي X التقليديين، و X11R7.0، نفس الكود المصدري ولكن مقسم إلى وحدات منفصلة كل وحدة يتم تطويرها كمشروع مستقل. أصدرت المنظمة X11R7.1 في 22 مايو 2006 بعد أربعة أشهر من X11R7.0 وبه العديد من التحسينات الكبيرة.
لجمعٍ أفضل بين نظم التشغيل والعتاد، يخطط X.Org للوصول إلى عتاد الفيديو فقط عن طريق OpenGL و DRI. ظهر DRI لأول مرة في الإصدارة 4.0 من XFree86 ثم أصبح قياسياً مع الإصدارة X11R6.7 وما بعدها.[5] بدأت العديد من أنظمة التشغيل في إضافة دعم النواة للتعامل مع العتاد، وهذا العمل يتقدم بشكل متزايد.
النسخة | تاريخ الإصدارة | أهم التغييرات |
---|---|---|
X1 | يناير 1984 | استخدام الإسم "X" لأول مرة؛ تغييرات جذرية تميزه عن W. |
X6 | يناير 1985 | أول نسخة ترخص لمجموعة من الشركات الخارجية. |
X9 | سبتمبر 1985 | الألوان. أول إصدارة تحت رخصة MIT |
X10 | أواخر 1985 | IBM RT/PC،و AT (تعمل بـ DOS)، وآخرون |
X10R2 | يناير 1986 | |
X10R3 | فبراير 1986 | الإصدارة الأولى بعيدا عن MIT. جعل uwm مدير نوافذ قياسى. |
X10R4 | دسيسمبر 1986 | الإصدارة الأخيرة من X10. |
X11 | 15 سبتمبر 1987 | الإصدارة الأولى من البروتوكول الحالى |
X11R2 | فبراير 1988 | الإصدارة الأولى من X Consortium. [6] |
X11R3 | 25 أكتوبر 1988 | XDM |
X11R4 | 22 ديسيمبر 1989 | XDMCP، جعل twm مدير النوافذ القياسى، تحسينات في التطبيقات، Shape extension، و خطوط جديدة. |
X11R5 | 5 سبتمبر 1991 | PEX، Xcms (إدارة الألوان)، خادم خطوط، X386 |
X11R6 | 16 مايو 1994 | ICCCM v2.0; Inter-Client Exchange; X Session Management; X Synchronization extension; X Image extension; XTEST extension; X Input; X Big Requests; XC-MISC; XFree86 changes. |
X11R6.1 | 14 مارس 1996 | X Double Buffer extension; X keyboard extension; X Record extension. |
X11R6.2 X11R6.3 (Broadway) |
23 ديسيمبر 1996 | وظيفية الويب، LBX. آخر إصدارة من X Consortium. X11R6.2 هو لمجموعة فرعية من X11R6.3 لا تزيد عن R6.1 سوى بإضافة دعم الكتابة الرأسية و المحارف المعرفة من قبل المستخدم إلى XPrint و Xlib. [7] |
X11R6.4 | 31 مارس 1998 | Xinerama. [8] |
X11R6.5 | إصدارة داخلية من X.org؛لم تكن متوفرة للجمهور. | |
X11R6.5.1 | 20 أغسطس 2000 | |
X11R6.6 | 4 ابريل 2001 | تصليح أخطاء، تغييرات XFree86. |
X11R6.7.0 | 6 ابريل 2004 | الإصدارة الأولى من منظمة X.Org، دامجة XFree86 4.4rc2. توزيعة كاملة للمستخدم الأخير. إزالة XIE، PEX و libxml2. [9] |
X11R6.8.0 | 8 سبتمبر 2004 | شفافية النافذة، XDamage، Distributed Multihead X، XFixes، Composite، XEvIE. |
X11R6.8.1 | 17 سبتمبر 2004 | تصليح أمنى في libxpm. |
X11R6.8.2 | 10 فبراير 2005 | تصليح أخطاء، تحديث المشغلات. |
X11R6.9 X11R7.0 |
21 ديسيمبر 2005 | EXA، إعادة تنظيم الكود بشكل كبير [10]. من نفس الكود المصدرى، الإصدارة المجزئة صارت 7.0 ووحيدة الكتلة صارت 6.9. |
X11R7.1 | 22 مايو 2006 | تحسينات في EXA، ادماج Kdrive، AIGLX، تحسينات في دعم نظام التشغيل ومنصة العمل [11]. |
X11R7.2 | 2006 | إزالة LBX [12] |
X11R7.3 | 2007-09-06 | [13] |
|
||
---|---|---|
عام | مشروع جنو • // نظام النوفذة س | |
أنظمة تشغيل | بي إس دي • // داروين • // جنو • // لينكس • // أوبن سولاريس • // رياكت أو إس | |
تطوير | تجميعة مترجمات جنو • // بي إتش بي • // بايثون • // بيرل • // جافا | |
مديري نوافذ | فلكس بوكس • // جنوم • // كدي • // إكسفس | |
منظمات | مبادرة المصادر المفتوحة • // مؤسسة البرمجيات الحرة • // مؤسسة لينكس • // مؤسسة موزيلا | |
تراخيص | رخصة أباتشي • // رخصة بي إس دي • // رخصة جنو العمومية • // رخصة جنو العمومية الصغرى • // رخصة موزيلا العمومية • // رخصة MIT • // رخص البرمجيات الحرة المتساهلة |