شخصی سازی، از گراب تا دسکتاپ

درود،

در اینترنت کلی آموزش  شخصی سازی دسکتاپ‌های مختلف  وجود داره، معمولا کم پیش میاد  که آموزش شخصی سازی گراب یا Plymouth یا مدیر ورود‌ها را داشته باشیم، برای همین تصمیم گرفتم در این مقاله بر عکس همیشه در مورد اتفاقاتی که قبل از دیدن دسکتاپ می‌اُفته باشه.

قراره در مورد سه مبحث گراب، Plymouth  و  Display manger صحبت کنم و توضیح بدم که این سه ابزار اصلا چی‌ هستند و چه کاری در سیستم انجام می‌دن و همین‌طور شاخه‌های مربوط بهشون در یک توزیع گنو/لینوکسی در چه مسیر‌هایی قرار دارند و چطوری میشه تنظیم‌شون کرد و تغییرات در اون‌ها ایجاد کرد.

گراب:

به صورت خلاصه گراب یه بوت لودر هست که با مجوز GPL توسعه داده میشه و یک نرم‌افزار آزاد هست، گراب به شما کمک می‌کنه که هنگام بالا اومدن کامپیوترتون یک سیستم‌ عامل را انتخاب کنید و نسبت به اون انتخاب تصمیم بگیرید با چه نسخه‌ای از کرنل اجرا بشه و …

Plymouth:

بعد از گراب و کرنل، سیستم‌دی شروع می‌کنه به بارگذاری کردن ماژول‌ها و سرویس‌ها و در هنگام بالا اومدن سیستم یه خروجی از وضعیت کارش روی صفحه چاپ می‌کنه، plymouth به  شما کمک می‌کنه که به جای اینکه اون خروجی‌ها را ببینید، یک صفحه دیگه براتون بیاد و دیگه وضعیت سرویس‌ها نمایش داده نشه، به جاش مثلا ممکنه لوگوی توزیع‌تون را بیاره یا هر چیز دیگه‌ای که خودتون انتخاب می‌کنید.

Display Manager:

مدیر ورود بهتون کمک می‌کنه تا بین میزکار‌هاتون یکی را انتخاب کنید و اون را با پروتکل کامپوزیتور (مثل Xrog یا Wayland یا MIR , …) دلخواه بالا بیارید، البته خب برای تنظیم پروتوکل‌ها باید  از جای دیگه‌ای اقدام کنید و مستقیما نمی‌تونید از خود DM انتخاب کنید، مگر میزکار‌هایی که خودشون با دوتا نشست ارائه بشن، مثل گنوم شل،‌ ممکنه بعضی میزکار‌ها هم با بعضی از پروتوکل‌های کامپوزیتور مشکل داشته باشند، این‌ها  را دیگه خودتون باید بررسی کنید.

در ادامه مطلب درباره‌ی شخصی سازیشون صحبت می‌کنیم 🙂

پرونده‌ی تنظیم گراب در این مسیر قرار داره:

این محتویات پرونده‌ی منه:

قبلا از اینکه راجع تنظیمات خودم صحبت کنم، یه نگاهی به خروجی دستور زیر بندازید:

 

 

اینا یه سری تم هستند برای گراب، البته بازم هست ولی خب من عبارت grub-themes را جستوجو کردم، اگر grub جستوجو می‌کردم نتایج بیشتر بود ولی خب همشون هم تم نبودند، از گیت‌هاب هم می‌تونید تم گراب پیدا کنید، تم‌های گراب عموما در این مسیر قرار دارند:

ولی خب بعضی تم‌ها هم مثل breeze در اون مسیر قرار ندارند، اگر بسته‌ی grub-breeze را نصب کنید احتمالا باید اینجا دنبالش باشید:

هر تمی که شما نصب می‌کنید، درون شاخه‌ی مربوطه یه پرونده به اسم theme.txt داره که شما اون را باید به پرونده‌ی تنظیم گراب معرفی کنید.

تصویر زیر تم سیستم من یعنی تم arch-leap هست که در AUR موجوده:

 

برای اینکه بتونید این تم را نصب کنید، می‌تونید از فرمان زیر کمک بگیرید:

البته اگر از توزیع دیگه‌ای استفاده می‌کنید، می‌تونید این تم را از اینترنت تهیه کنید و در اون مسیری که بالاتر براتون توضیح دادم، قرار بدید!

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

خط یکی مونده به آخر مربوط میشه به تم گراب، که شما در اون مسیر تم خودتون را ارائه می‌کنید، اگر مثل من تم arch-leap را نصب کردید، اینطوری باید باشه تنظیماتتون:

یکی دیگه از انتخاب‌های نسبتا مهم GRUB_CMDLINE_LINUX_DEFAULT هست که من برابر quiet splash قرارش دادم تا اطلاعات را روی صفحه چاپ نکنه و یه بوت بی سر و صدا تر داشته باشم.
بقیه‌ی گزینه‌ها را هم می‌تونید از صفحه‌ی گراب در ویکی آرچ مطالعه کنید.

بعد از اینکه گراب را از طریق اون پرونده تنظیم کردید، با دستور زیر تغییرات را اعمال می‌کنید:

خروجی باید شبیه به این باشه و در پایان done نمایش داده بشه:

 

بریم سراغ plymouth:

قبل از شروع دو پیوند بهتون معرفی می‌کنم که جای هیچ ابهامی باقی نمونه، اول از همه صفحه‌ی مربوطه در ویکی آرچ و سپس آموزش محمدرضا عزیز در انجمن پارسی آرچ لینوکس که به خوبی توضیح داده.
برای نصب این بسته از AUR اقدام می‌کنیم، پس با یه AUR Helper (در اینجا Pacaur) بسته را نصب می‌کنیم:

بعد از اینکه بسته نصب شد،  پرونده‌ی زیر را باز کنید:

و با کلید‌های ctrl + w، عبارت HOOKS را جستوجو کنید و خط مربوط به HOOKS را اینگونه تغییر بدید:

همون‌طور که می‌بینید، در خط بالا plymouth را قرار دادیم، plymouth بعد از base و udev قرار داده شده، پس شما هم همین‌طور قرارش بدید، حالا فرمان زیر را اجرا کنید:

در فرمان بالا mkinitcpio یه بش اسکریپت هست که از bin فراخوانی میشه:

اگر می‌خواهید بدونید این ابزار دقیقا چیکار می‌کنه، از فرمان زیر استفاده کنید و Man page مربوطه را مطالعه کنید:

لینک رو به رو هم می‌تونه کمک کنه: https://wiki.archlinux.org/index.php/Mkinitcpio#Overview

ابتدا باید بدونید که plymouth برای ارائه تصویر از KMS استفاده می‌کند، برای فعال سازی KMS باید ماژول مربوط به درایور کارت گرافیک خود را در پرونده‌ی mkinitcpio.conf اضافه کنید:

این پرونده را با یک ویرایشگر متن مانند nano باز کنید و در قسمت MODULES ماژول مربوط به کارت گرافیک خودتون را بنویسید،‌ مثلا برای من که اینتل دارم:

همون‌طور که می‌بینید من i915 را که مربوط میشه به گرافیک اینتل قرار دادم که البته ممکنه کارت گرافیک شما مثل من اینتل نباشه در این صورت باید در قسمت زیر:

مقدار دیگه‌ای را وارد کنید، برای اینکه بدونید دقیقا باید چی وارد کنید شاید یادداشت زیر کمکتون کنه:

پس نسبت به یادداشت بالا و کارت  گرافیکتون اون قسمت را پر کنید، برای مثال اگر ATI دارید:

 

اکنون ایمیج کرنل را باز نویسی میکنیم:

و البته مثل همیشه، حتما ویکی را مطالعه کنید، اگر به هر گونه مشکلی خوردید حتما صفحات plymouth و nvidia و  ATI و KMS را در ویکی مطالعه کنید.

 

خب برسیم به انتخاب تم برای plymouth، از این  پیوند می‌تونید تم‌های موجود در AUR را ببینید.

من از تم Arch-breeze استفاده می‌کنم که این شکلی هست:

 

البته تم Dark Arch هم بسیار زیبا هست که تصویرش را براتون قرار می‌دم:

 

همه‌ی این‌ها در AUR وجود داره فقط کافیه جستوجو و سپس نصبشون کنید:

برای مثال arch-breeze:

بعد از نصب می‌تونید اینطوری فعالش کنید:

برای دیدن تم‌های موجود و نصب شده هم:

دوباره ایمیج کرنل را می‌سازیم:

پرونده‌ی مربوط به plymouth در شاخه‌ی etc:

باید برای یکپارچه سازی به جای سرویس‌های مدیر ورود‌هاتون از سرویس‌های جایگزینش که مربوط میشه به plymouth استفاده کنید، پس نسبتا به مدیر ورودتون با کلید f سرویس‌های مربوطه را فعال کنید:

برای مثال اگر از lightdm استفاده می‌کنید:

فقط کافیه ریبوت کنید 🙂

 

خب داریم به دسکتاپ نزدیک می‌شیم، رسیدیم به Display Manager:

مدیر ورود‌های زیادی وجود دارند، مثل slim، gdm، sddm، لایت دی ام و غیره، که من در این آموزش تصمیم گرفتم در مود Lightdm صحبت کنم، هر چند در مورد بقیه هم مطمئنا با جستوجو به نتایج مطلوب می‌رسید.

لایت دی ام از یه سری رابط کاربری استفاده می‌کنه که اصطلاحا بهشون می‌گن Greeter، در ادامه در مورد Greeter-themes صحبت می‌کنم و چندتاشون را معرفی می‌کنم ولی قبل از اون این پیوند‌ها را مطالعه کنید:

https://wiki.archlinux.org/index.php/GDM
https://wiki.archlinux.org/index.php/SLiM
https://wiki.archlinux.org/index.php/LightDM
https://wiki.archlinux.org/index.php/SDDM

خب با یه جستوجوی ساده در مخازن به این نتایج می‌رسیم:

 

همون‌طور که مشاهده می‌کنید Greeter‌های مختلفی در AUR و مخازن رسمی وجود داره، هر چند ممکنه بعضی‌هاشون مناسب نباشند یا نتونید اون‌ها را پیاده کنید و …
من از گریتر webkit2 استفاده می‌کنم که می‌تونید تصاویرش را ببینید:

 

 

برای نصبش از AUR:

بعد از اینکه نصبش کردید، پرونده‌ی زیر را باز کنید:

حالا کافیه از قسمت [*:Seat] را greeter-session را پیدا کنید و اینطوری قرارش بدید:

در نهایت پرونده‌ی متنی را ذخیره کنید، خارج شید و ریبوت کنید.

 

خب این مقاله هم تموم شد، هر نظری یا پیشنهادی دارید خوشحال می‌شم باهام در میان بذارید، اگر فکر می‌کنید این مقاله می‌تونه کامل‌تر باشه قسمت‌های مورد نظرتون را برام بفرستید تا اضافه کنم.
موفق باشید.

درباره نویسنده: حسین حیدری

علاقه مند به انیمه، مانگا، گنو/لینوکس و برنامه نویسی :)

مطالب زیر را حتما بخوانید

4 دیدگاه

  1. سلام، خیلی عالی بود و چیزای خوبی یاد گرفتم. یه سوال و یه درخواست داشتم. سوال اینکه در لایت دی ام‌ برای من هنگام ورود پسورد زبان کیبرد به حالتی هست که در اون وضعیت سیستم رو خاموش کردم ولی من دوس دارم همیشه انگلیسی باشه(نه گاهی انگلیسی و گاهی فارسی) ممکنه راهنمایی کنی چطور اینکارو انجام بدم؟؟
    و اینکه لطفا درباره کامپوزیتور و نقش اش و تفاوت های xorg و wayland رو یه توضیح بدی. می خام بدونم تفاوتشون برای یه کاربر که یه استفاده کننده ی معمولی هست و چیزی از کامپیوتر نمی دونه چیه؟
    متشکر

    1. درود امید عزیز،

      در مورد سوال اول احتمالا اگر مقدار LANG=en_US.utf8 را در پرونده‌ی متنی etc/environment/ قرار بدی، مشکل حل بشه!

      در مورد سوال دوم، ابتدا دقت کن که کامپوزیتور منیجر با کامپوزیتور پروتکل فرق داره! کامپوزیتور منیجر‌ها میشن مثل compiz و muffin و mutter و compton ولی کامپوزیتور پروتکل میشه مثل Xorg و Wayland، کار کامپوزیتور منیجر اینکه یه سری حالت انیمیشنی روی دسکتاپ اجرا میکنه ولی کامپوزیتور پروتکل خود تصویر را ارائه میکنه! در مورد تفاوت‌هاشون هم چیزی نمی‌دونم فعلا و مطالعه‌ای نداشتم و به نظرم نیاز یه کاربر معمولی نیست که بدونه، هر چند اگر دوست داری به صورت حرفه‌ای یادبگیری مفاهیم را می‌تونی توی اینترنت در موردش تحقیق کنی، خودمم اگر در موردش چیزی خوندم همینجا می‌نویسم.

      1. سلام. ممنون از لطف و راهنمایی ت. متاسفانه راه حل ی که گفتین جواب نداد ولی کامپوزیتور ها رو فهمیدم. خیلی متشکرم از پاسخ کامل و ساده ای که دادی.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *