Prečo nová skratka VPN nevráti stratené nastavenia
Spúšťač rozhoduje, ako sa program spustí, nie kde uchováva svoje predvoľby. Porovnajte kontext spustiteľného súboru, používateľa a konfigurácie, skôr než obviníte ikonu.
Chýbajúce položky ponuky a miznúce predvoľby sa opravujú tým istým reflexom, hoci ide o nesúvisiace problémy. Jedno je integrácia s plochou, druhé je stav aplikácie, a nová ikona sama osebe nemení ani jedno. Rozdeliť ich vyžaduje jeden experiment a vysvetľuje väčšinu zmätku, ktorý ľudia k tejto téme prinášajú. Spúšťač spustí program; program rozhoduje, čo si pamätá.
Dve práce, ktoré vyzerajú len ako jedna
Integrácia s plochou znamená, že prostredie dokáže nájsť spustiteľný súbor, zobraziť názov a ikonu a odovzdať správne argumenty. Stav aplikácie znamená, že program zapíše profil na trvalé miesto a pri ďalšom spustení ho znova načíta. Ani jedno nevyplýva z druhého, a preto funkčná skratka môže spustiť klienta, ktorý na všetko zabudol.
Zmeňte jednu neškodnú predvoľbu zobrazenia cez vlastné ovládacie prvky aplikácie, potom ju rovnakým spôsobom zavrite a znova otvorte. Ak sa predvoľba vráti, ukladanie funguje a zostávajúca sťažnosť sa týka hľadania okna, nie ukladania údajov. Ak zmizne, skratka je rozptýlenie a skutočná otázka znie, kde ten proces drží svoje súbory. Testujte jednu predvoľbu po druhej, pretože klient, ktorý znova žiada heslo, možno chráni tajomstvo, a nie stráca konfiguráciu.
Porovnajte vstupy spustenia pred preinštalovaním
Začnite pri položke na ploche a prečítajte si, čo skutočne robí, pretože spustenie z ponuky nie je automaticky to isté procesné prostredie ako spustenie z terminálu. Kľúče, na ktorých záleží, sú Exec, Path a nepriamo prostredie, ktoré poskytuje sedenie. Obalový skript v Exec môže nastaviť premennú, zmeniť adresár alebo zavolať privilegovaného pomocníka, ktorého ponuka nikdy neukáže. Preinštalovanie nahrádza súbory, ktoré aplikácia už mala, a to je zriedka tá premenná, ktorá sa zmenila.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
Pozrite sa na súbor v ~/.local/share/applications skôr ako na ten v /usr/share/applications, pretože používateľská kópia zatláňa systémovú kópiu. Spustite desktop-file-validate, keď sa položka správa zle, a hľadajte zastaranú kópiu, ktorá stále ukazuje na odstránenú cestu. Neplatná používateľská kópia je na väčšine plôch stále uprednostňovaná, takže poškodený súbor môže položku z ponuky odstrániť, kým súbor z balíka zostáva platný. Potom ten istý príkaz spustite ručne a porovnajte, čo obe spustenia vytvoria.
Kde predvoľba skutočne žije
Aplikácie, ktoré dodržiavajú pravidlá základných adresárov XDG, ukladajú konfiguráciu do $XDG_CONFIG_HOME, trvalý stav do $XDG_STATE_HOME a jednorazové údaje do $XDG_CACHE_HOME, pričom štandardne používajú ~/.config, ~/.local/state a ~/.cache, keď tieto premenné nie sú nastavené. Tie tri sú roly, nie sľuby, takže konkrétny produkt VPN môže dokumentovať niečo úplne iné. Čítanie vlastnej dokumentácie dodávateľa je lepšie než hádanie cesty z názvu adresára. Keď je dokumentácia riedka, sledujte proces namiesto súborového systému.
Trasovanie filtrované na otváranie súborov ukazuje každú konfiguračnú cestu, ktorú klient skúša, vrátane tej, ktorú zapisuje pri ukončení. Spustite ho ako ten istý používateľ s tým istým prostredím a potom tieto cesty porovnajte s adresármi, ktoré ste očakávali.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Tajomstvá a profily majú rôznych vlastníkov
Uložený profil a uložený prihlasovací údaj sú oddelené objekty, často s oddeleným úložiskom. Jeden môže žiť v konfiguračnom súbore, zatiaľ čo druhý sedí v kľúčenke, ktorá sa odomyká pre sedenie, takže klient, ktorý znova žiada heslo, možno len robí to, na čo bol navrhnutý. Zmazanie profilu, aby sa zastavila výzva, je spôsob, akým ľudia prídu o funkčnú konfiguráciu.
Privilegované spustenia to ďalej komplikujú, pretože spustenie cez sudo alebo pomocníka PolicyKit môže predstaviť iný domovský adresár a teda inú sadu konfigurácie. Opravte vlastníctvo na konkrétnom súbore, ktorý aplikácia dokumentuje, nie rekurzívne v celom domovskom adresári, potom rozhodnite, ktorá identita má profil naďalej vlastniť, a udržujte budúce spustenia s ňou v súlade.
Čo vám ikona môže a nemôže povedať
Ikona dokazuje, že sa súbor spúšťača vyrieši, a nič viac. Stav pripojenia patrí klientovi, takže jediná spoľahlivá kontrola je rozhranie, trasa alebo vlastný výstup stavu klienta. Aplet v oznamovacej oblasti, ktorý sa nespustil, môže spôsobiť, že funkčný tunel vyzerá pokazený, zatiaľ čo zastaraný aplet môže pokazený tunel ukázať ako v poriadku. Testujte pripojenie a spúšťač oddelene a potom zapíšte, ktorý z nich ste vlastne opravili.
Ak boli pokazené obe, odolajte pokušeniu brať opravu ako jednu zmenu. Opravte položku, potvrďte spustenie, potom potvrďte tunel a zaznamenajte výsledok každého kroku. Práve tento záznam robí z ďalšieho hlásenia o stratených nastaveniach diagnostikovateľnú vec namiesto opakovania tohto, a tiež hovorí ďalšiemu človeku, ktorá polovica problému bola skutočná.