Miks uus VPN-otsetee ei taasta kadunud seadeid
Käivitaja määrab, kuidas programm käivitub, mitte kus see eelistusi hoiab. Enne ikooni süüdistamist võrrelge käivitatava faili, kasutaja ja konfiguratsiooni konteksti.
Puuduvad menüükirjed ja haihtuvad eelistused parandatakse sama refleksiga, kuigi need on seotud probleemid. Üks on töölaua integratsioon, teine rakenduse olek, ja uus ikoon ei muuda kummagi iseenesest. Nende eraldamine nõuab üht katset ja selgitab suuremat osa segadusest, mida inimesed selle teema juurde toovad. Käivitaja käivitab programmi; programm otsustab, mida ta mäletab.
Kaks tööd, mis ainult näivad ühena
Töölaua integratsioon tähendab, et keskkond leiab käivitatava faili, esitab nime ja ikooni ning edastab õiged argumendid. Rakenduse olek tähendab, et programm kirjutab profiili püsivasse kohta ja loeb selle järgmisel käivitamisel uuesti. Kumbki ei eelda teist, mistõttu töötav otsetee võib käivitada kliendi, mis on kõik unustanud.
Muutke rakenduse enda juhtelementide kaudu üht kahjutut kuvaeelistust, seejärel sulgege ja avage see samamoodi uuesti. Kui eelistus naaseb, püsimine töötab ja ülejäänud kaebus puudutab akna leidmist, mitte andmete salvestamist. Kui see kaob, on otsetee tähelepanu kõrvalejuhtimine ja tegelik küsimus on, kus see protsess oma faile hoiab. Katsetage üht eelistust korraga, sest klient, kes küsib uuesti parooli, võib kaitsta saladust, mitte kaotada konfiguratsiooni.
Võrrelge käivitussisendeid enne ümberpaigaldamist
Alustage töölauakirjest ja lugege, mida see tegelikult teeb, sest menüüst käivitamine ei ole automaatselt sama protsessikeskkond kui terminalist käivitamine. Olulised võtmed on Exec, Path ja kaudselt keskkond, mille sessioon pakub. Ümbriskript Exec sees võib seada muutuja, vahetada kataloogi või kutsuda privilegeeritud abilise, mida menüü kunagi ei näita. Ümberpaigaldamine asendab faile, mis rakendusel juba olid, ja see on harva see muutuja, mis muutus.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
Vaadake faili asukohas ~/.local/share/applications enne seda, mis asub /usr/share/applications, sest kasutajakoopia varjutab süsteemikoopia. Käivitage desktop-file-validate, kui kirje käitub valesti, ja otsige aegunud koopiat, mis osutab endiselt eemaldatud teele. Kehtetu kasutajakoopia on enamikul töölaudadel endiselt eelistatud, nii et katkine fail võib kirje menüüst eemaldada, samal ajal kui paketi fail jääb kehtivaks. Seejärel käivitage sama käsk käsitsi ja võrrelge, mida kaks käivitust annavad.
Kus eelistus tegelikult elab
XDG baaskataloogide reegleid järgivad rakendused panevad konfiguratsiooni asukohta $XDG_CONFIG_HOME, püsiva oleku asukohta $XDG_STATE_HOME ja ühekordseks mõeldud andmed asukohta $XDG_CACHE_HOME, kasutades nende muutujate seadmata jätmisel vaikimisi ~/.config, ~/.local/state ja ~/.cache. Need kolm on rollid, mitte lubadused, nii et konkreetne VPN-toode võib dokumenteerida hoopis midagi muud. Tarnija enda dokumentatsiooni lugemine on parem kui katalooginimest tee oletamine. Kui dokumentatsioon on hõre, jälgige protsessi, mitte failisüsteemi.
Failiavamistele filtreeritud jälg näitab iga konfiguratsiooniteed, mida klient proovib, sealhulgas seda, mille ta väljumisel kirjutab. Käivitage see sama kasutajana sama keskkonnaga, seejärel võrrelge neid teid kataloogidega, mida ootasite.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Saladustel ja profiilidel on erinevad omanikud
Salvestatud profiil ja salvestatud mandaat on eraldi objektid, sageli eraldi hoiuga. Üks võib elada konfiguratsioonifailis, samal ajal kui teine istub võtmerõngas, mis avaneb sessiooni kaupa, nii et klient, kes küsib uuesti parooli, teeb võib-olla lihtsalt seda, milleks ta loodi. Profiili kustutamine viiba peatamiseks on viis, kuidas inimesed kaotavad töötava konfiguratsiooni.
Privilegeeritud käivitused muudavad selle veel keerulisemaks, sest sudo või PolicyKit-abilise kaudu käivitamine võib esitada teise kodukataloogi ja seega teise konfiguratsioonikomplekti. Parandage omandiõigus konkreetsel failil, mille rakendus dokumenteerib, mitte rekursiivselt üle kogu kodukataloogi, seejärel otsustage, milline identiteet peaks profiili edaspidi omama, ja hoidke tulevased käivitused sellega kooskõlas.
Mida ikoon teile öelda saab ja mida mitte
Ikoon tõestab, et käivitajafail laheneb, ja ei midagi enamat. Ühenduse olek kuulub kliendile, seega ainus usaldusväärne kontroll on liides, marsruut või kliendi enda olekuväljund. Salveaplikaat, mis ei käivitunud, võib teha töötava tunneli katkiseks, samal ajal kui aegunud aplikaat võib teha katkise korras olevaks. Katsetage ühendust ja käivitajat eraldi, seejärel kirjutage üles, kumma te tegelikult parandasite.
Kui mõlemad olid katki, vastustage kiusatusele käsitleda parandust ühe muudatusena. Parandage kirje, kinnitage käivitumine, seejärel kinnitage tunnel, ja märkige iga sammu tulemus. Just see kirje teeb järgmise kadunud seadete aruande diagnoositavaks, mitte selle korduseks, ja see ütleb ka järgmisele inimesele, milline pool probleemist oli tõeline.