X11 — سرور نمایشگر کلاسیک
آموزش کامل نصب و پیکربندی X.Org (X11) در Gentoo: VIDEO_CARDS، INPUT_DEVICES، xorg.conf، startx و مدیران نمایشگر.
X11 (یا X.Org) سرور نمایشگر کلاسیک لینوکس است که بیش از ۳۵ سال قدمت دارد. اگرچه Wayland بهتدریج جایگزین آن میشود، X11 همچنان برای کارتهای گرافیک قدیمی، برنامههای legacy و پیکربندیهای خاص ضروری است و در Gentoo بهطور کامل پشتیبانی میشود.
X11 چیست؟
X11 یک پروتکل نمایشگر است که در معماری client/server کار میکند. سرور X (X Server) مسئول سختافزار (گرافیک، کیبورد، موس) است و کلاینتها (برنامهها) از طریق سوکت با آن ارتباط برقرار میکنند. این جداسازی امکان اجرای برنامه روی یک ماشین و نمایش روی ماشین دیگر (X forwarding) را فراهم میآورد.
+----------+ protocol +----------+
| X Client | <----------> | X Server | <-----> Hardware
| (Firefox) | | (Xorg) | (GPU, Kbd, Mouse)
+----------+ +----------+
| |
| مدیتیور پنجره: |
| Mutter, KWin, Openbox ... |نام کامل
«X11» به نسخهٔ ۱۱ پروتکل X اشاره میکند (از سال ۱۹۸۷). «X.Org» نام پیادهسازی مرجع این پروتکل است که در Gentoo با بستهٔ x11-base/xorg-server نصب میشود.
نصب X.Org در Gentoo
پیش از نصب، دو متغیر مهم را در /etc/portage/make.conf تنظیم کنید:
# /etc/portage/make.conf
VIDEO_CARDS="amdgpu intel nouveau radeonsi nvidia"
INPUT_DEVICES="libinput"سپس متابستهٔ X.Org را نصب کنید:
# نصب سرور X + درایورهای رایج
emerge --ask x11-base/xorg-drivers
# خروجی:
# [ebuild N ] x11-base/xorg-server-21.1.11
# [ebuild N ] x11-base/xorg-drivers-21.1
# [ebuild N ] x11-drivers/xf86-video-amdgpu-23.0.0
# [ebuild N ] x11-drivers/xf86-input-libinput-1.4.0
# [ebuild N ] x11-base/xinit-1.4.2
# ...
# نصب فقط سرور (بدون درایورهای اضافی)
emerge --ask x11-base/xorg-serverxorg-drivers vs xorg-server
xorg-server فقط هستهٔ X.Org را نصب میکند. xorg-drivers یک متابسته است که علاوه بر سرور، درایورهای ورودی و خروجی رایج را نیز نصب میکند. برای استفادهٔ عمومی، xorg-drivers را انتخاب کنید.
VIDEO_CARDS و INPUT_DEVICES
این متغیرها در make.conf تعیین میکنند کدام درایورها ساخته شوند:
| VIDEO_CARDS | کارت گرافیک |
|---|---|
intel | Intel i915/Xe |
amdgpu | AMD مدرن (Southern Islands به بعد) |
radeonsi | AMD برای Mesa |
radeon | AMD قدیمی (pre-Southern Islands) |
nouveau | NVIDIA متنباز |
nvidia | NVIDIA اختصاصی |
vesa | درایور عمومی VESA (fallback) |
fbdev | framebuffer (fallback) |
| INPUT_DEVICES | دستگاه ورودی |
|---|---|
libinput | درایور مدرن (پیشنهادی) |
evdev | درایور قدیمی evdev |
synaptics | تاچپد Synaptics (قدیمی) |
wacom | قلم دیجیتایزر Wacom |
پیکربندی xorg.conf
X.Org مدرن معمولاً به xorg.conf نیاز ندارد و خود را بهطور خودکار پیکربندی میکند. اما در موارد خاص (multi-monitor، درایور اختصاصی NVIDIA، یا مشکل تشخیص) میتوانید فایل پیکربندی بسازید:
# تولید خودکار فایل پیکربندی پایه
Xorg -configure
# خروجی:
# Your xorg.conf file is /root/xorg.conf.new
# انتقال به مسیر رسمی
mv /root/xorg.conf.new /etc/X11/xorg.confیک پیکربندی حداقلی نمونه:
# /etc/X11/xorg.conf.d/10-input.conf
Section "InputClass"
Identifier "libinput"
MatchIsPointer "on"
MatchIsKeyboard "on"
MatchIsTouchpad "on"
Driver "libinput"
EndSectionمدیریت فایلهای پیکربندی
بهجای ویرایش /etc/X11/xorg.conf، از فایلهای جداگانه در /etc/X11/xorg.conf.d/ استفاده کنید. این فایلها به ترتیب حروف الفبا بارگذاری میشوند و مدیریت آنها سادهتر است.
راهاندازی با startx و .xinitrc
اگر بدون مدیر نمایشگر کار میکنید، با startx میتوانید X را بهصورت دستی اجرا کنید:
# اجرای سریع (با twm پیشفرض)
startx
# خروج با Ctrl+Alt+Backspace (اگر فعال باشد) یا از داخل ترمینال: exitبرای اجرای محیط دسکتاپ دلخواه، فایل ~/.xinitrc بسازید:
# ~/.xinitrc
# اجرای XFCE
exec startxfce4
# یا برای اجرای GNOME (با X11 backend)
# exec gnome-session
# یا برای i3
# exec i3chmod +x ~/.xinitrc
startxمدیران نمایشگر (Display Managers)
مدیر نمایشگر (DM) رابط گرافیکی لاگین است که نشست X را شروع میکند. انتخاب آن به محیط دسکتاپ بستگی دارد:
| مدیر نمایشگر | بسته Gentoo | دسکتاپ پیشفرض | Wayland |
|---|---|---|---|
| GDM | gnome-base/gdm | GNOME | بله |
| SDDM | x11-misc/sddm | KDE Plasma | بله |
| LightDM | x11-misc/lightdm | XFCE/MATE | محدود |
| LXDM | lxde-base/lxdm | LXDE | خیر |
| XDM | x11-apps/xdm | عمومی (قدیمی) | خیر |
نصب و فعالسازی LightDM بهعنوان نمونه:
# نصب
emerge --ask x11-misc/lightdm
# فعالسازی در OpenRC
rc-update add xdm default
rc-update add lightdm default
# یا در systemd
systemctl enable lightdm
# تنظیم مدیر نمایشگر پیشفرض (برای OpenRC)
nano /etc/conf.d/xdm
# DISPLAYMANAGER="lightdm"فعالسازی مدیر نمایشگر در OpenRC
در OpenRC باید دو سرویس فعال شوند: xdm (که سرویس متای اصلی است) و مدیر خاص (مانند lightdm). متغیر DISPLAYMANAGER در /etc/conf.d/xdm تعیین میکند کدام مدیر اجرا شود.
خطاهای رایج
۱. خطای no screens found
(EE) no screens found(EE)دلیل: سرور X نمیتواند هیچ خروجی گرافیکی پیدا کند. این معمولاً به دلیل تنظیم نادرست VIDEO_CARDS یا نبود درایور است. راهحل:
# بررسی VIDEO_CARDS
emerge --info | grep VIDEO_CARDS
# بررسی lspci
lspci | grep -i vga
# 00:02.0 VGA compatible controller: Intel ... HD Graphics
# بازنصب با VIDEO_CARDS صحیح
VIDEO_CARDS="intel" emerge --ask --changed-use x11-base/xorg-drivers۲. خطای no matching driver
(EE) Failed to load module "nvidia" (module does not exist, 0)دلیل: درایور خاص نصب نیست. راهحل: بستهٔ مربوطه را نصب کنید. برای NVIDIA به آموزش NVIDIA، برای AMD به آموزش AMD و برای Intel به آموزش Intel مراجعه کنید.
۳. صفحه سیاه پس از startx
دلیل احتمالی: فایل ~/.xinitrc وجود ندارد یا اجرایی نیست، یا درایور گرافیک مشکل دارد. راهحل:
# بررسی لاگ X
cat /var/log/Xorg.0.log | grep -E "(EE|WW)"
# ساخت xinitrc پیشفرض
cp /etc/X11/xinit/xinitrc ~/.xinitrc
chmod +x ~/.xinitrc
startxخلاصه و مرحله بعد
X11 هنوز هم یک انتخاب معتبر برای Gentoo است، بهویژه برای سختافزار قدیمی، کارتهای گرافیک legacy یا برنامههایی که به X forwarding نیاز دارند. نصب آن با xorg-drivers و تنظیم صحیح VIDEO_CARDS و INPUT_DEVICES ساده است.
برای آشنایی با نسل بعد، آموزش Wayland را ببینید. برای نصب دسکتاپ کامل، GNOME یا KDE Plasma را مطالعه کنید. اگر در نصب درایور کارت گرافیک مشکل دارید، NVIDIA و Intel و AMD راهنمای شما هستند.
این صفحه در تاریخ ۱ تیر ۱۴۰۵ بهروزرسانی شده است.