منبع اصلی نوشتار زیر در این لینک قرار دارد

سامانه پنجره X

هنگامی که این مطلب را می‌خوانید، ممکن است توسط خودم یا دیگران تغییراتی کرده باشد. بدین ترتیب مشکلات آن برطرف شده و قسمت‌های جدیدی به آن اضافه می‌شوند. همواره می‌توانید آخرین نسخه این مطلب را در دانشنامه BSD مطالعه کنید.

FreeBSD برای ارائه یک رابط گرافیکی از X11 استفاده می‌کند. در این مقاله به بررسی یکی از پیاده‌سازی‌های X11 به نام Xorg می‌پردازیم که Xserver پیشفرض در FreeBSD است. (نگران نباشید، این اصطلاحات به زودی تشریح می‌شوند)
Xorg توسط بنیاد X.Org توسعه داده می‌شود. همچنین این برنامه تحت مجوزی عرضه می‌شود که شباهت زیادی به مجوز مورد استفاده FreeBSD دارد.

درک X

مفهوم X، برای کسانی که برای بار اول از آن استفاده می‌کنند می‌تواند کمی عجیب‌و‌غریب باشد. بخصوص اشخاصی که قبلاً با سیستم‌عامل‌هایی مثل Microsoft Windows یا Mac OS کار کرده‌اند.
X اولین سیستم پنجره‌ ای نیست که برای UNIX نوشته شد؛ اما محبوبترین آنهاست. تیم توسعه X ، قبل از آن، بر روی یک سیستم پنجره‌ای دیگر به نام W (که از Window می‌آید) کار می‌کردند. در الفبای رومی، X حرف بعد از W است.

X با اسامی مختلفی مانند X،X11، X window System و … شناخته می‌شود.

تعریف XClient و XServer

X از همان ابتدا برای کار در شبکه طراحی شد؛ به همین دلیل یک مدل Client/Server را برگزید.
Xserver بر روی رایانه ای که مانیتور و کیبورد و ماوس دارد، اجرا میشود. کار این برنامه مدیریت صفحه نمایش، کنترل ماوس و کیبورد و دیگر دستگاهای ورودی و خروجی (مثلاً touchpad و video projector و …) است.
هر برنامه‌ای که با کتابخانه‌های X نوشته شده باشد یک Xclient نامیده میشود. مثلاً فایرفاکس، گیمپ، pidgin و … نمونه‌هایی از یک Xclient هستند. یک Xclient پیغامهایی مانند “ لطفاً پنجره ای را با این مختصات در صفحه نمایش رسم کن“ را به یک Xserver میفرستد. Xserver هم در پاسخ، پیغامهایی مانند “کاربر بر روی دکمه Ok کلیک کرده“ یا “کاربر ماوس خود را در مختصات X و Y حرکت میدهد“ را برای Xclient ارسال میکند.

در یک سیستم خانگی یا یک شبکه اداری کوچک ممکن است هر دو این برنامه‌ها بر روی یک کامپیوتر نصب شده باشند. با این حال این امکان وجود دارد تا این برنامه‌ها بر روی کامپیوترهای مجزایی نصب شوند. مثلاً فایرفاکس بر روی یک کامپیوتر و X.Org بر روی یک کامپیوتر دیگر نصب شده باشد. این بدین معنیست که “پردازش“ در یک سیستم و “نمایش“ در سیستم دیگری صورت میگیرد.معمولاً Xserver بر روی کامپیوتری که قدرت پردازش کمی دارد نصب شده و Xclient هم بر روی کامپیوتری با قدرت پردازش بالا نصب میشود. در این حالت ارتباط بین Xserver و Xclient از طریق شبکه برقرار میشود.
معمولاً این مسأله کاربران را کمی گیج میکند چون کلمات server و client در معنای درست خود به کار برده نشده و وارونه شده اند. این مهم است که به خاطر داشته باشید که Xserver بر روی کامپیوتری که مانیتور و کیبورد دارد نصب می‌شود و Xclient هم برنامه‌ای است که دستور نمایش پنجره ها را برای Xserver فرستاده تا Xserver آن‌ها را برای کاربر نمایش دهد.
هیچ اجباری نیست تا این برنامه‌ها بر روی سیستم عاملهای مشابهی اجرا شوند. مثلاً فایرفاکس (Xclient) میتواند بر روی کامپیوتری که سیستم عامل FreeBSD بر روی آن نصب است، اجرا شود و در سیستم دیگری که دارای سیستم عامل Microsoft Windows است نمایش یابد. (پیاده سازی‌ دیگری از X11 برای Microsoft Windows و با نام Xming وجود دارد)

مدیر پنجره

فلسفه طراحی X شبیه فلسفه طراحی UNIX است. ابزارها، نه سیاست. یعنی X سعی نمی‌کند که نحوه انجام دادن کارها را دیکته کند. در عوض ابزارها برای کاربر ایجاد شده‌اند و این وظیفه کاربر است که تصمیم بگیرد چگونه از این ابزارها استفاده کند.
این فلسفه به X نیز گسترش یافته است. بنابراین X تعیین نمی‌کند که:

  • پنجره‌ها باید بر روی صفحه نمایش چگونه باشند.
  • چگونه باید آنها را با ماوس جا‌به‌جا کرد.
  • از چه کلیدهایی باید برای جا‌به‌جا شدن بین پنجره‌ها استفاده کرد (مثلا alt+ Tab در Microoft Windows).
  • نوار عنوان هر پنجره باید چگونه باشد.
  • آیا دکمه بستن پنجره باید بر روی آن وجود داشته باشد؟
  • و … .

در عوض این وظایف به برنامه‌ای به نام Window Manager یا مدیر پنجره محول شده است. مدیر پنجره‌های متفاوتی برای X وجود دارد که: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker و … از آن جمله اند.
هر مدیر پنجره ظاهر و حس متفاوتی را فراهم می‌کند. برخی از میزکار‌های مجازی پشتیبانی می‌کنند، برخی اجازه می‌دهند تا کاربر کلیدهایی را برای مدیریت میزکار تعریف کند، بعضی ها یک دکمه ‘’’Start’’’ یا چیزی شبیه آن دارند، بعضی از آنها قابلیت نصب theme های جدید دارند که کاربر می‌تواند ظاهر میزکارش را به کلی عوض کند. این Window Managerها به همراه برخی چیزهای دیگر در دایرکتوری x11-wm در درخت پورتها موجود هستند.
به علاوه، KDE و Gnome مدیر پنجره‌هایِ مخصوص به خود را دارند که با آنها ادغام شده است.
نحوه پیکربندی هر مدیر پنجره متفاوت است. بعضی از فایل‌های متنی برای پیکربندی خود استفاده می‌کنند و برخی دیگر ابزارهایی گرافیکی برای را این کار تدارک دیده‌اند.

Widgetها

به تمام اشیائی که میتوان بر روی آنها کلیک کرد یا به نوعی آنها را دستکاری کرد، widget گفته می‌شود. مانند: دکمه‌ها، آیکونها، چک باکس‌ها، لیست‌ها، دکمه‌های رادیویی و … .
این اشیا در سیستم‌عامل‌هایی مثل Microsoft Windows و Mac OS ثابت هستند و همه برنامه ها از widget های یکسانی استفاده می‌کنند. اما در X شکل‌و‌شمایل خاصی برای این اشیا در نظر گرفته نشده و هر برنامه میتواند widget های مخصوص به خود را داشته باشد.
در نتیجه توقع نداشته باشید که همه برنامه‌های X ظاهر یکسان و ثابتی داشته باشند.

نصب X11

همانطور که گفته شد، Xorg پیاده‌سازی پیشفرض از X11 در FreeBSD است. نسخه ۷٫۵٫۲ از این برنامه در مجموعه پورتهای FreeBSD وجود دارد که از طریق دستورات زیر میتوانید اقدام به نصب آن نمایید:

 

# cd /usr/ports/x11/xorg
# make install clean
نکته
برای اینکه Xorg را به طور کامل کامپایل کنید، احتیاج به ۴ گیگابایت فضای خالی دارید

 

کامپایل Xorg ممکن است مدت زیادی طول بکشد. به همین دلیل شاید ترجیح دهید که آن را از بسته‌های باینری نصب کنید. بسته های باینری از طریق دستور pkg_add قابل نصب هستند. در هنگام استفاده از این دستور، احتیاجی به مشخص کردن نسخه برنامه نیست. آخرین نسخه از برنامه مورد نظر به صورت خودکار دانلود می‌شود.
بنابراین، با دستور زیر می‌توانید Xorg را از بسته‌های باینری نصب کنید:

# pkg_add -r xorg

خب، تبریک می‌گوییم! شما موفق شدید Xorg را نصب کنید! حالا نوبت به پیکربندی آن می‌رسد.

پیکر‌بندی Xorg

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

Xorg از HAL برای شناسایی صفحه‌کلید و ماوس استفاده می‌کند. اگر Xorg را نصب کرده‌اید، برنامه‌های HAL و DBUS هم به صورت خودکار نصب شده‌‌اند. چون از وابستگی‌های Xorg هستند. کافیست آن‌ها را فعال کنید. برای فعال کردن، این خطوط را به فایل ‎ /etc/rc.conf اضافه کنید:

hald_enable=\"YES\"
dbus_enable=\"YES\"

قبل از اینکه جلوتر برویم، این سرویسها باید اجرا شوند. بنابراین بعد از اضافه کردن خطوط بالا سیستم خود را reboot کنید.

در اغلب موارد احتیاج به تنظیمات اضافه‌تری نیست و Xorg با دستور زیر قبل اجراست:

% startx

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

# Xorg -configure

با اجرای دستور بالا، فایل پیکربندی در مسیر ‎ /root/xorg.conf.new ایجاد می‌شود. این فایل را با یک ویرایشگر متن باز کرده و مقادیر مورد نظر خود را در آن وارد کنید. باید بگوییم که بررسی کامل این فایل از حوصله این مقاله خارج است و در جایی دیگر بررسی می‌شود. بعد از اعمال تغییرات مورد نظر خود، فایل را ذخیره کرده و از ویرایشگر خارج شوید.

حالا باید این فایل را تست کنید تا مطمئن شوید که مشکلی نداشته و همه چیز به خوبی کار میکند. کافیست دستور زیر را با کاربر ریشه اجرا کنید:

 

Xorg -config xorg.conf.new -retro

فایل اصلی پیکربندی Xorg در مسیر ‎ /etc/X11/xorg.conf قرار داشته و برنامه Xorg تنظیمات خود را از این فایل می‌خواند. بنابراین شما باید فایل پیکربندی که درست کرده‌اید را در این مسیر قرار دهید. این کار با اجرای دستور زیر انجام خواهد شد:

# cp /root/xorg.conf.new /etc/X11/xorg.conf



برچسب ها : , ,