Kwa nini njia ya mkato mpya ya VPN hairudishi mipangilio iliyopotea
Kianzilishi huamua jinsi programu inavyoanza, si mahali inapohifadhi mapendeleo yake. Linganisha muktadha wa faili tekelezwa, mtumiaji na usanidi kabla ya kulaumu aikoni.
Maingizo ya menyu yaliyokosekana na mapendeleo yanayotoweka hurekebishwa kwa mwitikio mmoja, ingawa ni matatizo yasiyohusiana. Moja ni muunganiko wa eneo-kazi, lingine ni hali ya programu, na aikoni mpya haibadilishi yoyote kati ya haya yenyewe. Kuyatenganisha kunahitaji jaribio moja na kueleza sehemu kubwa ya mkanganyiko ambao watu huleta kwenye mada hii. Kianzilishi huanzisha programu; programu huamua kile inachokumbuka.
Kazi mbili zinazoonekana kama moja tu
Muunganiko wa eneo-kazi humaanisha kwamba mazingira yanaweza kupata faili tekelezwa, kuwasilisha jina na aikoni na kupitisha hoja sahihi. Hali ya programu humaanisha kwamba programu huandika wasifu mahali pa kudumu na kuusoma tena wakati wa kuanza ijayo. Hakuna kinachodokeza kingine, ndiyo sababu njia ya mkato inayofanya kazi inaweza kuanzisha mteja aliyesahau kila kitu.
Badilisha upendeleo mmoja wa maonyesho usio na madhara kupitia vidhibiti vya programu yenyewe, kisha ifunge na kuifungua tena kwa namna hiyo hiyo. Ikiwa upendeleo unarudi, uhifadhi unafanya kazi na malalamiko yaliyobaki yanahusu kupata dirisha na si kuhifadhi data. Ikiwa unatoweka, njia ya mkato ni kizuizi na swali la kweli ni mahali ambapo mchakato huo huweka faili zake. Jaribu upendeleo mmoja kwa wakati mmoja, kwa sababu mteja anayeuuliza tena neno la siri anaweza kuwa analinda siri badala ya kupoteza usanidi.
Linganisha maingizo ya kuanza kabla ya kusakinisha upya
Anza kwenye ingizo la eneo-kazi na usome kinachofanya kwa kweli, kwa sababu kuanzisha kutoka kwenye menyu si kwa otomatiki mazingira yaleyale ya mchakato kama kuanzisha kutoka kwenye terminali. Funguo muhimu ni Exec, Path na kwa njia isiyo ya moja kwa moja mazingira ambayo kikao hutoa. Skripti ya kufunga ndani ya Exec inaweza kuweka kigezo, kubadilisha saraka au kuita msaidizi mwenye upendeleo ambao menyu haiuonyeshi kamwe. Usakinishaji upya hubadilisha faili ambazo programu ilikuwa nazo tayari, na mara chache ndicho kigezo kilichobadilika.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
Angalia faili iliyo chini ya ~/.local/share/applications kabla ya ile iliyo katika /usr/share/applications, kwa sababu nakala ya mtumiaji hufunika nakala ya mfumo. Endesha desktop-file-validate wakati ingizo linajishughulisha vibaya, na tafuta nakala iliyopitwa na wakati ambayo bado inaelekeza kwenye njia iliyoondolewa. Nakala ya mtumiaji isiyo sahihi bado inapendelewa na wengi wa eneo-kazi, hivyo faili iliyovunjika inaweza kuondoa ingizo kwenye menyu huku faili ya kifurushi ikibaki sahihi. Kisha endesha amri hiyo hiyo kwa mkono na linganisha kile vianzio viwili vinazalisha.
Mahali upendeleo unaishi kwa kweli
Programu zinazofuata kanuni za saraka za msingi za XDG huweka usanidi chini ya $XDG_CONFIG_HOME, hali ya kudumu chini ya $XDG_STATE_HOME na data ya kutupwa chini ya $XDG_CACHE_HOME, na kwa kawaida hutumia ~/.config, ~/.local/state na ~/.cache wakati vigezo hivyo havijawekwa. Hivyo vitatu ni majukumu na si ahadi, hivyo bidhaa fulani ya VPN inaweza kuandika kitu kingine kabisa. Kusoma nyaraka za muuzaji mwenyewe ni bora kuliko kukisia njia kutoka jina la saraka. Nyaraka zinapokuwa chache, angalia mchakato badala ya mfumo wa faili.
Ufuatiliaji uliochujwa kwa ufunguzi wa faili unaonyesha kila njia ya usanidi ambayo mteja hujaribu, ikiwa ni pamoja na ile anayoandika wakati wa kutoka. Iendeshe kama mtumiaji yuleyule na mazingira yaleyale, kisha linganisha njia hizo na saraka ulizotarajia.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Siri na wasifu zina wamiliki tofauti
Wasifu uliohifadhiwa na kitambulisho kilichohifadhiwa ni vitu tofauti, mara nyingi na hifadhi tofauti. Kimoja kinaweza kuishi katika faili ya usanidi huku kingine kikikaa kwenye pete ya funguo inayofunguka kwa kila kikao, hivyo mteja anayeuuliza tena neno la siri anaweza kuwa anafanya kile alichoundwa kwa ajili yake. Kufuta wasifu ili kusimamisha ombi ndiyo njia ambayo watu hupoteza usanidi unaofanya kazi.
Vianzio vyenye upendeleo hufanya hili kuwa gumu zaidi, kwa sababu kuanzisha kupitia sudo au msaidizi wa PolicyKit kunaweza kuwasilisha saraka nyingine ya nyumbani na hivyo seti nyingine ya usanidi. Rekebisha umiliki kwenye faili maalum ambayo programu inaandika na si kwa kurudia katika saraka yote ya nyumbani, kisha amua ni utambulisho gani unapaswa kumiliki wasifu huo kuanzia sasa na uweke vianzio vijavyo sawia nayo.
Aikoni inaweza kukuambia nini na nini haiwezi
Aikoni inathibitisha kwamba faili ya kianzilishi inatatuliwa, na si zaidi ya hapo. Hali ya muunganisho ni ya mteja, hivyo ukaguzi pekee wa kuaminika ni kiolesura, njia au matokeo ya hali ya mteja mwenyewe. Programu ndogo ya trei iliyoshindwa kuanza inaweza kufanya handaki inayofanya kazi ionekane imevunjika, wakati programu ndogo ya zamani inaweza kufanya iliyovunjika ionekane sawa. Jaribu muunganisho na kianzilishi kwa tofauti, kisha andika ni kipi ulichorekebisha kwa kweli.
Ikiwa vyote viwili vilikuwa vimevunjika, pinga jaribu la kuchukulia ukarabati kama badiliko moja. Rekebisha ingizo, thibitisha mwanzo, kisha thibitisha handaki, na andika matokeo ya kila hatua. Rekodi hiyo ndiyo inayofanya ripoti ijayo kuhusu mipangilio iliyopotea iwe ya kutambulika badala ya kurudiwa kwa hii, na pia inamwambia mtu anayefuata nusu ipi ya tatizo ilikuwa ya kweli.