Saknade menyposter och försvinnande inställningar repareras med samma reflex, och de är orelaterade problem. Det ena är skrivbordsintegration, det andra är applikationstillstånd, och en ny ikon ändrar inget av dem av sig själv. Att skilja de två åt kostar ett experiment och förklarar det mesta av den förvirring folk kommer med till detta ämne. Startaren startar ett program; programmet bestämmer vad det minns.

Två uppgifter som bara ser ut som en

Skrivbordsintegration betyder att miljön kan hitta en körbar fil, visa ett namn och en ikon och skicka rätt argument. Applikationstillstånd betyder att programmet skriver en profil på en varaktig plats och läser den igen vid nästa start. Inget av dem förutsätter det andra, därför kan en fungerande genväg starta en klient som glömt allt.

Ändra en ofarlig visningsinställning via programmets egna kontroller, stäng det sedan och öppna det igen på samma sätt. Om inställningen kommer tillbaka fungerar lagringen och det återstående klagomålet handlar om att hitta fönstret snarare än att spara data. Om den försvinner är genvägen en distraktion och den egentliga frågan är var den processen håller sina filer. Testa en inställning i taget, för en klient som frågar efter lösenord igen skyddar kanske en hemlighet i stället för att förlora en konfiguration.

Jämför startparametrarna innan du ominstallerar

Börja vid skrivbordsposten och läs vad den faktiskt gör, för en start från menyn är inte automatiskt samma processmiljö som en start från terminalen. Nycklarna som spelar roll är Exec, Path och indirekt den miljö sessionen tillhandahåller. Ett omslagsskript i Exec kan sätta en variabel, byta katalog eller anropa en privilegierad hjälpare som menyn aldrig visar. Ominstallation ersätter filer som programmet redan hade, och det är sällan variabeln som ändrades.

grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop

Titta på filen under ~/.local/share/applications före den i /usr/share/applications, eftersom en användarkopia skuggar systemkopian. Kör desktop-file-validate när posten beter sig illa och leta efter en inaktuell kopia som fortfarande pekar på en borttagen sökväg. En ogiltig användarkopia föredras fortfarande av de flesta skrivbord, så en trasig fil kan ta bort posten från menyn medan paketets fil förblir giltig. Kör sedan samma kommando för hand och jämför vad de två starterna ger.

Var en inställning faktiskt bor

Program som följer XDG-reglerna för baskataloger lägger konfiguration under $XDG_CONFIG_HOME, varaktigt tillstånd under $XDG_STATE_HOME och engångsdata under $XDG_CACHE_HOME, och använder ~/.config, ~/.local/state och ~/.cache som standard när dessa variabler inte är satta. De tre är roller och inte löften, så en viss VPN-produkt kan dokumentera något helt annat. Att läsa leverantörens egen dokumentation slår att gissa en sökväg utifrån ett katalognamn. När dokumentationen är tunn, följ processen i stället för filsystemet.

En spårning filtrerad på filöppningar visar varje konfigurationssökväg som klienten prövar, inklusive den den skriver vid avslut. Kör den som samme användare med samma miljö och jämför sedan dessa sökvägar med de kataloger du förväntade dig.

strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client

Hemligheter och profiler har olika ägare

En sparad profil och en sparad inloggningsuppgift är separata objekt, ofta med separerad lagring. Den ena kan bo i en konfigurationsfil medan den andra sitter i en nyckelring som låses upp per session, så en klient som frågar efter lösenord igen gör kanske bara det den designades för. Att radera profilen för att stoppa frågan är hur folk förlorar en fungerande konfiguration.

Privilegierade starter komplicerar detta ytterligare, eftersom en start via sudo eller en PolicyKit-hjälpare kan presentera en annan hemkatalog och därmed en annan konfigurationsuppsättning. Rätta ägarskapet på den specifika filen som programmet dokumenterar i stället för rekursivt över en hemkatalog, bestäm sedan vilken identitet som ska äga profilen framöver och håll framtida starter förenliga med den.

Vad ikonen kan och inte kan berätta för dig

En ikon bevisar att en startarfil kan lösas upp, och inget mer. Anslutningstillståndet tillhör klienten, så den enda tillförlitliga kontrollen är gränssnittet, rutten eller klientens egen statusutskrift. En panelapplet som inte startade kan få en fungerande tunnel att se trasig ut, medan en inaktuell applet kan få en trasig tunnel att se bra ut. Testa anslutningen och startaren separat och skriv sedan ned vilken av dem du faktiskt reparerade.

Om båda var trasiga, motstå att behandla reparationen som en enda ändring. Rätta posten, bekräfta starten, bekräfta sedan tunneln och notera resultatet av varje steg. Den anteckningen är det som gör nästa rapport om förlorade inställningar diagnostiserbar i stället för en upprepning av denna, och den berättar också för nästa person vilken halva av problemet som var verklig.

Relaterade artiklar