پرش به محتویات

Install and configure X11

هدف درس

در این درس نحوهٔ نصب و پیکربندی پایه‌ای X11، فایل‌های پیکربندی مرتبط، و مفاهیم کلیدی مانند DISPLAY، xhost و xauth را یاد می‌گیریم؛ همچنین نگاهی کوتاه به Wayland خواهیم داشت.

دانش مورد نیاز

  • آشنایی با خط فرمان لینوکس
  • درک پایه‌ای از سرویس‌ها و فایل‌های پیکربندی سیستمی

مقدمه

X یک سیستم پنجره‌ای شبکه‌شفاف است که در بسیاری از توزیع‌های لینوکس برای فراهم کردن رابط گرافیکی به‌کار می‌رود. در عمل، X به‌عنوان یک "Display Server" پیام‌های برنامه‌ها (کلاینت‌ها) را دریافت و آن‌ها را به هسته و درایورها ترجمه می‌کند تا خروجی گرافیکی روی صفحه نمایش داده شود.

در این درس روی X11 (معمولاً تحت پیاده‌سازی X.Org) تمرکز می‌کنیم و در ادامه اشاره‌ای به Wayland خواهیم داشت.


پیکربندی X و فایل‌های مربوطه

/etc/X11/xorg.conf

قدیم‌تر این فایل به‌صورت جامع تمام تنظیمات X را داشت؛ اما امروزه X معمولاً بدون نیاز به این فایل خود را پیکربندی می‌کند. اگر نیاز به تغییرات دستی در هنگام راه‌اندازی داشته باشید می‌توانید با دستور زیر یک پیکربندی نمونه بسازید:

Xorg -configure
# سپس فایل ایجاد‌شده را به /etc/X11/xorg.conf منتقل کنید
sudo mv /root/xorg.conf.new /etc/X11/xorg.conf

فایل xorg.conf از بخش‌هایی مانند Files, Module, InputDevice, Device, Monitor, Screen و ServerLayout تشکیل می‌شود که هرکدام تنظیمات خاصی (مثلاً مسیر فونت‌ها، ماژول‌های بارگذاری‌شده، تعاریف کارت گرافیک و مانیتور) را در بر می‌گیرند. یک آشنایی کلی از این بخش‌ها برای آزمون کافی است؛ نیازی به حفظ تمام گزینه‌ها نیست.

/etc/X11/xorg.conf.d/

به‌جای ویرایش مستقیم فایل اصلی ارائه‌دهنده (vendor) بهتر است تغییرات محلی را در قالب فایل‌های کوچک در این دایرکتوری قرار دهید. این روش مدیریتی ساده‌تر و ایمن‌تر است.

~/.xsession-errors

اگر هنگام شروع X مشکلی رخ دهد، اغلب پیام‌های خطا در این فایل کاربر نوشته می‌شود؛ هنگام رفع مشکل اولین جای برای بررسی همین فایل است.


کنترل دسترسی به X و نمایش برنامه‌های راه‌دور

xhost

این ابزار دسترسی به X server را کنترل می‌کند. برخی مثال‌ها:

# نمایش وضعیت دسترسی
xhost
# باز کردن دسترسی برای همه (غیراستاندارد و ناامن)
xhost +
# حذف همهٔ دسترسی‌های باز
xhost -
# باز کردن دسترسی برای یک آدرس مشخص
xhost +192.168.1.120

هشدار امنیتی

باز کردن دسترسی با xhost + بسیار ناامن است — تمامی ماشین‌ها می‌توانند به سرور X شما وصل شوند. وقتی نیاز به دسترسی از راه دور دارید، از xauth یا تونل SSH/X11 forwarding استفاده کنید.

DISPLAY

متغیر محیطی DISPLAY مشخص می‌کند خروجی گرافیکی برنامه به کدام نمایشگر ارسال شود. مثال:

echo $DISPLAY
:0
# ارسال خروجی برنامه به نمایشگر سرور 192.168.1.100
export DISPLAY=192.168.1.100:0
xeyes  # جانمایی پنجره بر روی آن ماشین

xauth

ابزار xauth برای مدیریت اطلاعات احراز هویت (فایل .XAuthority) استفاده می‌شود و روش امن‌تری نسبت به xhost برای اجازهٔ دسترسی برنامه‌های راه‌دور است. حذف فایل .XAuthority گاهی برای حل مشکلات احراز هویت X مفید است:

rm ~/.Xauthority && sudo systemctl restart display-manager

Wayland (مختصر)

Wayland یک جایگزین جدیدتر و امن‌تر برای X است که در برخی توزیع‌ها به‌عنوان پیش‌فرض استفاده می‌شود. درک وجود Wayland و اینکه ممکن است X به‌عنوان گزینهٔ پشتیبان باقی بماند برای آزمون کافی است.


چک‌لیست مدیریتی

  1. آیا فایل‌های پیکربندی را در xorg.conf.d/ قرار داده‌اید تا فایل‌های vendor دست نخورند؟
  2. آیا قبل از اعمال تغییرات، از تنظیمات فعلی نسخه پشتیبان تهیه شده؟
  3. آیا برای دسترسی از راه دور، روش امنی (مثل xauth یا SSH X11 forwarding) به‌کار رفته است؟
  4. آیا پس از تغییر پیکربندی، X را راه‌اندازی مجدد کرده و ~/.xsession-errors را برای خطاها بررسی کرده‌اید؟

تمرین‌ها

  1. با Xorg -configure یک فایل نمونه بسازید (در محیط ایزوله یا ماشین مجازی) و بخش‌های اصلی آن را بررسی کنید.
  2. با xhost دسترسی را فقط برای یک آدرس مشخص باز کرده و سپس با xauth همان ارتباط را با روش امن‌تر تنظیم کنید.
  3. متغیر DISPLAY را تغییر دهید و یک برنامهٔ گرافیکی ساده (مثل xeyes) را به نمایشگر راه‌دور هدایت کنید (می‌توانید از SSH X11 forwarding نیز استفاده کنید).

نکات کلیدی برای آزمون

  • بدانید X11 چیست و نقش DISPLAY در ارسال خروجی گرافیکی را توضیح دهید.
  • دستور Xorg -configure برای ساخت پیکربندی نمونه را بشناسید.
  • تفاوت بین /etc/X11/xorg.conf و /etc/X11/xorg.conf.d/ را بدانید.
  • ابزارهای xhost و xauth و خطرات امنیتی xhost + را تشخیص دهید.
  • از وجود Wayland آگاه باشید — چه تفاوت کلی‌ای با X دارد (نگاه کلی کافی است).

````