سسٹم ربوٹ پر لینکس کمانڈز اور سکرپٹ خود بخود کیسے چلائیں۔

How Run Linux Commands



اسٹارٹ اپ پر خود بخود ایپس اور سکرپٹ چلانا عام بوٹ ٹاسک اور ایونٹس کو خودکار کرنے کے لیے مفید ثابت ہو سکتا ہے۔ یہ آرٹیکل کچھ طریقوں کی وضاحت کرے گا جنہیں ایپس اور سکرپٹ کو نئے ریبوٹ یا نئے لاگ ان پر لانچ کرنے کے لیے استعمال کیا جا سکتا ہے۔

اسٹارٹ اپ ایپلی کیشنز۔

اوبنٹو اور دیگر GNOME پر مبنی تقسیمات ایک ایسی ایپلی کیشن کے ساتھ آتی ہیں جسے محض اسٹارٹ اپ ایپلی کیشنز کہا جاتا ہے۔ یہ ایپس اور سکرپٹ کے انتظام کے لیے استعمال کیا جا سکتا ہے جو کہ تازہ سسٹم ربوٹ یا لاگ ان پر چلتا ہے۔







ایپلی کیشن لانچر سے اسٹارٹ اپ ایپلی کیشن لانچ کریں اور نئی اندراج شامل کرنے کے لیے ایڈ بٹن پر کلک کریں۔





اپنی ضروریات کے مطابق نام اور کمانڈ فیلڈز کو پُر کریں اور پھر ایک نئی اندراج بنانا ختم کرنے کے لیے ایڈ بٹن پر کلک کریں۔ ذیل میں اسکرین شاٹ میں بنائی گئی اندراج ہر ایک ربوٹ / لاگ ان پر سسٹم نوٹیفکیشن کے طور پر ایک بیک اپ یاد دہانی بھیجے گی۔ آپ اسے اپنی کمانڈ سے یا اپنے بش اسکرپٹ کے مکمل راستے سے تبدیل کر سکتے ہیں۔ آپ کسی بھی موجودہ سسٹم کمانڈ یا ایگزیکیوٹیبلز کو بھی استعمال کرسکتے ہیں جو عام طور پر فائل سسٹم کے مختلف بن فولڈرز میں واقع ہوتے ہیں۔





جیسا کہ اوپر بیان کیا گیا ہے ، ایک بیک اپ یاد دہانی ہر ریبوٹ پر دکھائی جاتی ہے۔



سسٹمڈ

Systemd ایک ڈیمون اور سروس منیجر ہے جس میں سسٹم کے عمل اور OS کے اجزاء کو منظم کرنے کے لیے مختلف افادیت ہوتی ہے۔ اس کی سادہ شکل میں ، یہ عام طور پر تازہ بوٹ سائیکل میں خدمات شروع کرنے اور ختم کرنے کے لیے استعمال ہوتا ہے۔

سسٹم ڈی کا استعمال خود بخود ایپ شروع کرنے یا نئے بوٹ پر اسکرپٹ چلانے کے لیے کیا جا سکتا ہے۔ اوپر بیان کردہ بیک اپ ریمائنڈر نوٹیفکیشن بنانے کے لیے ، پہلے آپ کو نیچے دیے گئے کمانڈز چلا کر مطلوبہ فولڈر اور فائل بنانی ہوگی۔

$mkdir -پی۔/. config/نظام/صارف
$نینو۔/. config/نظام/صارف/backup_reminder.service

نانو کو اپنے پسندیدہ ٹیکسٹ ایڈیٹر کی کمانڈ سے تبدیل کریں۔ backup_reminder کو کسی دوسرے نام سے تبدیل کریں جسے آپ ترجیح دیں۔

مندرجہ بالا کمانڈ کا استعمال کرتے ہوئے بنائی گئی backup_reminder.service فائل میں نیچے کوڈ پیسٹ کریں۔

[یونٹ]
تفصیل = ہر ریبوٹ پر بیک اپ یاد دہانی بھیجتا ہے۔
PartOf = graphical-session.target۔

[سروس]
ExecStart = bash -c 'sleep 10؛ مطلع کریں-'بیک اپ بنائیں'
ٹائپ = آن شاٹ۔

[انسٹال کریں]
WantedBy = graphical-session.target۔

مندرجہ بالا کوڈ کافی سیدھا ہے۔ یہ گرافیکل سیشن لوڈ ہونے کے 10 سیکنڈ بعد ایک بیک اپ نوٹیفیکیشن بھیجتا ہے (ہر ریبوٹ یا لاگ ان کے بعد)۔

سروس کو فعال کرنے کے لیے نیچے دی گئی کمانڈ چلائیں تاکہ یہ خود بخود ہر ریبوٹ پر چل سکے۔

$chmod 644۔۔/. config/نظام/صارف/backup_reminder.service
$ systemctl-صارف فعالbackup_reminder.service
$ systemctl-صارفڈیمون دوبارہ لوڈ
$ ریبوٹ

یہ systemd کا استعمال کرتے ہوئے بوٹ پر بنیادی کمانڈ چلانے کی ایک سادہ سی مثال ہے۔ آپ متعدد شرائط اور متعدد احکامات کے ساتھ اعلی درجے کی خدمات بھی تشکیل دے سکتے ہیں۔ مزید معلومات کے لیے ، ذیل میں کمانڈ چلا کر systemd man پیج سے رجوع کریں:

$آدمینظام

نوٹ کریں کہ یہ مثال ایک نئی سروس بنانے کی وضاحت کرتی ہے جس کے لیے جڑ تک رسائی کی ضرورت نہیں ہے اور یہ آٹو سٹارٹ ایپس کے لیے موزوں ہے جنہیں روٹ اجازت کی ضرورت نہیں ہے۔ اگر آپ سکرپٹ کو آٹو اسٹارٹ کرنا چاہتے ہیں جس میں جڑ تک رسائی درکار ہو تو آپ کو etc/.config/systemd/user فولڈر کے بجائے/etc/systemd/system ڈائریکٹری میں ایک نئی systemd سروس بنانی ہوگی اور اوپر دی گئی کمانڈ میں –user سوئچ کو چھوڑ دینا ہوگا۔

کرون جاب۔

کرون ایک ایسا آلہ ہے جو وقتاically فوقتا scheduled شیڈول ٹاسک کو صارف کی طرف سے بتائی گئی شرائط کے مطابق چلا سکتا ہے۔ یہ شیڈول جابز کرونٹاب میں پہلے سے طے شدہ فارمیٹ میں بنائی گئی ہیں۔ آسان الفاظ میں ، کرونٹاب کرون کو بتاتا ہے کہ کون سی نوکری کس وقت چلانی ہے۔

سسٹم ڈی کی طرح ، کرونٹاب جابس کو ایپس لانچ کرنے اور اسکرپٹ کو خود بخود بوٹ پر چلانے کے لیے استعمال کیا جاسکتا ہے۔ نیا کرون جاب شامل کرنے کے لیے ، نیچے دی گئی کمانڈ چلائیں:

$کرونٹاب-اور

ٹیکسٹ فائل کے آخر میں درج ذیل لائنیں شامل کریں (ہر ریبوٹ پر خود بخود GNOME ٹرمینل لانچ کرتا ہے):

شیل =/بن/بش۔
b ریبوٹ نیند 30 اور ڈسپلے =: 0 گنووم ٹرمینل۔

آپ اپنی کمانڈ استعمال کرسکتے ہیں یا شیل اسکرپٹ کو مکمل راستہ فراہم کرسکتے ہیں۔

نوٹ کریں کہ systemd کے برعکس ، کرون پتہ نہیں لگا سکتا کہ گرافیکل سیشن لوڈ ہو چکا ہے یا نہیں۔ آپ کو X سرور لوڈ ہونے اور ڈسپلے شناخت کنندہ تک کچھ متوقع انتظار کی مدت بتانی ہوگی۔ آپ اپنی ڈسپلے آئی ڈی کے بارے میں نیچے دی گئی کمانڈ سے جان سکتے ہیں۔

$باہر پھینک دیا $ ڈسپلے۔

کمانڈ یا اسکرپٹ پر عملدرآمد سے پہلے تاخیر آپ کے سسٹم کی ترتیب اور بوٹ ٹائم پر منحصر ہے۔

Rc.local

شروع میں سکرپٹ اور کمانڈ چلانے کا دوسرا طریقہ rc.local فائل استعمال کرنا ہے۔ نوٹ کریں کہ میری جانچ میں ، میں گرافیکل سیشن کے براہ راست ہونے تک اسکرپٹ پر عملدرآمد کو موخر نہیں کر سکا۔ کسی بھی نیند میں تاخیر کو شامل کرنے سے لاگ ان اسکرین کے ظاہر ہونے میں تاخیر ہوتی ہے۔ اس کی وجہ سے ، مجھے rc.local فائل کا استعمال کرتے ہوئے اسٹارٹ اپ پر گرافیکل ایپس چلانے میں کوئی کامیابی نہیں ملی۔ rc.local میں ترمیم کرنے کے لیے جڑ تک رسائی درکار ہے ، جیسا کہ اوپر بیان کی گئی دیگر تمام مثالوں کے برعکس ہے۔

rc.local فائل میں کمانڈ / سکرپٹ شامل کرنے کے لیے ، نیچے دی گئی کمانڈ چلائیں (اگر یہ موجود نہیں ہے تو ایک نئی rc.local فائل بناتی ہے):

$سودو نینو /وغیرہ/rc.local

#کے درمیان اپنے احکامات شامل کریں! /bin/bash اور 0 لائنوں سے باہر نکلیں ، جیسا کہ ذیل میں دکھایا گیا ہے:

#! /bin/bash
path/to/my_script.sh
باہر نکلیں 0

rc.local فائل کو نیچے دی گئی کمانڈ چلا کر قابل عمل بنائیں:

$سودو chmod+ ایکس۔/وغیرہ/rc.local

اسٹارٹ اپ اسکرپٹ کو اثر انداز کرنے کے لیے صرف ریبوٹ کریں۔

نتیجہ

یہ چند طریقے ہیں جن کا استعمال خود بخود اسکرپٹ اور ایپس کو اسٹارٹ اپ پر چلانے کے لیے کیا جا سکتا ہے۔ اگر آپ ایسے سکرپٹ چلانا چاہتے ہیں جن میں جڑ تک رسائی کی ضرورت نہ ہو تو میں سفارش کروں گا کہ اسٹارٹ اپ ایپلی کیشنز GUI ایپ استعمال کریں۔ اگر آپ ایپس اور اسکرپٹس کو جڑ تک رسائی کے ساتھ چلانا چاہتے ہیں تو میں آپ کو مشورہ دوں گا کہ ایک سسٹم لیول systemd سروس بنائیں۔

مصنف کے بارے میں

نتیش کمار۔

میں ایک فری لانسر سافٹ ویئر ڈویلپر اور مواد لکھنے والا ہوں جو لینکس ، اوپن سورس سافٹ ویئر اور مفت سافٹ ویئر کمیونٹی سے محبت کرتا ہوں۔

تمام پوسٹس دیکھیں۔