هدف از این مطلب چگونگی اجرای یک شل اسکریپت در زمان ورود به لینوکس (یا هر سیستم عامل یونیکسی دیگر) با میزکار گنوم و در زمان خروج از لینوکس (یا هر سیستم عامل یونیکسی دیگر) با میزکار گنوم است. یک اسکریپت می تواند هر وظیفه ای را انجام دهد. فایل شل اسکریپت به طور مثال در مسیر usr/local/bin/ ذخیره و به آن مجوز اجرا داده می شود.سپس مسیر فایل را به درون فایل های مناسب معرفی خواهیم کرد تا در زمان مناسب (ورود یا خروج از سیستم)، آن اسکریپت اجرا شده و وظیفه خودش را انجام دهد. gdm برگرفته از gnome display manager یک مدیر نمایش و برنامه ای گرافیکی برای ورود به سیستم عامل و تحت میزکار گنوم است. gdm خود یک سرویس پس زمینه یا Background Process است که تحت کنترل فرایند init یا systemd است. مطلب “چگونگی بوت شدن سیستم لینوکسی تا ورود به سیستم” در حالت ورود به سیستم و بدون میزکار را می توانید مطالعه کنید. تمامی کار در حالت گرافیکی مشابه حالت پیش است با این تفاوت که در اینجا gdm در گنوم یا kdm در kde وظیفه اعتبار سنجی کاربر را دارند.
به هر حال این مطلب برای میزکار گنوم و چگونگی اجرای اسکریپت ها است. دایرکتوری etc/gdm/ حاوی فایل ها و دایرکتوری های پیکربندی سراسری برای گنوم و سرویس gdm است.
ls -l /etc/gdm
در شکل بالا سه دایرکتوری که آبی رنگ هر کدام شامل فایلی به نام Default وجود دارد که مسیر اسکریپت هایی که می خواهیم اجرا شوند، درون هر کدام از این فایل ها معرفی می شوند. برای اجرای اسکریپت در زمان login از فایل Default زیر دایرکتوری etc/gdm/PostLogin/ و از فایل Default برای اجرای اسکریپت در زمان logout از زیر دایرکتوری etc/gdm/PostSession/ استفاده می کنیم.
فرض می کنیم اسکرپت exec_login.sh برای اجرا شدن در زمان login و اسکریپت exec_logout.sh برای اجرا شدن در زمان logout باشد. نخست لازم است که با دستور زیر مجوز اجرایی را به آنها اعطا کنیم.
chmod +x /path/to/exec_login.sh
chmod +x /path/to/exec_logout.sh
حال با مجوز root باید مسیر فایل ها را به هر کدام از فایل های Default معرفی می کنیم.
echo “. /path/to/exec_login.sh” >> /etc/gdm/PostLogin/Default
echo “. /path/to/exec_logout.sh” >> /etc/gdm/PostLogin/Default
چند مورد در ارتباط با دستور های بالا
- نقطه ای که پیش از مسیر منتهی به فایل ها وجود دارد برای اجرا شدن اسکریپت است که می توانید مطلب “آشنایی با BASH – بخش سیزدهم (چگونه شل اسکریپت ها را اجرا کنیم)” را بخوانید.
- علامت << برای الحاق خط پیش از آن به فایل پس از آن است به گونه ای که خط جدید به انتهای فایل و در انتهای تمامی خطوط بالا درج می شود.