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

پہلا معائنہ: لاک کو خالی اسکرین اور نیند سے الگ کریں

لاک یہ بدلتا ہے کہ سیشن کون استعمال کر سکتا ہے؛ کمپوزیٹر نقش بناتا رہتا ہے، نیٹ ورک اسٹیک چلتا رہتا ہے اور VPN کلائنٹ کو کچھ معلوم نہیں ہوتا۔ اسکرین کا خالی ہونا غیر فعالیت کے وقفے کے بعد پینل بند کر دیتا ہے اور مشین کو مکمل بیدار چھوڑ دیتا ہے۔ سسپنڈ پروسیسر روک دیتا ہے، یعنی صارف کی فضا میں کوئی عمل شیڈول نہیں ہوتا، اس لیے وقفہ کتنا ہی مختصر رکھیں، کوئی کنکشن برقرار رکھنے والا سگنل نہیں چل سکتا۔

EventWhat it stopsCan it kill the tunnel?
Session lockInput to your sessionNo
Display blankThe panelNo
Suspend to RAMCPU scheduling, hence every processYes, and silently
HibernateEverything, with state written to diskYes

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

دوسرا معائنہ: بجلی اور نیٹ ورک کے واقعات کو ایک ٹائم لائن پر رکھیں

جرنل پورے بوٹ کے بجائے محدود وقفے کے لیے پڑھیں، اور لاگ ان منتظم اور کنکشن کے مالک دونوں کو شامل کریں:

journalctl -b -u systemd-logind -u NetworkManager --since "45 minutes ago"
systemd-inhibit --list

پہلا حکم نیند کی درخواستیں، بیدار ہونا اور ان کے بعد آنے والی نیٹ ورک تبدیلیاں دکھاتا ہے۔ دوسرا دکھاتا ہے کہ اس وقت کون سی چیز ایک رکاوٹی تالا تھامے ہوئے ہے، جو آپ کو بتاتا ہے کہ کیا کوئی چیز جان بوجھ کر نیند روک رہی ہے اور وہ کون سا پروگرام ہے۔ اگر آپ کے کنکشن کا مالک NetworkManager نہیں ہے تو یونٹ کے نام بدلیں، اور یاد رکھیں کہ کسی دوسرے صارف کا یونٹ یا سسٹم جرنل پڑھنا مقامی پالیسی پر منحصر ہے۔

غائب سطر منفی نتیجہ نہیں ہے۔ اگر منتخب یونٹ کا جرنل آپ کے اکاؤنٹ کو نظر نہیں آتا، تو نیند کے ریکارڈ کا نہ ہونا کچھ ثابت نہیں کرتا، اور خالی فلٹر سے «یہ کبھی نہیں سویا» کا نتیجہ نکالنا وہی راستہ ہے جس پر لوگ ایک ہفتہ کنکشن برقرار رکھنے کو درست کرتے ہوئے گزارتے ہیں۔

تیسرا معائنہ: اگر وہ سو گیا، تو فیصلہ کریں کہ یہ جان بوجھ کر تھا

جیسے ہی ٹائم لائن پر نیند کی منتقلی آتی ہے، سوال «VPN کیوں ٹوٹا» سے بدل کر «کیا مشین کو ویسے بھی سونا چاہیے تھا» ہو جاتا ہے۔ لیپ ٹاپ پر جواب اکثر ہاں ہوتا ہے، اور ٹنل کا کٹنا متوقع رویہ ہے جس سے کلائنٹ کو جاگنے پر سنبھلنا چاہیے۔ جس ورک اسٹیشن تک رسائی برقرار رہنی چاہیے وہاں نیند کی پالیسی ہی بدلنے والی چیز ہے۔ یہ طے کرنے میں کہ آپ ان دو مشینوں میں سے کس کو دیکھ رہے ہیں ایک سوال لگتا ہے، اور یہ وہ سوال نہیں جس کا جواب جرنل آپ کی جگہ دے سکے۔

اسے لاگ ان شدہ سیشن کے کنٹرولز سے بدلیں، یا اگر ضرورت پوری مشین کی ہے تو منتظم کے تعاون یافتہ طریقے سے بدلیں۔ دوسرے اکاؤنٹ سے لاگ ان ہونے کے دوران ڈسپلے منتظم کی ترتیب میں ترمیم کرنا وہی عمل نہیں ہے اور اگلے سیشن کے شروع ہونے تک یہ کام کرتا دکھے گا۔ بجلی کے انتظام کو مکمل بند کرنا ایک وسیع پہلا ردعمل ہے جو بیٹری کی عمر کھاتا ہے اور اصل پالیسی سوال چھپا دیتا ہے۔

چوتھا معائنہ: اگر وہ بیدار رہا، تو نیٹ ورک اور کلائنٹ دیکھیں

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

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

مفید رپورٹ میں کیا ہوتا ہے

ترتیب ٹائم اسٹیمپ اور مالکان کے ساتھ لکھیں: سیشن کب لاک ہوا، اسکرین کب تاریک ہوئی، نیند کی درخواست درج ہوئی یا نہیں، لنک کب گرا اور واپس آیا، ٹنل نے کب حالت بدلی اور ایپلیکیشن نے حقیقت میں کیا کیا۔ ہر شے کا ایک مالک ہے، اس لیے ہر شے Linux کے بارے میں عام شکایت بننے کے بجائے صحیح شخص کو دی جا سکتی ہے۔

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

متعلقہ مضامین