لینوکس زمانی که کاربر وارد اکانت کاربری خود می شود یک شل ورود راه اندازی می کند. بنابراین شل های ورود به سیستم چیست و چگونه می توانید بفهمید که آیا در حال اجرا هستید یا خیر؟ لاگین شل در لینوکس چیست؟
شما ممکن است هر روز از شل لینوکس استفاده کنید، اما نحوه استفاده از آن تا حد زیادی رفتار آن را تعیین می کند. شاید در مورد تفاوت شل لاگین و شل غیر لاگین شنیده باشید. و در حالی که ممکن است در ابتدا به وضوح ظاهر نشود، تفاوت های متعددی بین این دو نوع شل وجود دارد.
در اینجا همه چیزهایی است که باید در مورد شل های لاگین در لینوکس بدانید.
شل ورود چیست؟
شل ورود دقیقاً همان است: شلی که با ورود مستقیم به دستگاه لینوکس راه اندازی می شود. هنگامی که از یک کنسول مجازی یا از طریق SSH وارد سیستم خود می شوید، شلی که شروع می شود یک شل ورود است.
در مقابل، اگر یک پنجره ترمینال را راه اندازی کنید، آن جلسه شل معمولاً یک شل ورود نیست. هنگامی که یک شل فرعی را با تایپ کردن نام شل در خط فرمان راه اندازی می کنید، همینطور است. این شل فقط یک شل تعاملی است.
تفاوت اصلی بین این دو در رفتار شل است. شل اغلب فقط فایلهای خاصی را هنگام راهاندازی میخواند. Bash فایلهای /etc/profile را میخواند، سپس فایلهای bash_profile، .bash_login و .profile را در فهرست اصلی شما تنها در صورتی میخواند که به عنوان شل ورود به سیستم تنظیم شده باشد.
چگونه بفهمیم که از شل ورود استفاده میکنید یا خیر؟
به راحتی می توان فهمید که آیا شل ورود به سیستم را اجرا می کنید یا خیر. اگر شل خود را از برنامه ترمینال دسکتاپ راه اندازی کرده اید، به احتمال زیاد راه اندازی نمی کنید، مگر اینکه در محیط ترمینال دیگری مانند WSL یا ترمینال macOS باشید.


با این دستور می توانید بررسی کنید که آیا شل ورود به سیستم را اجرا می کنید.
echo $0
اگر از شل لاگین استفاده می کنید، نام شل را با خط فاصله (-) می بینید. اگر نه، فقط نام شل را خواهید دید.
تنظیم لاگین شل در لینوکس
برای تنظیم شل لاگین خود، از دستور chsh استفاده کنید. شما میتوانید شل ورود خود را روی مسیر مطلق هر شل فهرست شده در /etc/shells تنظیم کنید.
برای شروع هر شل به عنوان شل ورود، معمولاً می توانید از گزینه خط فرمان استفاده کنید. به عنوان مثال، برای شروع Bash به عنوان یک شل ورود:
bash --login
اگر از دسکتاپ لینوکس استفاده می کنید، اغلب می توانید مشخص کنید که هنگام باز کردن پنجره ترمینال کدام دستور اجرا شود. اگر می خواهید شل شما به عنوان شل ورود به سیستم اجرا شود، می توانید آن گزینه را در آنجا قرار دهید.
اکنون در مورد Login Shells می دانید
اکنون باید بفهمید که شل های ورود چیست. راهاندازی شل، چه مستقیماً از کنسول یا از پنجره ترمینال، نحوه رفتار آن را مشخص میکند.
اگر در لینوکس تازه کار (مبتدی) هستید، ممکن است تعجب کنید که کدام شل بهترین است. میتوانید از Bash پیش فرض استفاده کنید، یا میتوانید ویژگیهای ویژهای که شل های جایگزین مانند Fish یا Zsh ارائه میدهند را بررسی کنید.