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

تین الگ حقائق: شروعات، آئیکن، ٹنل

ڈیسک ٹاپ اندراج ایک پروگرام شروع کرتا ہے۔ یہ ٹرے کی تنفیذ نصب نہیں کر سکتا، اور اس پینل میں اشارہ نہیں دکھا سکتا جو ایپلیکیشن کے استعمال کردہ پروٹوکول کو سپورٹ نہیں کرتا۔ اگر عمل پہلے سے چل رہا ہے تو شروعات کا سوال حل ہو چکا ہے اور آپ اس کے بجائے انضمام کا مسئلہ دیکھ رہے ہیں۔

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

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

وہ اندراج تلاش کریں جو سیشن واقعی پڑھتا ہے

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

ls -l ~/.config/autostart/ /etc/xdg/autostart/
echo "$XDG_CURRENT_DESKTOP"
grep -H -E '^(OnlyShowIn|NotShowIn|TryExec|Hidden|Exec)=' ~/.config/autostart/*.desktop /etc/xdg/autostart/*.desktop

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

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

فلٹرنگ کیز ترتیب سے پڑھیں

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

[Desktop Entry]
Type=Application
Name=Example VPN
Exec=/opt/example-vpn/client --minimized
TryExec=/opt/example-vpn/client
OnlyShowIn=GNOME;

OnlyShowIn اندراج کو درج ماحول تک محدود کرتا ہے اور NotShowIn درج کو خارج کرتا ہے۔ جب دونوں ایک ہی اندراج میں ظاہر ہوں تو تفصیلات کوئی مفید برتاؤ متعین نہیں کرتیں، اس لیے دونوں والی فائل کو ہوشیار امتزاج نہیں بلکہ نقص سمجھیں۔ دوسری شامل کر کے ترجیحی قاعدے کی امید کرنے کے بجائے غیر ضروری کی ہٹا دیں۔

TryExec پوچھتا ہے کہ قابلِ عمل فائل موجود ہے یا نہیں اس سے پہلے کہ سیشن اسے شروع کرے۔ اس لیے پرانی تنصیب سے بچا ہوا راستہ آٹو اسٹارٹ کو دبا دیتا ہے، چاہے نیا پیکیج مینو سے شروع کرنے پر کام کرے، اور وہ ناکامی بالکل ڈیسک ٹاپ فلٹر جیسی دکھائی دیتی ہے۔

صارف کی سطح پر اوور رائیڈ کریں، سسٹم کی سطح پر نہیں

جب فلٹر اس مشین کے لیے واقعی غلط ہو تو سسٹم اندراج کو صارف کی ڈائریکٹری میں نقل کریں اور نقل بدلیں۔ XDG آٹو اسٹارٹ قواعد کے مطابق، اسی نام والے صارف اندراج کو ترجیح ہوتی ہے، اور Hidden=true سسٹم فائل حذف کیے بغیر اندراج کو غیر فعال کرتا ہے۔

mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/example-vpn.desktop ~/.config/autostart/
sed -i '/^OnlyShowIn=/d' ~/.config/autostart/example-vpn.desktop
desktop-file-validate ~/.config/autostart/example-vpn.desktop

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

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

ٹنل کو چھوئے بغیر شروعات کی تصدیق کریں

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

pgrep -af example-vpn
systemctl --user status example-vpn.service
journalctl --user -b --no-pager | grep -i example-vpn | tail -20

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

ٹکٹ میں تینوں مشاہدے درج کریں: شروع ہوا، نظر آتا ہے، جڑا ہوا ہے۔ وہ ریکارڈ اگلے شخص کو وہی سہ رخی الجھن دہرانے سے روکتا ہے اور واضح کرتا ہے کہ کس طبقے کو ابھی کام درکار ہے۔

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