Yeni VPN qısayolu niyə itirilmiş parametrləri bərpa etmir
Başladıcı proqramın necə başlayacağını müəyyən edir, seçimlərin harada saxlanacağını yox. İkonu günahlandırmadan əvvəl icra faylının, istifadəçinin və konfiqurasiyanın kontekstini müqayisə edin.
İtirilmiş menyu qeydləri və yoxa çıxan seçimlər eyni reflekslə düzəldilir, halbuki bunlar əlaqəsiz problemlərdir. Biri masaüstü inteqrasiyasıdır, digəri tətbiqin vəziyyətidir, yeni ikon isə bunların heç birini özü dəyişmir. İkisini ayırmaq bir təcrübə tələb edir və insanların bu mövzuya gətirdiyi qarışıqlığın çoxunu izah edir. Başladıcı proqramı işə salır; proqram nəyi xatırlayacağına özü qərar verir.
Yalnız birinə bənzəyən iki iş
Masaüstü inteqrasiyası o deməkdir ki, mühit icra faylını tapa bilir, ad və ikon göstərir və düzgün arqumentləri ötürür. Tətbiqin vəziyyəti o deməkdir ki, proqram profili davamlı bir yerdə yazır və növbəti başlatmada onu geri oxuyur. Heç biri digərini şərtləndirmir, buna görə işlək qısayol hər şeyi unutmuş klienti işə sala bilər.
Tətbiqin öz nizamlayıcıları vasitəsilə bir zərərsiz görünüş seçimini dəyişin, sonra onu eyni şəkildə bağlayıb yenidən açın. Seçim geri qayıdırsa, saxlama işləyir və qalan şikayət məlumatların saxlanmasına deyil, pəncərənin tapılmasına aiddir. Yox olursa, qısayol diqqəti yayındırır və əsl sual həmin prosesin fayllarını harada saxladığıdır. Seçimləri bir-bir yoxlayın, çünki parolu yenidən soruşan klient konfiqurasiya itirmir, bəlkə də bir sirri qoruyur.
Yenidən quraşdırmadan əvvəl başlatma girişlərini müqayisə edin
Masaüstü qeydindən başlayın və onun həqiqətən nə etdiyini oxuyun, çünki menyudan başlatma avtomatik olaraq terminaldan başlatma ilə eyni proses mühiti deyil. Əhəmiyyətli açarlar Exec, Path və dolayı yolla sessiyanın təmin etdiyi mühitdir. Exec içindəki sarğı skripti dəyişən təyin edə, qovluğu dəyişə və ya menyunun heç vaxt göstərmədiyi imtiyazlı köməkçini çağıra bilər. Yenidən quraşdırma tətbiqin artıq malik olduğu faylları əvəz edir, bu isə dəyişmiş dəyişənin nadir hallarda olur.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
Əvvəlcə ~/.local/share/applications altındakı fayla baxın, sonra /usr/share/applications içindəkinə, çünki istifadəçi surəti sistem surətini kölgələyir. Qeyd düzgün işləmədikdə desktop-file-validate işə salın və hələ də silinmiş yola işarə edən köhnə surəti axtarın. Etibarsız istifadəçi surəti hələ də əksər masaüstlərdə üstün tutulur, buna görə xarab fayl qeydi menyudan çıxara bilər, paketin faylı isə etibarlı qalır. Sonra eyni əmri əl ilə işə salın və iki başlatmanın nə verdiyini müqayisə edin.
Seçim əslində harada yaşayır
XDG baza qovluq qaydalarına uyğun gələn tətbiqlər konfiqurasiyanı $XDG_CONFIG_HOME altında, davamlı vəziyyəti $XDG_STATE_HOME altında, birdəfəlik məlumatı isə $XDG_CACHE_HOME altında yerləşdirir və bu dəyişənlər təyin olunmadıqda standart olaraq ~/.config, ~/.local/state və ~/.cache istifadə edir. Bu üçü vədlər deyil, rollardır, buna görə müəyyən bir VPN məhsulu tamamilə başqa bir şey sənədləşdirə bilər. İstehsalçının öz sənədlərini oxumaq qovluq adından yol təxmin etməkdən yaxşıdır. Sənədlər zəif olduqda fayl sisteminə deyil, prosesə baxın.
Fayl açılışlarına süzülmüş iz klientin yoxladığı hər konfiqurasiya yolunu, o cümlədən çıxışda yazdığı yolu göstərir. Onu eyni istifadəçi və eyni mühitlə işə salın, sonra həmin yolları gözlədiyiniz qovluqlarla müqayisə edin.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Sirlərin və profillərin sahibləri fərqlidir
Saxlanmış profil və saxlanmış etimadnamə ayrı obyektlərdir və çox vaxt ayrı yaddaşda olur. Biri konfiqurasiya faylında yaşaya bilər, digəri isə hər sessiyada açılan açarlıq halqasında oturur, buna görə yenidən parol soruşan klient sadəcə dizayn edildiyi işi görür. Sorğunu dayandırmaq üçün profili silmək insanların işlək konfiqurasiyanı itirmə üsuludur.
İmtiyazlı başlatmalar bunu daha da çətinləşdirir, çünki sudo və ya PolicyKit köməkçisi ilə başlatma başqa ev qovluğu və buna görə başqa konfiqurasiya dəsti təqdim edə bilər. Sahibliyi ev qovluğu boyunca təkrarlı şəkildə deyil, tətbiqin sənədləşdirdiyi konkret fayl üzərində düzəldin, sonra profilin bundan sonra hansı kimliyə aid olacağına qərar verin və gələcək başlatmaları onunla uyğun saxlayın.
İkon sizə nə deyə bilər və nə deyə bilməz
İkon başladıcı faylının həll olunduğunu sübut edir və başqa heç nəyi. Bağlantı vəziyyəti klientə aiddir, buna görə yeganə etibarlı yoxlama interfeys, marşrut və ya klientin öz status çıxışıdır. Başlaya bilməyən bir lotok proqramı işlək tuneli xarab göstərə bilər, köhnə proqram isə xarab tuneli yaxşı göstərə bilər. Bağlantını və başladıcını ayrı-ayrılıqda yoxlayın, sonra hansını həqiqətən düzəltdiyinizi yazın.
Əgər hər ikisi xarab idisə, təmiri bir dəyişiklik kimi qəbul etməyə müqavimət göstərin. Qeydi düzəldin, başlatmanı təsdiqləyin, sonra tuneli təsdiqləyin və hər addımın nəticəsini qeyd edin. Bu qeyd növbəti itirilmiş parametrlər hesabatını bunun təkrarı deyil, diaqnostika edilə bilən edir və həm də növbəti şəxsə problemin hansı yarısının real olduğunu deyir.