از داهلیا تا رگولیث

این نوشته مرتبط با درس سیستم‌های عاملی‌ست که در این ترم گرفته‌ام...به دنبال پیداکردن یک توزیع برای بررسی‌کردن در تمرین اول از درس سیستم‌های عامل، به توزیع زیبا و جذابِ :/ Dahlia رسیدیم. فریب ظاهر زیبا و جذاب سایتشان را نخورید، داهلیای‌شان هیچ رنگ و بویی از یک توزیع نبرده بود:هنوز اکثر از صفحات زده نشده بود.ترمینالش درست و حسابی کار نمی‌کرد.هنوز نمیشد آن را نصب کرد، صرفا اجرا می‌شد.مستندسازی گیت‌هابشان افتضاح بود (صرفا برای اینکه بگویند ما هم مستندسازی می‌کنیم، یک‌سری صفحه ساخته بودند ولی درون آن صفحات خالی بود)البته انتظاری هم نمی‌رفت، این‌که حجمِ فایل isoی آن‌ها روی هم رفته ۱۵۰مگ باشد، نتیجه‌اش هم همین است. در زیر عکس یکی از دو توسعه‌ی دهنده‌ی اصلی این توزیع را می‌بینید. سن کم او قابل توجه است:Noah Cain توسعه‌ی دهنده‌ی کم‌سن و سالپس از شکست در بررسی توزیع Dahlia، به سراغ Regolith رفتیم تا شاید با بررسی آن بتوانیم جوابی برای تمرین اول درس سیستم‌عامل بنویسیم...رگولیثجناب Regolith یک محیط میزکار است که با حذف پیچیدگی‌ها و تشریفات Ubuntu، Gnome و i3، رابط کاربری سریع‌تری برای استفاده‌ی ما فراهم آورده. اگر در این میزکار در قسمت تنظیمات به سراغ گزینه‌ی about برویم، نام سیستم‌عامل را Ubuntu نوشته که این بدان معناست رگولیث، تقریبا همان Ubuntuست که ظاهرش با i3 کم و زیاد شده.اطلاعات عمومی توزیعتوسعه‌دهندگان اصلی این محیط میزکار Aaron Honeycutt، Julius Francisco ، Alex Bell ، Guillaume Deflaux ، Ken Gilmer ، Law Zava ، Leo Palmer Sunmo ، Moritz Heiber ، Bence Ferdinandy از کشورهای مجارستان، آلمان، نیوزیلند، آمریکا، فرانسه، فیلیپین هستند.رگولیث برای/به‌سفارش هیچ شرکتی توسعه داده نشده و جامعه‌ی مخاطبین خاصی را دنبال نمی‌کند. همچنین می‌توانید ویدئوی جذاب پل‌موثِ این توزیع را از اینجا ببینید :))مشخصات سخت‌افزاربا توجه به این که رگولیث از هسته‌ی Ubuntu استفاده می‌کند، جفتشان با معماری‌های مشابهی سازگار هستند، معماری‌هایی عبارت از:Intel x86AMD64 (x86_64)ARMبرای نصب مناسب رگولیث، حداقل به پردازنده‌ی ۲ گیگاهرتز dual core، صفحه نمایش ۶۰۰*۸۰۰، چهار گیگابایت رم، ۲۵ گیگابایت هارد و کارت گرافیک VGA یا بهتر با رزولوشن ۱۰۲۴*۷۶۸ نیاز داریم. همچین پشتیبانی از قابلیت PAE لازم نیست و در مورد قابلیت ‌NX نیز حرفی زده نشده بود.راستی تا یادم نرفته بگویم که رگولیث، بلوتوث، وای‌فای و وب‌کم را پشتیبانی می‌کند. لیست کارت‌های شبکه‌ای هم که پشتیبانی می‌کند در این لینک آمده است.نصابنصب‌کننده‌ی رگولیث همان نصاب اوبنتو، یعنی Ubiquity است که بر روی آن تغییرات اندکی (در حد ۸ کامیت، مثلا تغییر لوگو) اعمال شده. با وجود تغییرات اما تعداد مراحل نصبِ رگولیث در حد همان ۴-۶ مرحله‌ای که در اوبنتو داشتیم، باقی مانده. فرآیند نصب پیچیدگی خاصی ندارد، مگر وقتی که بخواهیم مقدار هارد مورد نیاز نصب را تنظیم کنیم. آن‌جاست که احتمال پاک‌کردن اطلاعات قبلیمان هست.البته رگولیث روش دیگری نیز برای نصب‌کردن دارد که طبق این لینک، با وارد کردن چند دستور ساده در ترمینال اوبونتو، رگولیث در کنار اوبونتوی فعلی نصب می‌شود.در هنگام یا پس از نصبِ رگولیث برای نصب بسته‌های اضافه، نیاز به اتصال اینترنت داریم.میزکارجناب Regolith خودش یک محیط میزکار است! با این حال برای توسعه‌ی آن از دو میزکار دیگرِ Gnome (که پیش‌فرض خود Ubuntu است) و i3 استفاده شده. اگر بخواهم از شباهتِ رگولیث و ویندوز بگویم، وجودداشتن «پنجره» بزرگترین شباهت است؛ با این تفاوت که پنجره‌های باز شده در رگولیث به صورت tiling در کنار یک‌دیگر قرار می‌گیرند. به تصویر زیر دقت کنید:بدون ذره‌ای جای خالی!از دید من، محیط کاربری رگولیث با تمام سرعت و سادگی‌ای که دارد، کاربرپسند نیست؛ چرا که تمرکز بیشتری روی فراخوانی دستورات با صفحه‌کلید دارد و برای کاربری که دائما با موس کار می‌کند، تعامل‌کردن با چنین محیط میزکاری دشوار است. همچنین در کنار پنجره‌هایی که باز می‌کنیم، دکمه‌ی بستن یا مینیمایز کردنِ صفحه وجود ندارد و به همین خاطر مجبوریم با فشردنِ سه دکمه‌ی windows+shift+q آن صفحه را ببندیم. از نازیبایی‌های دیگری که در مورد رگولیث می‌توانم اشاره کنم، نبودنِ ابزارک‌ها و افزونه‌های ساده به‌طور پیش‌فرض است. احتمالا این کار در راستی همان سبک‌تر شدن و سیاست سادگیِ رگولیث انجام شده.ویژگی مثبت رگولیث اما، امکان شخصی‌سازی‌های فراوان است. از این‌جا می‌توانید در مورد این شخصی‌سازی‌ها بیشتر بخوانید.در ابتدای اجراشدنِ رگولیث، اسکریپتی اجرا شده که تنظیمات اولیه سیستم را انجام میدهد و i3-wm را اجرا می‌کند. همچنین از i3-bar برای نمایش اطلاعات فضای کار و ورودی‌دادن به i3-status استفاده می‌شود. همچنین نام مدیر نمایش رگولیث LightDM است.مدیریت بستهمدیر بسته‌ی پیش‌فرض رگولیث، apt است که یکی از بسته‌های وصله‌زده‌شده به آن، پکیج kubuntu-patched-l10n می‌باشد. رگولیث دارای یک مخزن اختصاصی است و مخزن آیینه‌ای ندارد. برای مشاهده‌ی لیست پکیج‌های استفاده‌شده در رگولیث، می‌توانیم دستور apt list را در ترمینال رگولیث وارد کنیم تا شاهد لیست بلند‌بالایی از پکیج‌ها باشیم:پکیج‌های فراوانمخزن‌های سورسی و امنیتی که رگولیث از آن‌ها استفاده می‌کند، به صورت زیر هستند:سورس:deb http://ir.archive.ubuntu.com/ubuntu/ focal main restricteddeb http://ir.archive.ubuntu.com/ubuntu/ focal-updates main restricteddeb http://ir.archive.ubuntu.com/ubuntu/ focal universedeb http://ir.archive.ubuntu.com/ubuntu/ focal-updates universedeb http://ir.archive.ubuntu.com/ubuntu/ focal multiversedeb http://ir.archive.ubuntu.com/ubuntu/ focal-updates multiversedeb http://ir.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverseامنیت:deb http://security.ubuntu.com/ubuntu focal-security main restricteddeb http://security.ubuntu.com/ubuntu focal-security universedeb http://security.ubuntu.com/ubuntu focal-security multiverseمدیر فایلنام فایل منیجر استفاده‌شده در رگولیث، Nautilus است. برخی از امکاناتی که این مدیر فایل ارائه می‌کند، به صورت زیر است:امکان جست‌و‌جو بین فایل‌های موجود در زیر درخت یک پوشهامکان انتخاب چند فایل به صورت هم‌زمان تغییر نام آن‌هاقابلیت درگ اند دراپامکان تغییر دسترسی‌هاافزودن یادداشت به فایل‌ها یا فولدرهاامکان چوب‌الف یا starکردن بعضی از فایل‌ها و فولدرهادسترسی به فایل‌های تحت شبکهپیش‌نمایش فایل‌هاامکان جابه‌جایی بین تب‌های مختلفامکان سفارشی‌سازی شمایل فایل‌هاپشتیبانی از درهم‌سازی (با نصب افزونه‌ای جدا مانند FreeFileSync)نمایش درصد میزان پیشرفتِ یک انتقال.مدیر فایلِ Nautilus سرعت انتقال فایل‌ها را نمایش نمی‌دهد اما میتوان پکیج pv را نصب کرد و به کمک آن فایل‌ها را انتقال داد. این پکیج سرعت انتقال را نشان می‌دهد. همچنین برای رایت‌کردن روی سی‌دی/دی‌وی‌دی می‌توان از برنامه‌ی کاربردی Brasero استفاده کرد.در مورد پشتیبانی از UTF8 هم باید بگویم که این مدیر فایل به صورت تمام و کمال این فرمت را پشتیبانی نمی‌کند. به عکس زیر نگاه کنید:می‌بینیم که UTF8 به درستی پشتیبانی نمی‌شودامنیتدر رگولیث برای وارد شدن به حساب‌های کاربری مانند اکثر سیستم‌های عامل دیگر، به رمزعبور احتیاج داریم. همچنین برای تغییر در تمامی تنظیماتِ مرتبط با حساب‌های کاربری، نیاز به وارد کردن رمزعبور اکانتِ ریشه است. به‌علاوه، در هنگام نصب یا پاک‌کردن هرگونه پکیج، نیاز به وارد کردن رمزعبور داریم. این کار از نصب بدافزارها و برخی دیگر از حمله‌ها جلوگیری می‌کند. همچنین برای امنیت بیشتر، با نصب یک‌سری برنامه‌ی دیگر می‌توان بر روی فایل‌های مورد نظرمان رمز گذاشت.خدمات ابریِ رگولیث، امکانات اضافه‌تری نسبت به اوبونتو ندارد. می‌توانید امکانات ابری اوبونتو را از اینجا مطالعه کنید.امکان همگام‌سازی حساب‌کاربری و همچنین، امکان همگام‌سازی پرونده‌ها به‌طور پیش‌فرض در رگولیث وجود ندارد. برای این‌کار به ترتیب می‌توان از برنامه‌های OpenLDAP و freefilesync یا grive استفاده کرد.رگولیث قابلیت احراز اصالت با اثر انگشت یا چهره را ندارد، اما نکته‌ی مثبتش این است که در هنگام استفاده از دوربین و یا میکروفون، اول اجازه می‌گیرد و سپس استفاده می‌کند :))ساخت توزیع:رگولیث بر پایه‌ی توزیع Ubuntu و محیطِ میزکارهای Gnome و i3 ساخته شده و متشکل از مجموعه‌ای از کامپوننت‌های open-source است که از لیست این کامپوننت‌ها از طریق این لینک قابل مشاهده است. توسعه‌دهندگان اصلی این پروژه ۹ نفر هستنند اما در کل حدود ۷۰ نفر در توسعه‌ی این توزیع نقش داشتند.برای buildکردن رگولیث، اسکریپتی آماده وجود دارد که از طریق این لینک قابل دسترسی‌ست. پکیج‌های مورد نیاز برای buildکردن رگولیث را نیز می‌توانید در این صفحه مشاهده کنید.مستنداتخوش‌بختانه هم برای کاربران و هم برای توسعه‌دهندگانِ رگولیث، مستندات منظمی آماده شده. سایت اصلی رگولیث ویکی‌ای دارد که در آن همه‌ی مستندات کاربری را به ترتیب قرار داده.در مورد مستندات فنی نیز هم در ویکیِ رگولیث، و هم در گیت‌هاب این پروژه مستندات مناسبی وجود دارد. در مخزن‌های متعددِ این پروژه فایل‌های README.md به نحو مناسبی تکمیل شده‌اند و حتی برای بعضی از فولدرهای تو در تو نیز فایل README.md وجود دارد.در کنار ویکی و گیت‌هاب، رگولیث در اسلک هم حضور فعالی دارد و صاحب یک گروهِ ۶۵۰ نفره است. در این گروه کانال‌های مختلف در مورد مبحث‌های مختلف (مثلا development یا users) وجود دارد. حتی خود من هم تعدادی از سوال‌هایم در مورد رگولیث را در آن‌جا پرسیدم :))من با زبانِ انگلیسی داغون در حال اجازه‌گرفتن برای پرسیدن سوال!و همین.امیدوارم تونسته باشم گزارش نسبتاً خوبی از این محیطِ میزکار ارائه بدم.