افزایش سرعت کپی و paste در لینوکس

گذار تاریخی از X11 به Wayland





گذار تاریخی از X11 به Wayland

گذار تاریخی از X11 به Wayland؛ تحلیل روند حذف پشتیبانی X11 در محیط‌های دسکتاپ لینوکسی

سیستم پنجره‌ای X11 (که با نام‌های X Window System Version 11 یا Xorg نیز شناخته می‌شود) بیش از چهار دهه به عنوان ستون فقرات رابط گرافیکی در سیستم‌های شبه‌یونیکس و لینوکس خدمت کرده است. این سیستم با ارائه مدل client-server، امکان اجرا و کنترل برنامه‌ها از راه دور و نمایش خروجی گرافیکی بر روی چندین دستگاه را فراهم می‌آورد. با این حال، با گذر زمان، محدودیت‌های معماری X11 بیشتر نمایان شد: پیچیدگی بیش از حد، امنیت ناکافی، تأخیر در رندرینگ و وابستگی شدید به فناوری‌های قدیمی. این محدودیت‌ها باعث شد جامعه توسعه‌دهندگان لینوکس به دنبال جایگزینی مدرن و بهینه‌تر باشد.

Wayland به عنوان یک پروتکل نمایشی مدرن، از حدود ۱۶ سال پیش مطرح شد و هدف آن جایگزینی X11 با ارائه معماری ساده‌تر، امنیت بهتر و کارایی بالاتر است. در مدل Wayland، سرور نمایشگر با کامپوزیتور ادغام شده و نیازی به مدل پیچیده client-server قدیمی نیست. این فصل به بررسی روند حذف تدریجی پشتیبانی از X11 توسط محیط‌های دسکتاپ اصلی و توزیع‌های لینوکس، چالش‌ها و موانع مهاجرت، و چشم‌انداز آینده می‌پردازد.

۱- روند حذف پشتیبانی X11 در محیط‌های دسکتاپ اصلی

محیط‌های دسکتاپ لینوکس به طور گسترده‌ای بر پایه X11 توسعه یافته‌اند و مهاجرت آن‌ها به Wayland یک فرآیند تدریجی و پیچیده است. این فرآیند شامل بازنویسی کامپوزیتورها، تغییر رابط‌های برنامه‌نویسی و تست گسترده سخت‌افزار و نرم‌افزار است. در ادامه، برنامه‌ریزی محیط‌های دسکتاپ اصلی برای حذف پشتیبانی X11 ارائه می‌شود.

جدول ۱-۱: زمان‌بندی حذف پشتیبانی X11 در محیط‌های دسکتاپ

محیط دسکتاپ وضعیت فعلی نسخه‌ی حذف کامل X11 توضیحات و جزئیات فنی
KDE Plasma در حال گذار نسخه ۶.۸ به بعد پس از بیش از ۳۰ سال پشتیبانی از X11، KDE با نسخه ۶.۸ به طور کامل روی Wayland تمرکز می‌کند. KWin به عنوان کامپوزیتور اصلی ارتقا یافته تا قابلیت‌های گرافیکی مدرن، تأخیر کم و امنیت بیشتر را فراهم کند.
GNOME در حال گذار نسخه ۵۰ به بعد در GNOME 49، پشتیبانی X11 به حالت غیرپیش‌فرض درآمده و در نسخه ۵۰ به طور کامل حذف می‌شود. Mutter به عنوان کامپوزیتور اصلی Wayland نقش سرور نمایشگر را نیز ایفا می‌کند و قابلیت‌های جدیدی برای مدیریت چندین مانیتور و انیمیشن‌های نرم ارائه می‌دهد.
Budgie انتقال فعال نسخه ۱۰.۱۰ به بعد Budgie 10.10 که در سال ۱۴۰۵ منتشر خواهد شد، اولین نسخه کاملاً Wayland است و از کامپوزیتور Labwc بهره می‌برد. این محیط با تمرکز بر تجربه کاربری ساده و روان، وابستگی به X11 را به حداقل می‌رساند.
Xfce ادغام اولیه نامشخص Xfce هنوز به طور کامل به Wayland منتقل نشده است، اما پشتیبانی داخلی از Wayland مبتنی بر کتابخانه wlroots به Xfwm4 اضافه شده است. این امکان به برنامه‌های قدیمی اجازه اجرا روی Wayland را می‌دهد، اگرچه هنوز نیاز به XWayland وجود دارد.
LXQt وابستگی زیاد نامشخص بسیاری از اجزای LXQt هنوز به طور کامل با Wayland سازگار نیستند. وابستگی‌های Qt5 و اجزای قدیمی X11 مهاجرت را کند می‌کنند، و تیم توسعه LXQt هنوز در حال بررسی راهکارهای جایگزین برای کامپوزیتور و درایورهای گرافیکی است.

این جدول نشان می‌دهد که محیط‌های دسکتاپ بزرگ و محبوب، علی‌رغم تفاوت در سرعت مهاجرت، همگی در حال گذار به Wayland هستند. KDE و GNOME پیشتازان این تغییر محسوب می‌شوند، در حالی که Xfce و LXQt هنوز در مراحل ابتدایی قرار دارند.

۲- روند حذف پشتیبانی X11 در توزیع‌های شاخص لینوکسی

توزیع‌های لینوکس نیز بر اساس تغییرات محیط‌های دسکتاپ، در حال بازنگری در پایه نمایشی خود هستند. با گذار محیط‌های دسکتاپ به Wayland، توزیع‌ها نیز مجبورند نسخه‌های جدید را با پیش‌فرض Wayland ارائه دهند و در نهایت X11 را حذف کنند.

جدول ۲-۱: زمان‌بندی حذف پشتیبانی X11 در توزیع‌های لینوکسی

توزیع لینوکس وضعیت فعلی برنامه‌ی آینده
Ubuntu از نسخه ۲۱.۱۰، Wayland پیش‌فرض شد. از نسخه ۲۵ به بعد، پشتیبانی از X11 در نسخه اصلی با GNOME حذف خواهد شد. کاربران حرفه‌ای می‌توانند با XWayland برنامه‌های قدیمی را اجرا کنند، اما نصب پیش‌فرض به طور کامل به Wayland منتقل می‌شود.
Fedora از نسخه ۳۵، Wayland پیش‌فرض شد. برنامه‌ریزی برای حذف کامل پشتیبانی سرور Xorg از نسخه ۴۳ به بعد در جریان است. این توزیع به دلیل نزدیکی به جریان اصلی GNOME، پیشتاز مهاجرت به Wayland است.
Alpine Linux حذف کامل این توزیع سبک و مینیمال، از Sway به عنوان مدیر پنجره Wayland استفاده می‌کند و X11 به طور کامل حذف شده است. Sway تجربه‌ای مشابه i3 ارائه می‌دهد اما کاملاً با Wayland سازگار است.
openSUSE / SLE Wayland پیش‌فرض نسخه Enterprise ۱۶ (SLE 16) انتظار می‌رود پشتیبانی از Xorg را حذف کند و کاربران به کامپوزیتورهایی مانند KWin و Mutter برای اجرای محیط دسکتاپ متکی خواهند شد.
Solus در حال انتقال با تمرکز بر Budgie، احتمال حذف X11 در نسخه‌های آینده وجود دارد. تیم توسعه Solus بر ایجاد تجربه کاملاً Wayland محور تمرکز کرده است و XWayland نقش موقت خواهد داشت.

KDE رسماً اعلام کرده است که نسخه آینده محیط دسکتاپ Plasma 6.8 به‌صورت انحصاری از Wayland پشتیبانی خواهد کرد. این پلتفرم بالاخره جلسهٔ قدیمی X11 را کنار می‌گذارد. این یک تغییر بزرگ است. پس از نزدیک به سه دهه اجرای دسکتاپ KDE روی X Server، جلسه Plasma X11 دیگر وجود نخواهد داشت.

برای اکثر کاربران، احتمالاً حتی متوجه این تغییر نخواهند شد. Wayland هم‌اکنون نشست دسکتاپ پیش‌فرض در اکثریت توزیع‌ها است. ظاهراً بسیاری از توزیع‌ها قبلاً برنامه‌ریزی کرده بودند که جلسه X11 Plasma را حذف کنند، بدون توجه به تصمیم تیم KDE. این حرکت بیشتر به منظور توسعه بلندمدت است.

قطع وابستگی به X11 فرصت‌های بزرگی برای توسعه ویژگی‌های جدید، بهینه‌سازی بهتر و سرعت بالاتر توسعه در آینده فراهم می‌کند. اگر نگران زمان دقیق به‌روزرسانی هستید، تیم KDE تا اوایل سال ۲۰۲۷ همچنان از جلسه Plasma X11 پشتیبانی خواهد کرد.

توسعه‌دهندگان هنوز نمی‌توانند تاریخ پایان مشخصی ارائه دهند، زیرا گزینه‌هایی برای ارائه نسخه‌های رفع اشکال اضافی برای Plasma 6.7 باید بررسی شوند. تاریخ نهایی انتشار نزدیک به زمان پایان عمر قفل خواهد شد، اما انتظار می‌رود در اوایل ۲۰۲۷ باشد.

اگر واقعاً به X11 برای سخت‌افزار یا نرم‌افزار قدیمی خاصی نیاز دارید که با Wayland سازگار نیست، بلافاصله بدون راه حل نخواهید ماند. دقیقاً برای همین است که توزیع‌های با پشتیبانی بلندمدت (LTS) وجود دارند. به عنوان مثال، AlmaLinux 9 شامل جلسه Plasma X11 است و تا سال ۲۰۳۲ پشتیبانی خواهد شد. اگر نیاز دارید برای مدتی ثابت بمانید، گزینه دارید.

یکی از نگرانی‌های اصلی برای هر کسی که مهاجرت می‌کند، سازگاری برنامه‌ها است، اما خبر خوب این است که تقریباً تمامی برنامه‌های X11 موجود شما با استفاده از لایه سازگاری Xwayland به‌خوبی کار خواهند کرد. Xwayland عملکرد بسیار خوبی در حفظ اجرای روان برنامه‌ها دارد.

همچنین، باید به خاطر داشته باشید که KDE چندین قابلیت سازگاری اضافی روی Xwayland ارائه کرده است. این شامل پشتیبانی بهبود یافته از مقیاس‌بندی کسری و سازگاری برگشتی اختیاری برای میانبرهای سراسری و شبیه‌سازی ورودی X11 است.

برخی وظایف تخصصی نیاز به تنظیم دارند، به ویژه برنامه‌های شخص ثالث که روی کارهایی مانند گرفتن اسکرین‌شات یا ضبط صفحه تمرکز دارند. اکثر این برنامه‌ها قبلاً برای Wayland تنظیم شده‌اند و بقیه نیز به سرعت در حال پیشرفت هستند. شما همچنان می‌توانید از انتقال X11 استفاده کنید، زیرا Xwayland از آن پشتیبانی می‌کند و Waypipe نیز مشابه آن برای برنامه‌های بومی Wayland وجود دارد.

اگر از یک محیط دسکتاپ کاملاً متفاوت، مانند GNOME استفاده می‌کنید، نیازی به نگرانی درباره برنامه‌های KDE ندارید. این تغییر تنها به جلسه ورود X11 در محیط Plasma مربوط می‌شود. در حال حاضر برنامه‌ای برای حذف پشتیبانی X11 در برنامه‌های KDE زمانی که خارج از Plasma اجرا شوند، وجود ندارد.

بر اساس گفته توسعه‌دهندگان، حذف جلسه Plasma X11 به تیم امکان می‌دهد سریع‌تر به بهبود پایداری و عملکرد برای اکثریت کاربران که هم‌اکنون Wayland را اجرا می‌کنند، بپردازد.

مهاجرت طولانی بوده است، اما عبور از این مانع نهایی تغییرات مثبت زیادی در سال‌های آینده ایجاد خواهد کرد. چنین تغییراتی اتفاق می‌افتند، اما به نظر نمی‌رسد راه بازگشتی وجود داشته باشد، بنابراین انتظار داشته باشید محیط کاملاً بر اساس Wayland اولویت‌بندی شود.

۳- توضیح مفاهیم و اصطلاحات فنی

X11 (X Window System)

X11 یک پروتکل و سیستم نمایشگر شبکه‌ای است که رابط گرافیکی سیستم‌های شبه‌یونیکس و لینوکس را فراهم می‌کند. معماری X11 مبتنی بر مدل client-server است، که انعطاف‌پذیری بالا و امکان اجرای برنامه‌ها از راه دور را فراهم می‌آورد. با این حال، این مدل پیچیده و قدیمی، مشکلات امنیتی و تأخیر در رندرینگ ایجاد می‌کند.

Wayland

Wayland پروتکلی مدرن برای ارائه رابط گرافیکی است که به جای مدل client-server، کامپوزیتور و سرور نمایشگر را ادغام می‌کند. مزایای آن شامل سادگی، امنیت بیشتر (ایزوله شدن برنامه‌ها از یکدیگر)، کاهش تأخیر در رندرینگ و بهبود عملکرد گرافیکی است.

کامپوزیتور (Compositor)

کامپوزیتور نرم‌افزاری است که مسئول نمایش خروجی گرافیکی روی صفحه است. در Wayland، کامپوزیتور نقش سرور نمایشگر را نیز ایفا می‌کند. مثال‌ها:

  • Labwc (Budgie)
  • Mutter (GNOME)
  • KWin (KDE)

wlroots

کتابخانه‌ای برای ساخت کامپوزیتورهای Wayland که پیچیدگی‌های سطح پایین پروتکل را ساده می‌کند. Xfce با استفاده از wlroots امکان پشتیبانی اولیه از Wayland را فراهم کرده است.

XWayland

سروری مجازی برای اجرای برنامه‌های X11 روی Wayland است. این ابزار گذار موقت به برنامه‌های قدیمی اجازه می‌دهد بدون تغییر روی محیط Wayland اجرا شوند.

۴- چالش‌ها و موانع مهاجرت به Wayland

با وجود مزایای Wayland، مهاجرت به این پروتکل با چالش‌های متعددی همراه است:

۴-۱ پشتیبانی از سخت‌افزارهای قدیمی و درایورها

  • کارت‌های گرافیک قدیمی ممکن است فاقد درایور مناسب برای Wayland باشند.
  • درایورهای اختصاصی قدیمی انویدیا که تنها از GLX (رابط OpenGL برای X11) پشتیبانی می‌کنند، در Wayland قابل استفاده نیستند. کاربران مجبور به استفاده از درایورهای متن‌باز Nouveau می‌شوند.

۴-۲ نقص در قابلیت‌های کلیدی برای کاربران حرفه‌ای

  • ابزارهای خودکارسازی و ضبط صفحه مانند xdotool و OBS ممکن است در Wayland محدودیت داشته باشند.
  • پیاده‌سازی میانبرهای جهانی کیبورد به دلیل مدل امنیتی Wayland پیچیده‌تر است.
  • دستگاه‌های ویژه مانند تبلت‌های گرافیکی و صفحه‌کلیدهای ژاپنی/چینی ممکن است با مشکلات سازگاری مواجه شوند.

۴-۳ مصرف منابع

Wayland در برخی پیکربندی‌ها و سخت‌افزارهای ضعیف ممکن است مصرف حافظه و پردازنده بیشتری نسبت به X11 داشته باشد، که نیازمند بهینه‌سازی کامپوزیتورها است.

۴-۴ وابستگی نرم‌افزاری

بسیاری از ابزارها و کتابخانه‌ها که برای X11 طراحی شده‌اند، هنوز جایگزین کامل Wayland ندارند. این موضوع نیاز به توسعه نرم‌افزارهای جدید و یا استفاده از XWayland را ایجاد می‌کند.

۵- دورنمای آینده

گذار از X11 به Wayland یک تحول بنیادین در پشته گرافیکی لینوکس است. انگیزه اصلی شامل کاهش بار نگهداری کدهای قدیمی، افزایش امنیت و بهره‌گیری از قابلیت‌های گرافیکی مدرن است. اگرچه در کوتاه‌مدت کاربران سخت‌افزارهای قدیمی و متخصصان وابسته به ابزارهای X11 با چالش مواجه خواهند شد، در بلندمدت جامعه توسعه‌دهنده بهبود پشتیبانی از سخت‌افزار، رفع مشکلات و ظهور ابزارهای جایگزین را تضمین می‌کند.

این گذار، لینوکس را برای یک دهه دیگر در عصر رابط‌های کاربری مدرن و امن رقابت‌پذیر نگه می‌دارد و به توسعه‌دهندگان و کاربران امکان می‌دهد از قابلیت‌های گرافیکی پیشرفته، امنیت بیشتر و تجربه کاربری بهینه بهره‌مند شوند.

با پیشرفت Wayland و ابزارهای وابسته مانند wlroots و XWayland، محیط‌های دسکتاپ انعطاف‌پذیرتر، سریع‌تر و امن‌تر خواهند شد و لینوکس را در جایگاه رقابتی در حوزه سیستم‌های عامل مدرن تثبیت می‌کند.

دوستان عزیز، آغاز یک دوران تازه است: پس از نزدیک به سه دهه اجرای محیط‌های رومیزی KDE بر پایهٔ X11، نسخهٔ آیندهٔ KDE Plasma 6.8 تنها از Wayland پشتیبانی خواهد کرد! پشتیبانی از برنامه‌های X11 به طور کامل به Xwayland سپرده می‌شود و دیگر جلسهٔ ایکس‌یازده (X11 session) در پلاسما ارائه نخواهد شد.

برای بیشتر کاربران، این تغییر تأثیر فوری ندارد. اکثر کاربران ما همین حالا از نشست Wayland استفاده می‌کنند. این گزینه به‌صورت پیش‌فرض در بیشتر توزیع‌های لینوکس فعال است و برخی از آن‌ها قبلاً پشتیبانی از جلسه X11 را حذف کرده‌اند یا قصد چنین کاری را دارند.

در بلندمدت، این تغییر فرصت‌های تازه‌ای برای افزودن قابلیت‌های جدید، بهینه‌سازی و سرعت بخشیدن به توسعه ایجاد می‌کند.

از آنجا که مطمئنیم پرسش‌های زیادی دربارهٔ این تغییر وجود خواهد داشت، تیم پلاسما پرسش‌های متداول (FAQ) زیر را آماده کرده است:

❓ پرسش‌های متداول

  • پشتیبانی از جلسه X11 تا چه زمانی ادامه دارد؟
    تا اوایل سال ۲۰۲۷ (حدوداً اواخر ۱۴۰۵ شمسی). ممکن است برخی به‌روزرسانی‌های رفع مشکل برای نسخه ۶.۷ نیز ارائه شود.
  • اگر من واقعاً به X11 نیاز داشته باشم چه؟
    می‌توانید از توزیع‌هایی استفاده کنید که از نسخه‌های قدیمی‌تر پلاسما با پشتیبانی بلندمدت (LTS) بهره می‌برند. مثلاً AlmaLinux 9 که تا حدود سال ۲۰۳۲ پشتیبانی می‌شود.
  • آیا برنامه‌های X11 همچنان کار می‌کنند؟
    بله، در بیشتر موارد از طریق لایه سازگاری Xwayland به کار خود ادامه می‌دهند. پشتیبانی از مقیاس‌گذاری کسری و میانبرهای سراسری نیز بهتر شده است.
  • بازی‌ها چه می‌شوند؟
    بازی‌ها در Wayland بهتر از همیشه اجرا می‌شوند! قابلیت‌هایی مانند نرخ نوسازی سازگار (Adaptive Sync)، نمایش بدون تَرک (Tearing) و پشتیبانی از چند مانیتور با نرخ نوسازی بالا به‌صورت پیش‌فرض در دسترس هستند. بازی‌های HDR نیز با تنظیمات اضافه فعال می‌شوند.
  • کارت‌های گرافیک انویدیا (NVIDIA) چه؟
    پشتیبانی از Wayland در درایورهای انویدیا در سال‌های اخیر بسیار بهتر شده است. کارت‌های گرافیک نسبتاً جدید به خوبی کار می‌کنند و برای سخت‌افزارهای خیلی قدیمی می‌توان از درایور متن‌باز Nouveau استفاده کرد.
  • قابلیت‌های دسترسی‌پذیری برای افراد با نیازهای ویژه؟
    امکانات پایه مانند صفحه‌خوان‌ها، کلیدهای چسبان و بزرگنمایی به خوبی کار می‌کنند. حتی قابلیت‌های جدیدی مانند ژست‌های تاچ‌پد برای تنظیم بزرگنمایی و فیلترهای رنگی برای کمک به افراد کوررنگ نیز اضافه شده است.
  • آیا خودکارسازی (اتوماسیون) امکان‌پذیر است؟
    بله، ابزارهای مختلفی مانند wl-copy، ydotool و kdotool برای این کار در دسترس هستند. همچنین پلاسما به اندازه کافی قابل توسعه است تا بتوانید ابزارهای مورد نیاز خود را با اسکریپت‌های KWin بسازید.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany