Hvorfor en ny VPN-snarvei ikke gjenoppretter tapte innstillinger
En starter avgjør hvordan et program starter, ikke hvor det oppbevarer preferansene sine. Sammenlign konteksten til den kjørbare filen, brukeren og konfigurasjonen før du gir ikonet skylden.
Manglende menyelementer og forsvinnende preferanser blir rettet med samme refleks, og de er ikke beslektede problemer. Det ene er skrivebordsintegrasjon, det andre er applikasjonstilstand, og et nytt ikon endrer ikke noen av dem av seg selv. Å skille de to koster ett eksperiment og forklarer det meste av forvirringen folk kommer med til dette emnet. Starteren starter et program; programmet bestemmer hva det husker.
To oppgaver som bare ser ut som én
Skrivebordsintegrasjon betyr at miljøet kan finne en kjørbar fil, vise et navn og et ikon og sende de riktige argumentene. Applikasjonstilstand betyr at programmet skriver en profil på et varig sted og leser den igjen ved neste start. Ingen av delene forutsetter den andre, og derfor kan en fungerende snarvei starte en klient som har glemt alt.
Endre én uskyldig visningspreferanse gjennom programmets egne kontroller, og lukk og åpne det deretter på samme måte. Hvis preferansen kommer tilbake, virker lagringen, og den gjenværende klagen handler om å finne vinduet snarere enn å lagre data. Hvis den forsvinner, er snarveien en avledning, og det egentlige spørsmålet er hvor den prosessen holder filene sine. Test én preferanse om gangen, for en klient som spør om passord igjen, beskytter kanskje en hemmelighet i stedet for å miste en konfigurasjon.
Sammenlign startparametrene før du reinstallerer
Begynn ved skrivebordsoppføringen og les hva den faktisk gjør, for en start fra menyen er ikke automatisk det samme prosessmiljøet som en start fra terminalen. Nøklene som betyr noe, er Exec, Path og indirekte miljøet sesjonen tilbyr. Et innpakningsskript i Exec kan sette en variabel, bytte katalog eller kalle en privilegert hjelper som menyen aldri viser. Reinstallasjon erstatter filer programmet allerede hadde, og det er sjelden variabelen som ble endret.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
Se på filen under ~/.local/share/applications før den i /usr/share/applications, fordi en brukerkopi overskygger systemkopien. Kjør desktop-file-validate når oppføringen oppfører seg feil, og let etter en utdatert kopi som fortsatt peker på en fjernet sti. En ugyldig brukerkopi foretrekkes fortsatt av de fleste skrivebord, så en ødelagt fil kan fjerne oppføringen fra menyen mens pakkens fil forblir gyldig. Kjør deretter den samme kommandoen manuelt og sammenlign hva de to startene gir.
Hvor en preferanse faktisk bor
Programmer som følger XDG-reglene for basiskataloger, legger konfigurasjon under $XDG_CONFIG_HOME, varig tilstand under $XDG_STATE_HOME og engangsdata under $XDG_CACHE_HOME, og bruker ~/.config, ~/.local/state og ~/.cache som standard når disse variablene ikke er satt. De tre er roller og ikke løfter, så et bestemt VPN-produkt kan dokumentere noe helt annet. Å lese leverandørens egen dokumentasjon slår å gjette en sti fra et mappenavn. Når dokumentasjonen er tynn, følg med på prosessen i stedet for filsystemet.
Et spor filtrert til filåpninger viser hver konfigurasjonssti klienten prøver, inkludert den den skriver ved avslutning. Kjør det som samme bruker med samme miljø, og sammenlign deretter disse stiene med mappene du forventet.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Hemmeligheter og profiler har forskjellige eiere
En lagret profil og en lagret påloggingsinformasjon er separate objekter, ofte med separat lagring. Den ene kan bo i en konfigurasjonsfil mens den andre sitter i en nøkkelring som låses opp per sesjon, så en klient som spør om passord igjen, gjør kanskje bare det den ble designet for. Å slette profilen for å stoppe forespørselen er måten folk mister en fungerende konfigurasjon på.
Privilegerte starter kompliserer dette ytterligere, fordi en start via sudo eller en PolicyKit-hjelper kan presentere en annen hjemmemappe og dermed et annet konfigurasjonssett. Rett eierskapet på den spesifikke filen programmet dokumenterer, i stedet for rekursivt i hele hjemmemappen, og bestem deretter hvilken identitet som skal eie profilen fremover, og hold fremtidige starter i samsvar med den.
Hva ikonet kan og ikke kan fortelle deg
Et ikon beviser at en starterfil lar seg løse opp, og ikke noe mer. Tilkoblingstilstand tilhører klienten, så den eneste pålitelige kontrollen er grensesnittet, ruten eller klientens egen statusutskrift. Et brettprogram som ikke startet, kan få en fungerende tunnel til å se ødelagt ut, mens et utdatert program kan få en ødelagt tunnel til å se fin ut. Test tilkoblingen og starteren separat, og skriv deretter ned hvilken av dem du faktisk reparerte.
Hvis begge var ødelagt, motstå å behandle reparasjonen som én endring. Rett oppføringen, bekreft starten, bekreft deretter tunnelen, og noter resultatet av hvert trinn. Den loggen er det som gjør den neste rapporten om tapte innstillinger diagnostiserbar i stedet for en gjentakelse av denne, og den forteller også den neste personen hvilken halvdel av problemet som var ekte.