Oprava položky automatického spúšťania VPN, ktorá beží len na jednej ploche
Spúšťač VPN, ktorý sa spustí na jednej ploche a na inej nie, je filter v položke plochy, nie porucha tunela. Najprv si prečítajte OnlyShowIn, TryExec a prepísanie.
Klient VPN sa spustí z ponuky aplikácií, tunel sa pripojí a ikona sa pri prihlásení na jednom počítači nikdy neobjaví, zatiaľ čo ten istý balík sa na inom správa správne. Tri pozorovania sa zlievajú do jednej sťažnosti: či sa program spustil, či je jeho rozhranie viditeľné a či je tunel aktívny. Spúšťač sa riadi položkou plochy s filtrovacími kľúčmi a táto položka nemá s protokolom VPN nič spoločné. Prejdite runbook v poradí a zastavte sa, keď sa jedna z troch vecí čisto oddelí.
Tri oddelené fakty: spustenie, ikona, tunel
Položka plochy spúšťa program. Nemôže nainštalovať implementáciu oznamovacej oblasti a nemôže zabezpečiť, aby sa indikátor objavil v paneli, ktorý nepodporuje protokol, ktorý aplikácia používa. Ak proces už beží, otázka spustenia je zodpovedaná a vy sa namiesto toho pozeráte na problém integrácie.
Tunel je opäť tretí fakt. Chýbajúca ikona nie je dôkazom, že spojenie spadlo, a zabíjanie a reštartovanie klienta, aby sa ikona „opravila“, je presne ten spôsob, akým sa fungujúci tunel bezdôvodne preruší. Používatelia hlásia chýbajúcu ikonu a pokazený tunel v jednej vete, a práve preto treba oboje oddeliť na papieri.
Oddeľte ich, skôr než čokoľvek zmeníte. Skontrolujte, či proces existuje, potom či panel indikátor podporuje, a nakoniec či rozhranie hlási spojenie. Každá odpoveď ukazuje na inú vrstvu a iného vlastníka.
Nájdite položku, ktorú relácia skutočne číta
Položky automatického spúšťania žijú v používateľskom adresári a v systémovom adresári a pri zhode názvov súborov vyhráva používateľská kópia. Čítanie nesprávnej položky je najčastejší dôvod, prečo sa zmena javí bez účinku. Pred akoukoľvek úpravou vypíšte oba adresáre a poznamenajte si, ktorý súbor relácia skutočne načíta.
ls -l ~/.config/autostart/ /etc/xdg/autostart/ echo "$XDG_CURRENT_DESKTOP" grep -H -E '^(OnlyShowIn|NotShowIn|TryExec|Hidden|Exec)=' ~/.config/autostart/*.desktop /etc/xdg/autostart/*.desktop
Premenná prostredia vypisuje názov relácie, s ktorým sa filtrovacie kľúče porovnávajú, a zvyčajne ide o zoznam oddelený dvojbodkami. Porovnajte ju doslovne s hodnotami v položke, pretože tie názvy sú na veľkosť písmen citlivé podrobnosti konfigurácie, nie opis relácie. Hodnota GNOME nezodpovedá gnome, a výsledné ticho nemá pripojenú žiadnu chybovú správu. Vypíšte ju, namiesto aby ste ju predpokladali.
Ak rovnaký názov súboru existuje v oboch adresároch, záleží na používateľskej kópii. Upravovať systémový súbor a čudovať sa, prečo sa nič nezmenilo, je veľmi častá stratená hodina.
Prečítajte filtrovacie kľúče, v poradí
Ilustratívna položka nižšie ukazuje kľúče, ktoré rozhodujú, či relácia program spustí. Je to fragment, nie úplný spúšťač, a hodnoty patria fiktívnej ceste.
[Desktop Entry] Type=Application Name=Example VPN Exec=/opt/example-vpn/client --minimized TryExec=/opt/example-vpn/client OnlyShowIn=GNOME;
OnlyShowIn obmedzuje položku na uvedené prostredia a NotShowIn uvedené vylučuje. Špecifikácia nedefinuje užitočné správanie, keď sa obe objavia v jednej položke, takže súbor obsahujúci obe berte ako chybu, nie ako dômyselnú kombináciu. Odstráňte kľúč, ktorý nepotrebujete, namiesto pridania druhého a spoliehania sa na pravidlo priority.
TryExec sa pýta, či spustiteľný súbor existuje, skôr než ho relácia spustí. Cesta zostávajúca zo staršej inštalácie preto potláča automatické spúšťanie, aj keď nový balík funguje pri spustení z ponuky, a táto porucha vyzerá presne ako filter plochy.
Prepíšte na úrovni používateľa, nie systému
Keď je filter pre tento počítač skutočne nesprávny, skopírujte systémovú položku do používateľského adresára a kópiu zmeňte. Podľa pravidiel automatického spúšťania XDG má používateľská položka s rovnakým názvom prednosť a Hidden=true deaktivuje položku bez odstránenia systémového súboru.
mkdir -p ~/.config/autostart cp /etc/xdg/autostart/example-vpn.desktop ~/.config/autostart/ sed -i '/^OnlyShowIn=/d' ~/.config/autostart/example-vpn.desktop desktop-file-validate ~/.config/autostart/example-vpn.desktop
Overte výsledok pred odhlásením, pretože chybne vytvorená položka sa ticho ignoruje a ďalší test vám nič nepovie. Preinštalovanie balíka neodstráni vaše prepísanie, čo je zmyslom a zároveň dôvodom poznamenať si, že existuje. Zapíšte cestu k súboru do tiketu, aby ďalší človek našiel prepísanie, namiesto toho aby ho znova odvodzoval.
Uprednostnite to pred úpravou zdieľaných systémových spúšťačov, ktorá mení správanie každého používateľa počítača a nie je preskúmateľná rovnakým spôsobom. Prepísanie na úrovni používateľa je viditeľné na jednom mieste, vratné zmazaním jedného súboru a ľahko vysvetliteľné v tikete. Systémový súbor zostáva tak, ako ho dodavateľ odoslal, takže aktualizácia balíka ticho nezruší vaše uvažovanie.
Potvrďte spustenie bez toho, aby ste sa dotkli tunela
Odláste sa a znova prihláste, potom potvrďte, že proces existuje, skôr než sa pozriete na panel. Úspešné spustenie a viditeľná ikona sú dva rôzne výsledky, a len druhý vyžaduje prácu na integrácii s plochou. Zámena týchto dvoch vás pošle preinštalovať balík, ktorý celý čas fungoval.
pgrep -af example-vpn systemctl --user status example-vpn.service journalctl --user -b --no-pager | grep -i example-vpn | tail -20
Ak proces chýba, prečítajte položku znova kvôli zvyšnému filtru alebo zastaranej TryExec ceste. Ak je prítomný, spúšťač fungoval a chýbajúca ikona je samostatný problém s podporou indikátora v paneli, nie s položkou, ktorú ste práve upravili.
Zapíšte tri pozorovania do tiketu: spustené, viditeľné, pripojené. Tento záznam bráni ďalšiemu človeku zopakovať to isté trojité zmätenie a ukazuje, ktorá vrstva ešte potrebuje prácu.