سلام خدمت دوستان گلم . من عاشق اپن سورس و گنو/لینوکس هستم . و هر روز شگفتی زیادی از گنو/لینوکس درک میکنم . و باید گفت : گنو/لینوکس سرگرم کننده است . خوب بگذریم و برسیم به سامانه X یا xserver یا xwindow . دوستان عزیز م در ویکی پدیا در باره این موضوع داریم :
سیستم پنجره X (که معمولا سیستم پنجره X یا براساس نسخه اصلی فعلی آن که ۱۱ است، X11 نیز نامیده میشود) یک سیستم نرمافزاری رایانهای و پروتکل تحت شبکه است که اساس قابلیتهای رابطهای کاربری گرافیکی (GUI) و دستگاههای ورودی پیشرفته را برای رایانههای تحت شبکه فراهم میکند. این سیستم یک لایه انتزاع سختافزاری ایجاد میکند یعنی سایر نرمافزارها از مجموعهای از دستورهای عمومی استفاده میکنند که استقلال از سختافزار و امکان استفاده مجدد از برنامهها را بر روی هر رایانهای که X را پیادهسازی کرده باشد، موجب میگردد.
پروژه ایکس در دانشگاه ماساچوست (MIT) و در سال ۱۹۸۴ آغاز شد. نسخه فعلی (یعنی X۱۱) در ۱۹۸۷ انتشار یافت. بنیاد X.Org پروژهی X را هدایت میکند و پیادهسازی مرجع کنونی آن، یعنی X.Org Server، به عنوان یک نرمافزار آزاد و متنباز و تحت گواهی MIT و گواهیهای آزاد مشابهی در دسترس است.[۱]
ایکس، تنها ساختار پایه یا ابتدایی واسط گرافیکی کاربر را فراهم میکند: نمایش و حرکت پنجرهها روی صفحه و برقراری ارتباط از طریق کیبرد و ماوس. بنابر این، شکلی که ایکس میتواند به خود بگیرد شدیدا وابسته به برنامههای دیگر است. برنامههای مدیر پنجره مختلف میتوانند رابطهای کاملا متفاوتی ایجاد کنند. ایکس بخشی از سیستمعامل نیست بلکه به عنوان یک برنامه و در لایهای بالاتر از خود سیستمعامل اجرا میشود.
بر خلاف پروتکلهای پنجره قبلی، ایکس کاملا برای کار در شبکه رایانهای طراحی شده است. به عبارت دیگر، ارتباط ایکس با صفحه نمایش به جای ارتباط مستقیم، ارتباطی مبتنی بر شبکه است. در ایکس، شبکه شفاف است: جایی که برنامه اجرا میشود میتواند با جایی که دیده میشود تفاوت داشته باشد.
طراحی
اکس از یک مدل سرویسگیرنده-سرویسدهنده استفاده میکند. سرور اکس برنامهایست که بر روی کامپیوتری که دارای نمایشگر و کیبورد است نصب میشود. سرور اکس درخواست ها را از کلاینتها دریافت کرده، پس از پردازش، آنها را بر روی صفحه نمایش (یا دیگر دستگاههای خروجی) رسم میکند. همچنین سرور اکس اطلاعات را از ماوس و کیبورد و دیگر دستگاههای ورودی دریافت کرده، آنها را برای کلاینتها ارسال میکند. کلاینتها در حقیقت همان برنامههای کاربردی مثل فایرفاکس، لیبرهآفیس و … هستند. یک کلاینت درخواستهایی مانند «لطفا پنجرهای با مختصات X و Y را در صفحه نمایش رسم کنید» را برای سرور اکس ارسال میکند. سرور اکس این درخواستها را گرفته و سپس پنجره را بر روی صفحه نمایش رسم میکند. به عنوان مثالی دیگر، سرور اکس اطلاعات را از ماوس دریافت کرده و سپس پیامهایی مانند «کاربر در درحال حرکت دادن ماوس در مختصات X و Y است» را برای کلاینتها ارسال میکند.
ارتباط بین کلاینتها و سرور اکس از طریق پروتکلهای شبکه صورت میگیرد. بنابراین این دو برنامه میتوانند بر روی کامپیوترهای مختلف، حتی با سیستمعاملهای مختلف نصب شوند.
هدف و قابلیتها
X Window یک سیستم مستقل از معماری برای رابطهای کاربری گرافیکی و دستگاههای ورودی پیشرفته بر روی شبکه است که امکان اشتراکگذاری توان محاسباتی یک رایانه اشتراکزمانی را از طریق برنامههای کلاینت فراهم میسازد. هر کاربر با استفاده از یک پایانه تحت شبکه قابلیت تعامل با نمایشگر را از طریق هر گونه دستگاه ورودی کاربری دارد. با توجه به پشتیبانی عمومی از نرمافزارهای X در سیستمعاملهای یونیکس، لینوکس و مکینتاش، معمولا از X برای اجرای نرمافزارهای کلاینت بر روی رایانههای شخصی استفاده میگردد، حتی در صورتی که نیاز به اشتراک زمانی نباشد.
X امکان پنجرهسازی برای نمایشگرهای رایانه و مدیریت کیبرد، اعمال کنترل دستگاههای اشارهگر و صفحات لمسی را فراهم میکند. این سیستم در توزیع استاندارد خود یک راهحل تعامل و نمایش کامل اما ساده است که یک مجموعه ابزار استاندارد و پشته پروتکل برای ساختن رابطهای کاربر گرافیکی در سیستمهای مشابه یونیکس و OpenVMS را فراهم میکند و در عین حال امروزه در بسیاری از سیستمعاملهای مدرن نیز شبیه سازی شده است.
اکس تنها چارچوب اساسی و اولیه را برای ساخت واسطهای گرافیکی فراهم میکند. همانند ترسیم و جابجایی پنجرهها بر روی صفحه نمایش، و تعامل با ماوس، صفحه کلید یا صفحه لمسی. اکس اجبار نمیکند که رابط کاربری باید وجود داشته باشد، برنامههایی تحت عنوان مدیر پنجره وجود دارند که این کار را انجام میدهند. استفاده از مدیر پنجره اجباری نیست و برنامهها میتوانند به شکل مستقیم از از قابلیتهای گرافیکی اکس و بدون رابط کاربری استفاده کنند. به این ترتیب، ظاهر بصری محیطهای مبتنی بر اکس به شدت گوناگون و مختلف است. برنامههای مختلف، ممکن است رابطهای کاربری کاملا متفاوتی را ارائه دهند. اکس به صورت یک لایه انتزاعی اضافه بر روی هسته سیستمعامل ساخته شده است.
برخلاف پروتکلهای نمایشی اولیه، اکس به جای کار بر روی دستگاههای نمایشی پیوسته و جداییناپذیر، به طور خاص برای استفاده بر روی اتصالات شبکه طراحی شده است. اکس به شکل شبکه-شفاف است: ماشینی که یک برنامه کاربردی (کلاینت اکس) بر روی آن اجرا میشود، میتواند از ماشینی که سرور اکس بر روی آن اج را میشود متفاوت باشد و این دو برنامه میتوانند هر کدام روی ماشینهای مختلفی با سیستمعاملهای مختلف اجرا شوند.
اصول اولیه
در ۱۹۸۴، باب شیفلر و جیم گتیس اصول اولیه ایکس را به این صورت تدوین کرند:
- هیچ قابلیت جدیدی اضافه نکنید مگر اینکه برنامهنویسی بدون آن قابلیت نتواند برنامه واقعیاش را تمام کند.
- اهمیت تصمیمگیری در این مورد که برنامه چه چیزی قرار نیست باشد، همانقدر مهم است که برنامه چه چیزی قرار است باشد. لازم نیست به همه نیازهای جهان پاسخ دهید. نکته مهم این است که برنامه قابل توسعه باشد تا بعدها بتوان با حفظ سازگاری، آن را پیش برد.
- تنها چیزی که از تعمیم دادن بر مبنای یک مثال بدتر است، تعمیم دادن بدون وجود حتی یک مثال است.
- اگر مشکل کاملا درک نشده باشد، بهترین کار این است که هیچ جوابی داده نشود.
- اگر میتوانید ۹۰٪ خواستهها را با ۱۰ درصد کار جواب دهید، از راه حل ساده تر استفاده کنید.
- تا جایی که ممکن است، پیچیدگی را ایزوله کنید.
- به جای خط مشی، مکانیزم ارائه دهید. به طور عام، خط مشی رابط کاربری را به کلاینتها بسپارید.
در طول توسعه ایکس.۱۱، قانون اول به این شکل تغییر کرد: “هیچ قابلیت جدیدی اضافه نکنید مگر اینکه برنامهای واقعی را بشناسید که به آن نیاز داشته باشد.”
خوب دوستان عزیز . برای روشن تر شدن قضیه یک مثال می زنم : ما برای وصل شدن به صورت ریموت چی داریم : telnet , ssh , vnc , rdp و XDMCP در این جا به بررسی و کانفیق XDMCP خواهیم پرداخت . در حقیقت XDMCP از سامانه x هست که مادر سیستم های ویندوزی و غیره برای مدیریت unix هامون ازش استفاده میکنیم . نمونه برنامه مدیریتی برای وصل شدن به XDMCP در ویندوز xmanager و در لینوکس Xnest هست .
در تعریف برنامه xmanager داریم :
امروزه استفاده از شبکه ها در ادارات و محیط های کاری بسیار متداول شده است. امکاناتی که یه شبکه در اختیار مدیران و کاربران می دهد بسیار گسترده بوده و هیچ ابزاری نمی تواند جایگزین شبکه باشد. یک شبکه می تواند آن قدر اهمیت پیدا کند که قطعی ۱ ساعته آن باعث اختلال در کار یک موسسه یا اداره گردد. در نظر بگیرید تنها ۱ ساعت شبکه میان رایانه های یک بانک قطع شود. چند نفر ضرر خواهند کرد! با همین مثال ساده هم می توان اهمیت یک شبکه را بیان نمود. شبکه های کوچک و به طور کلی شبکه های خانگی بسیار متداول شده اند. اما بحثی که در مورد آن ها همیشه مطرح بوده است چگونگی مدیریت شبکه است. چه کسی مدیر شبکه است؟ چگونه Client ها با هم ارتباط داشته باشند؟ چگونه فایل ها جابه جا شوند و چندین چند سوال دیگر که در ذهن کاربران شبکه نقش می بندد. یکی از راه هایی که بسیار رایج است استفاده از نرم افزاری است که کار مدیریت شبکه را آسان می سازد. البته می توان از قابلیت های ویندوز هم استفاده کرد و یا حتی برای کاربران حرفه ای از ویندوز سرور بهره برد اما این کار هزینه ی نسبتا بالایی را به دنبال دارد. همانطور که گفته شد استفاده از نرم افزارهای مدیریت شبکه یکی از بهترین راه ها محسوب می شود. این گونه نرم افزار ها با داشتن قابلیت های فراوان به مدیر و کاربران شبکه امکان بهره بردن از شبکه را به بهترین نحو ممکن می دهد. مدیر می تواند جلوی کاربرانی که بیش از حد از شبکه بهره می برند را گرفته و از خرابی های احتمالی جلوگیری نماید. در این زمینه ابزارهای متعدد وجود دارند. یکی از این ابزارها NetSarang Xmanager Enterprise نام دارد. این نرم افزار با دارابودن قابلیت های فراوان مدیریتی مطمئن را برای شبکه های کوچک خانگی و شبکه های بزرگ تجاری فراهم می آورد. مدیر شبکه قادر است با نصب این نرم افزار عملکرد تمامی سیستم های Join شده در شبکه را مشاهده نموده و مدیریت کامل برروی آن ها داشته باشد. البته کاربران هم با استفاده از این نرم افزار می توانند قابلیت های زیادی را تجربه کنند. به سادگی می تواند با دیگر رایانه ها ارتباط برقرار کرده و به اشتراک و انتقال فایل ها بپردازند. برای این که در محیط شبکه خود ، از نهایت امکانات بهره ببرید پیشنهاد می کنیم این نرم افزار را به صورت کاملا رایگان از سایت آسان دانلود دریافت نموده و از ارتباطی قدرتمند در محیط نهایت لذت را ببرید.
قابلیت های کلیدی نرم افزار NetSarang Xmanager:
– مدیریتی کامل بر روی شبکه
– قابلیت کنترل تمامی Client های موجود در محیط شبکه از سوی مدیر
– نمایش محیط کاری کلاینت ها
– قابلیت کنترل تمامی سیستم ها از سوی مدیریت و اعمال تغییرات دلخواه
– استفاده آسان هم برای مدیر و هم برای کلاینت ها
– قابلیت به اشتراک گذاری فایل ها از سوی کلاینت ها و سرور
– قابلیت به اشتراک کذاری اینترنت در میان کلاینت ها با تعیین حد و مرز استفاده
– شناسایی و سازگاری با پروتوکل های مختلف اینترنتی
– توانایی ارتباط با پروتوکل FTP به منظور ارسال فایل ها بر روی سرور
– امنیت بالا در محیط شبکه
– قابلیت به اشتراک گذاری پرینتر و مدیریت چاپ اسناد
– سرعت بالا در برقرار ارتباط
– مناسب برای شبکه های کوچک خانگی و شبکه های بزرگ تجاری
– سازگار با نسخه های مختلف ویندوز از جمله ویندوز ۷
حال چطور XDMCP را ویرایش کنیم .
تو توزیع های مختلف محل این تنظیمات فرق میکنه تو بعضی ها در شاخه /etc/X11 ودر بعضی ها در /etc/gdm قرار داره . در حقیقت می تونید از فایل های زیر ویرایش کنید . یه فایل با پسوند .conf هست .
/etc/gdm/custom.conf
یا
برای نمونه در دبیان بیس ها و کالی لینوکس در مسیر زیر هست .
/etc/gdm3/daemon.conf
بعد از باز کردن این فایل تو قسمت [xdmcp] مینوسیسم :
Enable=1
یا
Enable=true
بعد یه بار سرویس gdm رو ریستارت میکنیم .
service gdm restart
تکته : در رد هت بیس ها با دستور gdmsetup این کارا رو میشه گرافیکی انجام داد .
نکته : با برنامه xmanager در ویندوز و دادن ip شبکه میتونیم به ماشین در شبکه وصل بشیم .
نکته : :با دستور Xnest در گنو/لینوکسی ها می تونیم به ماشین موجود در شبکه وصل بشیم . برای این کار داریم :
Xnest -query <machine-name- or ip > -geometry <resolution> :1
Xnest -query 192.168.1.4 -geometry 1280x1024 :1
موفق و گنو/ لینوکسی باشید .
نوشته xwindow جادویی در شبکه ها اولین بار در مرجع اپن سورس ، گنو/لینوکس پدیدار شد.