Nima uchun yangi VPN yorlig‘i yo‘qolgan sozlamalarni qaytarmaydi
Ishga tushiruvchi dasturning qanday boshlanishini hal qiladi, sozlamalarini qayerda saqlashini emas. Belgini ayblashdan oldin bajariladigan fayl, foydalanuvchi va konfiguratsiya kontekstini solishtiring.
Menyudagi yo‘qolgan yozuvlar va g‘oyib bo‘ladigan sozlamalar bir xil reaksiya bilan tuzatiladi, ammo bular bog‘liq bo‘lmagan muammolar. Biri ish stoli integratsiyasi, ikkinchisi dastur holati, yangi belgi esa ikkalasini ham o‘z-o‘zidan o‘zgartirmaydi. Ularni ajratish bitta tajribani talab qiladi va odamlarning bu mavzuga olib keladigan chalkashligining ko‘p qismini tushuntiradi. Ishga tushiruvchi dasturni boshlaydi; nima eslab qolishni dasturning o‘zi hal qiladi.
Faqat bittaga o‘xshaydigan ikki ish
Ish stoli integratsiyasi — muhit bajariladigan faylni topa oladi, nom va belgi ko‘rsatadi hamda to‘g‘ri argumentlarni uzatadi. Dastur holati — dastur profilni doimiy joyda yozadi va keyingi ishga tushishda uni qayta o‘qiydi. Hech biri ikkinchisini talab qilmaydi, shuning uchun ishlaydigan yorliq hamma narsani unutgan mijozni ishga tushirishi mumkin.
Dasturning o‘z boshqaruv elementlari orqali bitta zararsiz ko‘rinish sozlamasini o‘zgartiring, so‘ng uni xuddi shu tarzda yopib qayta oching. Sozlama qaytsa, saqlash ishlaydi va qolgan shikoyat ma’lumot saqlash emas, oynani topish haqida. Agar u yo‘qolsa, yorliq chalg‘ituvchi narsa va asl savol — bu jarayon fayllarini qayerda saqlaydi. Bir vaqtda bitta sozlamani sinab ko‘ring, chunki parolni yana so‘rayotgan mijoz konfiguratsiyani yo‘qotmay, balki sirni himoya qilayotgan bo‘lishi mumkin.
Qayta o‘rnatishdan oldin ishga tushish kirishlarini solishtiring
Ish stoli yozuvidan boshlang va uning aslida nima qilishini o‘qing, chunki menyudan ishga tushirish avtomatik ravishda terminaldan ishga tushirish bilan bir xil jarayon muhiti emas. Muhim kalitlar — Exec, Path va bilvosita sessiya taqdim etadigan muhit. Exec ichidagi o‘rov skripti o‘zgaruvchini o‘rnatishi, katalogni almashtirishi yoki menyu hech qachon ko‘rsatmaydigan imtiyozli yordamchini chaqirishi mumkin. Qayta o‘rnatish dasturda allaqachon bo‘lgan fayllarni almashtiradi va bu kamdan-kam o‘zgargan o‘zgaruvchi bo‘ladi.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
~/.local/share/applications ostidagi faylni /usr/share/applications dagidan oldin ko‘ring, chunki foydalanuvchi nusxasi tizim nusxasini soyada qoldiradi. Yozuv noto‘g‘ri ishlasa desktop-file-validate ni ishga tushiring va o‘chirilgan yo‘lga hali ham ishora qiluvchi eskirgan nusxani qidiring. Noto‘g‘ri foydalanuvchi nusxasini ko‘pchilik ish stollari hali ham afzal ko‘radi, shuning uchun buzuq fayl yozuvni menyudan olib tashlashi mumkin, paket fayli esa haqiqiy bo‘lib qoladi. So‘ng o‘sha buyruqni qo‘lda ishga tushiring va ikki ishga tushish nima berishini solishtiring.
Sozlama aslida qayerda yashaydi
XDG asosiy katalog qoidalariga rioya qiladigan dasturlar konfiguratsiyani $XDG_CONFIG_HOME ostiga, doimiy holatni $XDG_STATE_HOME ostiga va tashlab yuboriladigan ma’lumotlarni $XDG_CACHE_HOME ostiga qo‘yadi va bu o‘zgaruvchilar o‘rnatilmaganda standart sifatida ~/.config, ~/.local/state va ~/.cache dan foydalanadi. Bu uchtasi va’da emas, rol, shuning uchun muayyan VPN mahsuloti butunlay boshqa narsani hujjatlashtirishi mumkin. Katalog nomidan yo‘lni taxmin qilishdan ko‘ra sotuvchining o‘z hujjatlarini o‘qish yaxshiroq. Hujjatlar kam bo‘lsa, fayl tizimini emas, jarayonni kuzating.
Fayl ochilishlariga filtrlangan iz mijoz sinab ko‘radigan har bir konfiguratsiya yo‘lini, chiqishda yozadigan yo‘lni ham qo‘shib ko‘rsatadi. Uni o‘sha foydalanuvchi va o‘sha muhit bilan ishga tushiring, so‘ng bu yo‘llarni kutgan kataloglaringiz bilan solishtiring.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Sirlar va profillarning egalari boshqa
Saqlangan profil va saqlangan hisob ma’lumotlari alohida obyektlar, ko‘pincha alohida ombor bilan. Biri konfiguratsiya faylida yashashi mumkin, ikkinchisi esa har bir sessiyada ochiladigan kalit halqasida o‘tiradi, shuning uchun parolni yana so‘rayotgan mijoz shunchaki o‘zi uchun mo‘ljallangan ishni qilayotgan bo‘lishi mumkin. So‘rovni to‘xtatish uchun profilni o‘chirish — odamlar ishlaydigan konfiguratsiyani yo‘qotadigan yo‘l.
Imtiyozli ishga tushirishlar buni yanada murakkablashtiradi, chunki sudo yoki PolicyKit yordamchisi orqali ishga tushirish boshqa uy katalogi va shu bilan boshqa konfiguratsiya to‘plamini taqdim etishi mumkin. Egallikni butun uy katalogi bo‘ylab takroriy emas, dastur hujjatlashtiradigan aniq faylda tuzating, so‘ng bundan buyon profil qaysi shaxsga tegishli bo‘lishini hal qiling va kelgusi ishga tushirishlarni shunga mos tuting.
Belgi sizga nima ayta oladi va nima ayta olmaydi
Belgi ishga tushiruvchi fayl hal bo‘lishini isbotlaydi, ortiq emas. Ulanish holati mijozga tegishli, shuning uchun yagona ishonchli tekshiruv — interfeys, marshrut yoki mijozning o‘z holat chiqishi. Ishga tushmagan tarma dasturchasi ishlayotgan tunnelni buzilgandek ko‘rsatishi mumkin, eskirgan dasturcha esa buzilganini joyida ko‘rsatishi mumkin. Ulanish va ishga tushiruvchini alohida sinab ko‘ring, so‘ng aslida qaysinisini tuzatganingizni yozib qo‘ying.
Agar ikkalasi ham buzilgan bo‘lsa, tuzatishni bitta o‘zgarish deb hisoblash vasvasasiga qarshi turing. Yozuvni tuzating, ishga tushishni tasdiqlang, so‘ng tunnelni tasdiqlang va har bir qadam natijasini yozib boring. O‘sha qayd keyingi yo‘qolgan sozlamalar hisobotini buning takrori emas, tashxis qilish mumkin bo‘lgan holga keltiradi va keyingi odamga muammoning qaysi yarmi haqiqiy bo‘lganini aytadi.