راهاندازی خودکار برنامههای اوبونتو هنگام راهاندازی سیستم، در زمان و تلاش شما برای جستجوی دستی و شروع برنامهها صرفهجویی میکند.
ما اغلب متوجه می شویم که برنامه های خاصی را بلافاصله پس از ورود به سیستم خود راه اندازی می کنیم. جستجوی دستی و راهاندازی هر یک از این برنامهها هر بار که سیستم شما بوت میشود، فرآیندی زمانبر است. برخی از برنامه های لینوکس قرار است در هنگام راه اندازی راه اندازی شوند. با این حال، این امکان نیز وجود دارد که برنامه ها، اسکریپت یا دستورات مورد علاقه خود را طوری تنظیم کنید که هنگام راه اندازی سیستم شما به طور خودکار اجرا شوند.
بیایید به برخی از راههای مدیریت برنامههای راهاندازی در اوبونتو نگاهی بیندازیم که شامل روشهای گرافیکی و خط فرمان است.
برنامه ها را در هنگام راه اندازی با استفاده از systemd راه اندازی کنید
systemd که به عنوان مدیر سیستم یا سرویس نیز شناخته می شود اولین فرآیندی است که با بوت شدن سیستم شروع می شود. اکثر برنامه های لینوکس دارای یک سرویس systemd هستند. با systemd، میتوانید برنامههای خود را طوری پیکربندی کنید که وقتی سیستمتان بوت میشود، بهطور خودکار راهاندازی شوند.
برای بررسی اینکه آیا فایل systemd unit برای برنامه شما وجود دارد، از دستور زیر استفاده کنید:
systemctl list-unit-files | grep <program-name>
فرض کنید می خواهید به طور خودکار آپاچی را هنگام راه اندازی سیستم راه اندازی کنید. از دستور زیر برای بررسی اینکه آیا فایل systemd unit برای آن وجود دارد استفاده کنید:
systemctl list-unit-files | grep apache2
اگر فایل systemd unit برای آپاچی وجود داشته باشد، خروجی زیر را خواهید دید:
حالا برای تنظیم آپاچی برای شروع خودکار در هنگام راه اندازی سیستم، از دستور زیر استفاده کنید:
sudo systemctl enable apache2
برای بررسی اینکه آیا سرویس آپاچی در هنگام راه اندازی فعال است یا خیر، از دستور زیر استفاده کنید:
sudo systemctl is-enabled apache2
در صورتی که سرویس به طور خودکار در هنگام راه اندازی سیستم اجرا شود، خروجی باید فعال باشد.
برای حذف خودکار یک برنامه هنگام بوت شدن سیستم، سرویس آن را با استفاده از دستور زیر غیرفعال کنید:
sudo systemctl disable apache2
اگر برنامه ای با یک واحد systemd (سرویس سیستم) ارسال نمی شود، می توانید فایل systemd unit آن را ایجاد کنید تا در هنگام راه اندازی سیستم اجرا شود. برای ایجاد یک فایل واحد مثلا test.service، دستور زیر را اجرا کنید:
sudo nano /lib/systemd/system/test.service
سپس خطوط کد زیر را در فایل واحد اضافه کنید. مطمئن شوید که مقدار دستور ExecStart را با اضافه کردن مسیری به برنامه ای که می خواهید در هنگام راه اندازی اجرا کنید، تغییر دهید.
[Unit]
Description=This is a test service file.
[Service]
Type=simple
ExecStart=<Full-path-of-command>
[Install]
WantedBy=multi-user.target
پس از اتمام، فایل واحد را ذخیره و ببندید.
سپس مجوزهای لازم را به این فایل واحد اختصاص دهید:
sudo chmod 644 /etc/systemd/system/test.service
اکنون فایل systemd unit ایجاد شده است و شما آماده هستید تا برنامه خود را در هنگام راه اندازی با استفاده از دستورات توضیح داده شده در بالا مدیریت کنید.
برنامه ها را هنگام راه اندازی با استفاده از برنامه های راه اندازی گنوم راه اندازی کنید
راه دیگری برای راه اندازی برنامه هایی که اغلب در هنگام راه اندازی استفاده می کنید، استفاده از برنامه های راه اندازی گنوم است. می توانید با فشار دادن کلید فوق العاده و تایپ برنامه های راه اندازی، آن را از منوی برنامه اجرا کنید. یا می توانید با فشار دادن میانبر Alt+F2 و تایپ دستور زیر در کادر محاوره ای Run a Command آن را راه اندازی کنید:
gnome-session-properties
با این کار پنجره Startup Applications Preferences راه اندازی می شود که در آن لیستی از برنامه هایی که قبلاً برای اجرا به عنوان راه اندازی تنظیم شده اند را مشاهده خواهید کرد. برای افزودن یک برنامه جدید به لیست برنامه های راه اندازی، روی افزودن کلیک کنید. با این کار پنجره Add Startup Program باز می شود.
در قسمت نام، نام برنامه ای را که می خواهید اضافه کنید تایپ کنید. سپس در قسمت Command مسیر کامل باینری اجرایی برنامه را ارائه دهید. برای یافتن مسیر کامل برنامه، از کدام دستور و نام برنامه استفاده کنید. به عنوان مثال، برای یافتن باینری قابل اجرا برای Slack، دستور به صورت زیر خواهد بود:
which slack
همچنین، میتوانید بر روی Browse کلیک کنید و برنامه اجرایی را پیدا کنید. همچنین می توانید هر نظر مربوط به برنامه را اضافه کنید. اگرچه اختیاری است پس از اتمام، روی افزودن کلیک کنید. اکنون برنامه را در لیست برنامه های راه اندازی مشاهده خواهید کرد. اطمینان حاصل کنید که کادر کنار برنامه مورد نظرتان علامت زده شده است.
اکنون برنامه های انتخاب شده به طور خودکار با امضای آن در سیستم خود شروع می شوند.
تاخیر در راه اندازی برنامه ها
ممکن است برنامههایی وجود داشته باشند که بخواهید در هنگام راهاندازی بهطور خودکار راهاندازی شوند، اما بلافاصله پس از ورود به آنها نیازی ندارید. می توانید یک تاخیر در راه اندازی این برنامه ها اضافه کنید تا همه برنامه ها همزمان شروع نشوند. این همچنین بار در راه اندازی سیستم را کاهش می دهد.
در پنجره Startup Applications Preferences، برنامهای را که میخواهید شروع به تأخیر بیندازید انتخاب کنید و روی Edit کلیک کنید. در قسمت Command، خواب x را قبل از دستور اضافه کنید که x مقدار زمان (بر حسب ثانیه) برای انتظار قبل از باز کردن برنامه است. فرض کنید می خواهید برنامه Slack را 120 ثانیه پس از راه اندازی سیستم راه اندازی کنید، بنابراین اضافه کنید:
sleep 120; slack
برای حذف یک برنامه از لیست برنامه های راه اندازی، پنجره Startup Applications Preferences را اجرا کنید، برنامه را انتخاب کنید و روی Remove کلیک کنید.
برنامه ها را هنگام راه اندازی با استفاده از Cron Job راه اندازی کنید
Cron job در لینوکس راهی برای برنامهریزی برنامهها، دستورات یا اسکریپتها برای اجرای خودکار در زمانها یا بازههای زمانی مشخص فراهم میکند. با Cron job، میتوانید یک برنامه را بهطور خودکار هنگام راهاندازی سیستم بدون هیچ گونه تعامل دستی اجرا کنید.
Cron job ها به عنوان ورودی های فایل crontab تعریف می شوند. فایل crontab را مستقیماً با استفاده از هر ویرایشگر متنی ویرایش نکنید. در عوض، از دستور زیر برای ویرایش آن استفاده کنید:
crontab -e
ویرایشگری را که می خواهید فایل crontab را در آن ویرایش کنید انتخاب کنید. سپس برای اضافه کردن کار Cron که پس از راهاندازی اجرا میشود، از دستور زیر استفاده کنید:
@reboot
به عنوان مثال، کار Cron زیر می گوید در هر راه اندازی مجدد، فضای دیسک را بررسی کنید و خروجی را در فایل ~/disk-space.txt ذخیره کنید.
@reboot df -h >> ~/disk-space.txt
سپس فایل crontab را ذخیره کرده و خارج شوید.
برای حذف یک برنامه از اجرای در هنگام راه اندازی، به سادگی ورودی Cron job آن را از فایل crontab حذف کنید.
برنامه های ضروری را در هنگام راه اندازی فعال کنید
باز کردن برنامههای مورد علاقهتان در هنگام راهاندازی میتواند بسیار راحت باشد، زیرا میتوانید بلافاصله پس از ورود به سیستم خود، از آنها استفاده کنید. با این حال، بسیاری از برنامه های راه اندازی می توانند فرآیند بوت را طولانی کنند. بنابراین، توصیه می شود در هنگام راه اندازی فقط برنامه های ضروری را فعال کنید و برنامه هایی که گاهی اوقات استفاده می شوند و به طور پیش فرض فعال هستند را غیرفعال کنید.