Waarom ’n nuwe VPN-kortpad verlore instellings nie herstel nie
’n Beginprogram bepaal hoe ’n program begin, nie waar dit voorkeure bewaar nie. Vergelyk die uitvoerbare lêer, die gebruiker en die konteks van die konfigurasie voordat jy die ikoon blameer.
Ontbrekende menu-inskrywings en verdwynende voorkeure word met dieselfde refleks reggemaak, en dit is onverwante probleme. Die een is lessenaarintegrasie, die ander is toepassingtoestand, en ’n nuwe ikoon verander nie een van die twee op sigself nie. Om die twee te skei kos een eksperiment en verduidelik die meeste van die verwarring wat mense oor hierdie onderwerp het. Die beginprogram stel ’n program in werking; die program besluit wat hy onthou.
Twee take wat net soos een lyk
Lessenaarintegrasie beteken die omgewing kan ’n uitvoerbare lêer vind, ’n naam en ’n ikoon wys en die regte argumente deurgee. Toepassingtoestand beteken die program skryf ’n profiel op ’n blywende plek en lees dit by die volgende begin terug. Nie een impliseer die ander nie, en daarom kan ’n werkende kortpad ’n kliënt begin wat alles vergeet het.
Verander een onskadelike vertoonvoorkeur deur die toepassing se eie beheerders, maak dit dan toe en heropen dit op dieselfde manier. As die voorkeur terugkom, werk die bewaring en gaan die oorblywende klag daaroor dat jy die venster nie kry nie, eerder as oor die stoor van data. As dit verdwyn, is die kortpad ’n afleiding en is die werklike vraag waar daardie proses sy lêers hou. Toets een voorkeur op ’n slag, want ’n kliënt wat weer om ’n wagwoord vra, beskerm dalk ’n geheim eerder as dat hy ’n konfigurasie verloor.
Vergelyk die oopmaakinsette voordat jy herinstalleer
Begin by die lessenaarinskrywing en lees wat dit werklik doen, want ’n menu-oopmaak is nie outomaties dieselfde prosessomgewing as ’n terminaal-oopmaak nie. Die sleutels wat saak maak, is Exec, Path en, indirek, die omgewing wat die sessie voorsien. ’n Wikkelskrip in Exec kan ’n veranderlike stel, die vouer verander of ’n bevoorregte helper oproep wat die menu nooit wys nie. Herinstallasie vervang lêers wat die toepassing al gehad het, en dit is selde die veranderlike wat verander het.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
Kyk na die lêer onder ~/.local/share/applications voor die een in /usr/share/applications, want ’n gebruikerskopie oorskadu die stelselkopie. Voer desktop-file-validate uit wanneer die inskrywing hom misdra, en soek na ’n verouderde kopie wat nog na ’n verwyderde pad wys. ’n Ongeldige gebruikerskopie word steeds deur die meeste lessenaars verkies, so ’n stukkende lêer kan die inskrywing uit die menu verwyder terwyl die pakket se lêer geldig bly. Voer dan dieselfde opdrag met die hand uit en vergelyk wat die twee oopmaaksels oplewer.
Waar ’n voorkeur werklik woon
Toepassings wat die XDG-basisvouerreëls volg, plaas konfigurasie onder $XDG_CONFIG_HOME, blywende toestand onder $XDG_STATE_HOME en wegwerpbare data onder $XDG_CACHE_HOME, met ~/.config, ~/.local/state en ~/.cache as verstek wanneer daardie veranderlikes nie gestel is nie. Die drie is rolle eerder as beloftes, so ’n bepaalde VPN-produk kan iets heeltemal anders dokumenteer. Om die verskaffer se eie dokumentasie te lees, is beter as om ’n pad uit ’n vouernaam te raai. Wanneer die dokumentasie dun is, kyk na die proses eerder as na die lêerstelsel.
’n Spoor wat na lêeropenings gefiltreer is, wys elke konfigurasiepad wat die kliënt probeer, insluitend die een wat dit by afsluiting skryf. Voer dit as dieselfde gebruiker met dieselfde omgewing uit en vergelyk dan daardie paaie met die vouers wat jy verwag het.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Geheime en profiele het verskillende eienaars
’n Gestoor profiel en ’n gestoorde geloofsbrief is aparte objekte, dikwels met aparte berging. Die een kan in ’n konfigurasielêer woon terwyl die ander in ’n sleutelring sit wat per sessie ontsluit, so ’n kliënt wat weer om ’n wagwoord vra, doen dalk net wat hy ontwerp is om te doen. Om die profiel te skrap om die versoek te stop, is hoe mense ’n werkende konfigurasie verloor.
Bevoorregte oopmaaksels maak dit verder ingewikkeld, want ’n oopmaak deur sudo of ’n policy-kit-helper kan ’n ander tuisvouer wys en dus ’n ander konfigurasieversameling. Maak eienaarskap reg op die spesifieke lêer wat die toepassing dokumenteer eerder as herhalend oor ’n tuisvouer, besluit dan watter identiteit die profiel voortaan moet besit en hou toekomstige oopmaaksels daarmee in lyn.
Wat die ikoon vir jou kan en nie kan sê nie
’n Ikoon bewys dat ’n beginprogramlêer oplos, en niks meer nie. Verbindingstoestand behoort aan die kliënt, so die enigste betroubare kontrole is die koppelvlak, die roete of die kliënt se eie statusuitvoer. ’n Kennisgewingapplet wat nie begin het nie, kan ’n werkende tonnel stukkend laat lyk, terwyl ’n verouderde applet ’n stukkende een goed laat lyk. Toets die verbinding en die beginprogram afsonderlik en skryf dan neer watter een jy werklik reggemaak het.
As albei stukkend was, moet jy weerstaan om die herstel as een verandering te behandel. Maak die inskrywing reg, bevestig die oopmaak, bevestig dan die tonnel en let op die resultaat van elke stap. Daardie rekord is wat die volgende verslag van verlore instellings diagnoseerbaar maak in plaas van ’n herhaling van hierdie een, en dit is ook wat die volgende persoon vertel watter helfte van die probleem werklik was.