پروتکل اصلی سیستم پنجره اکس
From Wikipedia, the free encyclopedia
پروتکل اصلی سامانه پنجرهای اکس[1][2][3] (به انگلیسی: X Window System core protocol) پایهایترین پروتکل در ساختار سامانه پنجرهای اکس است. سامانهٔ پنجرهای اکس، یک سامانه پنجرهای تحت شبکه برای نمایشگرهای بیتمپی است که برای ساختن واسطهای گرافیکی کاربر در سیستمعاملهای یونیکس، شبه یونیکس یا دیگر سیستمها بکار برده میشود. اکس بستری را فراهم میکند که بهکمک آن میتوان نرمافزارهایی به همراه واسط گرافیکی (همچون میزکارهای گنوم و کیدیئی) را بر روی این سیستمعاملها اجرا کرده و توسعه داد. سامانهٔ پنجرهای اکس از یک مدل مشتری-خدمتگذار برخوردار است. در این مدل، یک سرویسدهندهٔ یگانه که سرور اکس نامیده میشود، همهٔ سختافزارهای ورودی/خروجی همانند صفحه نمایش، صفحه کلید، ماوس و ... را کنترل میکند. همهٔ برنامههای کاربردی هم به گونهٔ سرویسگیرنده کار میکنند و با کمک سرور اکس، با کاربر یا دیگر کلاینتها تعامل برقرار میکنند. این تعامل توسط پروتکل اصلی سامانه پنجرهای اکس ساماندهی میشود. پروتکلهای دیگری هم در رابطه با سامانه پنجرهای اکس وجود دارد که این پروتکلها، هم به گونهٔ یک پروتکل جدا و خودسر هستند و هم اینکه بر روی بستر پروتکل اصلی اکس ایجاد شدهاند.
در پروتکل اصلی سامانهٔ پنجرهای اکس، تنها چهار گونه بسته وجود دارد که به گونهٔ ناهمگام،[و 1] بر روی شبکه فرستاده میشود: درخواستها،[و 2] پاسخها،[و 3] رویدادها[و 4] و خطاها.[و 5] درخواستها از سوی کلاینت به سرور فرستاده میشوند تا اجرای یک کار یا دریافت اطلاعاتی را از سرور درخواست کنند. درخواستها یا به سرور میگویند که کار خاصی را انجام دهد (همچون ایجاد کردن یک پنجره تازه) یا از سرور میخواهند که دادههای دلخواهی را برای کلاینتها بفرستد. پاسخها از سوی سرور برای کلاینتها فرستاده میشوند و دادههای درخواستی کلاینت را در خود دارند که در پاسخ به درخواست کلاینتها برای آنها فرستاده میشود. رویدادها از سوی سرور برای کلاینت فرستاده میشوند و کلاینت را از کارهایی که کاربر سرگرم انجامدادن آنهاست یا رخدادهای دیگری که ممکن است کلاینت علاقهمند به دانستن آنها باشد، باخبر میکنند و کلاینت میتواند واکنش درخور به آن رویدادها را نشان دهد. هنگامی که رویداد غیرمنتظرهای در هنگام پردازش کردن درخواستهای کلاینت رخ میدهد و خطایی روی میدهد، سرور این خطاها را به کمک بستههایی از نوع خطا به آگاهی کلاینت میرساند. درخواستها ممکن است باعث تولید کردن پاسخها، رویدادها یا خطاها شوند؛ افزون بر آن، سرور اجبار نمیکند که بستهها حتماً باید به ترتیب خاصی بر روی شبکه ارسال شوند. چندین افزونه برای پروتکل اصلی هست که هر کدام درخواستها، پاسخها، رویدادها و خطاهای ویژهٔ خودشان را دارند.
اکس در سال ۱۹۸۴ و از مؤسسه فناوری ماساچوست سرچشمه گرفتهاست. نسخهٔ کنونی آن که X11 نام دارد، در سپتامبر ۱۹۸۷ ساخته شدهاست. اینکه سامانه پنجرهای اکس «مکانیسم و سازوکار را مشخص میکند، نه خط مشی را»، اصل اولیهای بود که طراحان سیستم، باب شیفلر و جیم گتیز، آن را گزیدند. در نتیجه، پروتکل اصلی، چگونگی تعامل بین کلاینتها یا تعامل بین یک کلاینت با یک کاربر را تعیین نمیکند. چگونگی انجام این تعاملها در مشخصههای فنی دیگری بحث میشوند،[4] همانند ICCCM و freedesktop.org و عموماً هنگامی که برنامهنویس تصمیم به استفاده از یک ابزار ویجت میگیرد، چگونگی انجام این تعامل و خصوصیات هم خودکار اعمال میشوند.