كيفية تشغيل أوامر Linux والبرامج النصية تلقائيًا عند إعادة تشغيل النظام

How Run Linux Commands



يمكن أن يكون تشغيل التطبيقات والبرامج النصية تلقائيًا عند بدء التشغيل مفيدًا لأتمتة مهام وأحداث التمهيد الشائعة. تشرح هذه المقالة بعض الطرق التي يمكن استخدامها لتشغيل التطبيقات والبرامج النصية عند إعادة تشغيل جديدة أو تسجيل دخول جديد.

تطبيقات بدء التشغيل

تأتي Ubuntu والتوزيعات الأخرى المستندة إلى GNOME مع تطبيق يسمى ببساطة تطبيقات بدء التشغيل. يمكن استخدامه لإدارة التطبيقات والبرامج النصية التي تعمل عند إعادة تشغيل نظام جديد أو تسجيل الدخول.







قم بتشغيل تطبيق Startup Applications (تطبيقات بدء التشغيل) من مشغل التطبيق وانقر فوق الزر Add (إضافة) لإضافة إدخال جديد.





املأ حقلي الاسم والأمر حسب احتياجاتك ، ثم انقر فوق الزر 'إضافة' لإنهاء إنشاء إدخال جديد. سيرسل الإدخال الذي تم إنشاؤه في لقطة الشاشة أدناه 'إجراء تذكير بالنسخ الاحتياطي' كإخطار للنظام عند كل إعادة تشغيل / تسجيل دخول. يمكنك استبداله بأمر خاص بك أو بالمسار الكامل لبرنامج bash النصي الخاص بك. يمكنك أيضًا استخدام أي أمر نظام موجود أو ملفات تنفيذية موجودة عادةً في مجلدات bin مختلفة عبر نظام الملفات.





كما هو مذكور أعلاه ، يتم عرض تذكير احتياطي عند كل إعادة تشغيل.



سيستم د

Systemd هو برنامج خفي ومدير خدمة يحتوي على أدوات مساعدة مختلفة لإدارة عمليات النظام ومكونات نظام التشغيل. في شكله المبسط ، يتم استخدامه عادةً لبدء الخدمات وإنهائها في دورة تمهيد جديدة.

يمكن استخدام Systemd لتشغيل تطبيق تلقائيًا أو تشغيل برنامج نصي على تمهيد جديد. لإنشاء نفس إشعار تذكير النسخ الاحتياطي الموضح أعلاه ، عليك أولاً إنشاء المجلدات والملف المطلوبين عن طريق تشغيل الأوامر أدناه:

$مكدير -p~/.config/النظام/المستعمل
$نانو~/.config/النظام/المستعمل/خدمة النسخ الاحتياطي

استبدل nano بأمر محرر النصوص المفضل لديك. استبدل backup_reminder بأي اسم آخر تفضله.

الصق الكود أدناه في ملف backup_reminder.service الذي تم إنشاؤه باستخدام الأمر أعلاه.

[وحدة]
الوصف = يرسل تذكيرًا احتياطيًا عند كل إعادة تشغيل
PartOf = جلسة رسومية

[خدمة]
ExecStart = نوم bash -c '10 ؛ إعلام-إرسال 'عمل نسخة احتياطية'
اكتب = ونشوت

[تثبيت]
WantedBy = جلسة رسومية

الكود أعلاه واضح ومباشر. يرسل إشعار إجراء نسخ احتياطي بعد 10 ثوانٍ من تحميل الجلسة الرسومية (مرة واحدة كل إعادة تشغيل أو تسجيل دخول).

قم بتشغيل الأوامر أدناه لتمكين الخدمة بحيث يمكن تشغيلها تلقائيًا عند كل إعادة تشغيل.

$chmod 644~/.config/النظام/المستعمل/خدمة النسخ الاحتياطي
$ systemctl--المستعمل ممكنخدمة النسخ الاحتياطي
$ systemctl--المستعملعفريت إعادة تحميل
إعادة التشغيل

هذا مجرد مثال بسيط على تشغيل أمر أساسي عند التمهيد باستخدام systemd. يمكنك أيضًا إنشاء خدمات متقدمة بشروط متعددة وأوامر متعددة. لمزيد من المعلومات ، راجع صفحة دليل systemd عن طريق تشغيل الأمر أدناه:

$رجلالنظام

لاحظ أن هذا المثال يشرح إنشاء خدمة جديدة لا تتطلب الوصول إلى الجذر وتكون مناسبة لتطبيقات التشغيل التلقائي التي لا تتطلب أذونات الجذر. إذا كنت تريد بدء البرامج النصية تلقائيًا التي تتطلب الوصول إلى الجذر ، فيجب عليك إنشاء خدمة systemd جديدة في دليل / etc / systemd / system بدلاً من مجلد المستخدم ~ / .config / systemd / وإهمال تبديل المستخدم في الأوامر المذكورة أعلاه.

وظيفة كرون

Cron هي أداة يمكنها تشغيل المهام المجدولة بشكل دوري وفقًا للشروط التي يحددها المستخدم. يتم إنشاء هذه الوظائف المجدولة في Crontab بتنسيق محدد مسبقًا. بعبارات بسيطة ، تخبر Crontab Cron بالوظائف التي يجب تشغيلها في أي وقت.

مثل systemd ، يمكن استخدام وظائف crontab لتشغيل التطبيقات وتشغيل البرامج النصية تلقائيًا عند التمهيد. لإضافة وظيفة cron جديدة ، قم بتشغيل الأمر أدناه:

$كرونتاب

أضف الأسطر التالية في نهاية الملف النصي (يتم تشغيل محطة جنوم تلقائيًا عند كل إعادة تشغيل):

شل = / بن / باش
@ reboot sleep 30 && DISPLAY =: 0 طرف جنوم

يمكنك استخدام الأمر الخاص بك أو توفير المسار الكامل لبرنامج shell النصي.

لاحظ أنه على عكس systemd ، لا يمكن لـ cron اكتشاف ما إذا تم تحميل الجلسة الرسومية أم لا. يجب عليك تحديد فترة انتظار مقدرة حتى يتم تحميل خادم X ومعرف العرض. يمكنك معرفة معرف العرض الخاص بك عن طريق تشغيل الأمر أدناه:

$رما - طرد - قذف عرض دولار

يعتمد التأخير قبل تنفيذ الأمر أو البرنامج النصي على تكوين النظام ووقت التمهيد.

Rc.local

هناك طريقة أخرى لتشغيل البرامج النصية والأوامر عند بدء التشغيل وهي استخدام ملف rc.local. لاحظ أنه في الاختبار الذي أجريته ، لم أتمكن من تأجيل تنفيذ البرنامج النصي حتى تكون الجلسة الرسومية حية. تؤدي إضافة أي تأخير في السكون إلى تأخير عرض شاشة تسجيل الدخول نفسها. لهذا السبب ، لم أنجح في تشغيل التطبيقات الرسومية عند بدء التشغيل باستخدام ملف rc.local. يتطلب تحرير rc.local أيضًا الوصول إلى الجذر ، على عكس جميع الأمثلة الأخرى الموضحة أعلاه.

لإضافة أوامر / نصوص إلى ملف rc.local ، قم بتشغيل الأمر أدناه (إنشاء ملف rc.local جديد إذا لم يكن موجودًا):

$سودو نانو /إلخ/rc.local

أضف أوامرك بين #! / bin / bash والخروج من 0 خطوط ، كما هو موضح أدناه:

#! /bin/bash
المسار / إلى / my_script.sh
خروج 0

اجعل ملف rc.local قابلاً للتنفيذ عن طريق تشغيل الأمر أدناه:

$سودو chmod+ س/إلخ/rc.local

ما عليك سوى إعادة التشغيل حتى يصبح نص بدء التشغيل ساري المفعول.

استنتاج

هذه بعض الطرق التي يمكن استخدامها لتشغيل البرامج النصية والتطبيقات تلقائيًا عند بدء التشغيل. إذا كنت تبحث عن تشغيل برامج نصية لا تتطلب الوصول إلى الجذر ، فإنني أوصي باستخدام تطبيق واجهة المستخدم الرسومية لتطبيقات بدء التشغيل. إذا كنت ترغب في تشغيل التطبيقات والبرامج النصية مع الوصول إلى الجذر ، أقترح عليك إنشاء خدمة systemd على مستوى النظام.

نبذة عن الكاتب

نيتش كومار

أنا مطور برامج مستقل وكاتب محتوى أحب Linux والبرامج مفتوحة المصدر ومجتمع البرمجيات الحرة.

مشاهدة جميع المشاركات