انواع مختلف شل و محیط گرافیکی در لینوکس
این مقاله بخشی از کتاب لینوکس ما بوده و شما برای مطالعه کامل آن میتوانید به بخش محصولات مراجعه فرمایید.
زمان مطالعه: 10 دقیقه
انواع مختلف شل و محیط گرافیکی در لینوکس قابل دسترس است. شل (مانند bash، dash، zsh، و korn) یک روشی برای شروع برنامهها، مدیریت برنامهها و همچنین مدیریت پردازشهای در حال اجرای در سیستم عامل لینوکس است. اما کاربران با محبوبیت سیستم عامل ویندوز این انتظار را داشتند که امکان ارتباط آنها با سیستم لینوکس با رابطهای گرافیکی مختلفی مانند unity، Gnome، KDE، XFCE، LXDE، Mate باشدد. لازم به ذکر است که هر توزیع لینوکس دارای واسط دستوری و هم گرافیکی است.
لینوکس یکی از مهمترین پیشرفتهای تکنولوژیکی قرن بیست و یکم است. توسعه لینوکس فراتر از تأثیر آن بر رشد اینترنت و جایگاه آن به عنوان یک فناوری توانمند به الگویی تبدیل شده که نشان میدهد پروژههای مشارکتی چگونه میتوانند از کارهایی که افراد و شرکتها به تنهایی انجام میدهند، پیشی بگیرند.
سیستم عامل لینوکس جهان را در برگرفته و کاربران میتوانند این نوع سیستم را تقریبا در همه جا پیدا کنند. سیستم عامل لینوکس را میتوان در تلفن، یخچال، کنسولهای بازی (PlayStation) و یا سرورهای لینوکس (که سایتهای معروف اینترنتی را اجرا میکنند) مشاهده کرد.
نکته) سیستم عامل متشکل از یک کرنل و یکسری ابزارهای مختلف است.
بخشهای اصلی لینوکس از سه لایهی تشکیل شده که شامل موارد زیر میباشد و هر کدام کار خاصی را انجام میدهند.
- لایهی سختافزار
- لایهی کرنل (هسته)
- لایهی کاربر (شامل ابزارهای GNU و انواع مختلف شل (shell) و محیط گرافیکی در لینوکس، برنامههای کاربردی مانند سرویس FTP و غیره است)
![لایه های مختلف یک سیستم](https://www.dl.ngsacademy.com/layer%20of%20kernel.png)
شکل1) بخشهای اصلی لینوکس از سه لایهی سختافزار، کرنل و کاربر تشکیل شده است.
منظور از انواع مختلف شل و محیط گرافیکی در لینوکس چیست؟
یک سیستم عامل در کنار داشتن کرنل برای کنترل دستگاههای سختافزاری نیاز به ابزارهایی دارد که بتواند یکسری از کارهای معمول مانند کنترل برنامهها و فایلها را انجام دهد. همانطور که میدانید آقای لینوس توروالدز، کرنل سیستم لینوکس را ایجاد کرده بود ولی هیچ ابزار سودمندی (System utility) برای اجرای در آن را نداشت.
ابزارهای سودمند، گونهای از ابزارهای سیستمی هستند که به منظور تسهیل امور مرتبط با آنالیز، پیکربندی، بهینهسازی (بهبود کارایی) و نگهداری یک رایانه به کار میروند. به عبارت بهتر این ابزارها معمولا برای پشتیبانی از زیرساختهای رایانه و مدیریت منابع سیستم مورد استفاده قرار میگیرند. خوشبختانه در همان زمان گروهی در تلاش بودند که بتوانند مجموعهای استاندارد از ابزارهای سودمند را از سیستم عامل محبوب یونیکس تقلید و تهیه کنند.
سازمان GNU (مخفف GNU Not Unix) مجموعه کاملی از ابزارهای سودمند (به عنوان مثال دستورهایی مانند fdisk و نرمافزارهایی مانند Office ،Photoshop ، Outlook را شامل میشود) را توسعه داده بوند ولی کرنلی برای اجرای آنها نداشتند. این ابزارهای سودمند تحت نرم افزار منبع باز (Open source software) توسعه یافتهاند.
متحد شدن کرنل Linus با برنامههای سودمند GNU، یک سیستم عامل کامل، کاربردی و رایگان به نام لینوکس (برخی از ناظران لینوکس از آن به عنوان سیستم عامل GNU/Linux نام میبرند تا به سازمان GNU برای کمکهایش در این هدف اعتبار دهند) را ایجاد کرد.
نکته) هدف پروژه GNU، ارائه طیف کامل از نرمافزارهایی است که کاربران میخواهند داشته باشند؛ شامل مجموعهای از برنامهها، کتابخانهها و ابزارهای توسعهدهنده، انواع مختلف شل و محیط گرافیکی و غیره است. لیستی از این ابزارهای را میتوان در وبسایت https://www.gnu.org/software/ مشاهده کرد.
انواع مختلف شل در سیستم لینوکس
شل (shell)، یکی از ابزارهای سودمند است که رابط بین کاربر و کرنل است. همچنین شل یک روشی برای شروع برنامهها، مدیریت برنامهها و همچنین مدیریت پردازشهای در حال اجرای در سیستم عامل لینوکس است. خط دستور (command prompt) بخش اصلی یک شل است که به کاربر امکان وارد کردن دستورات را میدهد (حتی میتوان یک برنامه را هم اجرا کرد) و سپس این دستورات توسط شل تفسیر و در کرنل اجرا میشوند.
شل (shell)، شامل مجموعهای از دستورات است که میتوان برای مواردی مانند کپی کردن فایلها، انتقال فایلها، تغییر نام فایلها و نمایش پردازشهای در حال اجرای استفاده کرد. همچنین میتوان پردازشهای در حال اجرا را متوقف کرد. علاوه بر این کاربران میتوانند دستورات خود را در یک فایل قرار داده تا به عنوان یک برنامه اجرا شوند که اصطلاحا به این نوع فایلها شل اسکریپت گفته میشود.
شلهای مختلفی مانند bash، dash، zsh، tcsh و korn برای سیستم لینوکس در دسترس است (جدول1). شلها دارای ویژگیهای مختلفی هستند که تعدادی از آنها برای ایجاد اسکریپت و برخی دیگر برای مدیریت پردازشها کاربردی هستند. شل bash، شل پیش فرض مورد استفاده در تمامی توزیعهای لینوکس است. این شل توسط پروژه GNU به عنوان جایگزینی برای شل استاندارد یونیکس توسعه یافته است.
شل |
توضیحات |
ash | یک شل ساده و سبک است که قابلیت اجرا در محیطهای با RAM پایین و سازگاری کاملی با شل bash دارد. |
korn | یک شل مناسب برای برنامهنویسی است که با شل Bourne سازگار بوده و از ویژگیهای پیشرفته برنامهنویسی مانند آرایهها و محاسبات اعشاری پشتیبانی میکند. |
tcsh | یک شلای است که عناصری (element) از زبان برنامه نویسی C را در شل اسکریپت ارائه میدهد. |
zsh | شل پیشرفتهای است که ویژگیهایی از شلهای bash، tcsh و korn را در خود جای داده و امکان برنامهنویسی پیشرفته را هم ارائه میدهد. |
نکته) اکثر توزیعهای لینوکس دارای بیش از یک شل هستند که معمولاً یکی از آنها به عنوان شل پیشفرض انتخاب شده است.
انواع مختلف محیط گرافیکی در سیستم لینوکس
در اوایل معرفی سیستم لینوکس (اوایل دهه 1990) یک رابط دستوری برای ارتباط بین کاربر و کرنل وجود داشت (منظور همان شل است). همانطور که در بالا هم گفته شد این رابط دستوری امکان اجرا، کنترل برنامهها و همچنین امکان انتقال فایلها را به نقاط مختلف سیستم میدهد.
کاربران با محبوبیت سیستم عامل ویندوز این انتظار را داشتند که امکان ارتباط آنها با سیستم لینوکس بیش از یک رابط دستوری باشد. بنابراین این نیاز در کاربران منجر به گسترش حداقل 6 نوع محیط گرافیکی مختلف مانند unity، Gnome، KDE، XFCE، LXDE، Mate و غیره شده است.
نکته) لازم به ذکر است که هر توزیع لینوکس دارای واسط دستوری و هم گرافیکی است. به طور مثال توزیع Ubunto به صورت پیشفرض دارای واسط دستوری bash و واسط گرافیکی unity است (شکل2 تا 6).
![توزیع لینوکس ubunto با محیط گرافیکیunity و شل bash](https://www.dl.ngsacademy.com/pic/Unity.png)
شکل2- توزیع لینوکس ubunto با محیط گرافیکیunity و واسط دستوری bash
![توزیع لینوکس openSUSE با محیط گرافیکی KDE 4](https://www.dl.ngsacademy.com/pic/Best%20KDE%20Linux%20Distributions%20For%20Your%20Desktop%20_%20LinuxAndUbuntu.jpg)
شکل3- توزیع لینوکس openSUSE با محیط گرافیکی KDE 4
![توزیع لینوکس centOS با محیط گرافیکی GNOME (محبوب ترین واسط گرافیکی در redhat-base ها است)](https://www.dl.ngsacademy.com/pic/24.png)
شکل 4- توزیع لینوکس centOS با محیط گرافیکی GNOME (محبوب ترین واسط گرافیکی در redhat-base ها است)
![توزیع لینوکسmint با محیط گرافیکی Cinnamon](https://www.dl.ngsacademy.com/pic/The%20Linux%20Mint%20Blog.png)
شکل 5- توزیع لینوکسmint با محیط گرافیکی Cinnamon
![توزیع لینوکس Pupy با محیط گرافیکی JWM (مناسب برای سیستم های قدیمی)](https://www.dl.ngsacademy.com/pic/6pPdfVM.jpeg)
شکل 6- توزیع لینوکس Pupy با محیط گرافیکی JWM (مناسب برای سیستم های قدیمی)
این مقاله بر گرفته از کتاب لینوکس (lpic1 ) میباشد
کتاب لینوکس (lpic1)
253,000 تومان![کتاب لینوکس](https://www.ngsacademy.com/wp-content/uploads/2023/07/emailmarketing.jpg)