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 مفید است:
Wayland (مختصر)¶
Wayland یک جایگزین جدیدتر و امنتر برای X است که در برخی توزیعها بهعنوان پیشفرض استفاده میشود. درک وجود Wayland و اینکه ممکن است X بهعنوان گزینهٔ پشتیبان باقی بماند برای آزمون کافی است.
چکلیست مدیریتی¶
- آیا فایلهای پیکربندی را در
xorg.conf.d/قرار دادهاید تا فایلهای vendor دست نخورند؟ - آیا قبل از اعمال تغییرات، از تنظیمات فعلی نسخه پشتیبان تهیه شده؟
- آیا برای دسترسی از راه دور، روش امنی (مثل
xauthیا SSH X11 forwarding) بهکار رفته است؟ - آیا پس از تغییر پیکربندی،
Xرا راهاندازی مجدد کرده و~/.xsession-errorsرا برای خطاها بررسی کردهاید؟
تمرینها¶
- با
Xorg -configureیک فایل نمونه بسازید (در محیط ایزوله یا ماشین مجازی) و بخشهای اصلی آن را بررسی کنید. - با
xhostدسترسی را فقط برای یک آدرس مشخص باز کرده و سپس باxauthهمان ارتباط را با روش امنتر تنظیم کنید. - متغیر
DISPLAYرا تغییر دهید و یک برنامهٔ گرافیکی ساده (مثلxeyes) را به نمایشگر راهدور هدایت کنید (میتوانید از SSH X11 forwarding نیز استفاده کنید).
نکات کلیدی برای آزمون
- بدانید X11 چیست و نقش
DISPLAYدر ارسال خروجی گرافیکی را توضیح دهید. - دستور
Xorg -configureبرای ساخت پیکربندی نمونه را بشناسید. - تفاوت بین
/etc/X11/xorg.confو/etc/X11/xorg.conf.d/را بدانید. - ابزارهای
xhostوxauthو خطرات امنیتیxhost +را تشخیص دهید. - از وجود Wayland آگاه باشید — چه تفاوت کلیای با X دارد (نگاه کلی کافی است).
````