VPN-klienten startar frå programmenyen, tunnelen koplar seg til, og ikonet dukkar aldri opp etter innlogging på éin maskin, medan den same pakka oppfører seg rett på ei anna. Tre observasjonar blir pressa saman til éin klage: om programmet starta, om grensesnittet er synleg og om tunnelen er oppe. Startaren blir styrt av ei skrivebordsoppføring med filtreringsnøklar, og den oppføringa har ingenting med VPN-protokollen å gjere. Gå gjennom rettleiinga i rekkjefølgje og stopp når ein av dei tre skil seg reint ut.

Tre åtskilde fakta: start, ikon, tunnel

Ei skrivebordsoppføring startar eit program. Ho kan ikkje installere ein skuffimplementasjon, og ho kan ikkje få ein indikator til å dukke opp i eit panel som ikkje støttar protokollen programmet brukar. Viss prosessen allereie køyrer, er startspørsmålet svara, og du ser i staden på eit integrasjonsproblem.

Tunnelen er igjen eit tredje faktum. Eit manglande ikon er ikkje prov på at sambandet fall, og å drepe og starte klienten på nytt for å «reparere» ikonet er nettopp måten ein fungerande tunnel blir avbroten utan grunn. Brukarar rapporterer det manglande ikonet og den øydelagde tunnelen i same setning, og difor må dei to skiljast på papiret.

Skil dei før du endrar noko. Sjekk om prosessen finst, deretter om panelet støttar indikatoren, og til slutt om grensesnittet rapporterer ei tilkopling. Kvart svar peikar på eit anna lag og ein annan eigar.

Finn oppføringa økta faktisk les

Autostartoppføringar ligg i brukarkatalogen og i systemkatalogen, og når filnamna er like, vinn brukarkopien. Det å lese feil oppføring er den vanlegaste årsaka til at ei endring ser ut til å ikkje ha effekt. List begge katalogane før du redigerer noko, og noter kva fil økta faktisk vil laste.

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

Miljøvariabelen skriv ut øktnamnet som filtreringsnøklane blir samanlikna med, og det er vanlegvis ei kolonndelt liste. Samanlikn henne bokstaveleg med verdiane i oppføringa, fordi desse namna er konfigurasjonsdetaljar som er følsame for store og små bokstavar og ikkje ei skildring av økta. Ein verdi GNOME svarar ikkje til gnome, og stilla som følgjer har inga feilmelding knytt til seg. Skriv han ut i staden for å gå ut frå han.

Viss det same filnamnet finst i begge katalogane, er det brukarkopien som tel. Å redigere systemfila og lure på kvifor ingenting endra seg er ein svært vanleg tapt time.

Les filtreringsnøklane, i rekkjefølgje

Den illustrerande oppføringa nedanfor viser nøklane som avgjer om ei økt startar programmet. Det er eit fragment, ikkje ein fullstendig startar, og verdiane høyrer til ein fiktiv sti.

[Desktop Entry]
Type=Application
Name=Example VPN
Exec=/opt/example-vpn/client --minimized
TryExec=/opt/example-vpn/client
OnlyShowIn=GNOME;

OnlyShowIn avgrensar oppføringa til dei oppførte miljøa, og NotShowIn utelukkar dei oppførte. Spesifikasjonen definerer ikkje nyttig åtferd når begge førekjem i éi oppføring, så handsam ei fil med begge som ein feil og ikkje som ein smart kombinasjon. Fjern nøkkelen du ikkje treng i staden for å leggje til den andre og håpe på ei prioritetsregel.

TryExec spør om den køyrbare fila finst før økta startar henne. Ein sti som er att etter ein eldre installasjon undertrykkjer difor autostart sjølv om den nye pakka verkar når ho blir starta frå menyen, og den feilen ser nøyaktig ut som eit skrivebordsfilter.

Overstyr på brukarnivå, ikkje på systemnivå

Når filteret verkeleg er feil for denne maskina, kopier systemoppføringa til brukarkatalogen og endre kopien. Etter XDG-reglane for autostart har ei brukaroppføring med same namn forrang, og Hidden=true deaktiverer ei oppføring utan å slette systemfila.

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

Valider resultatet før du loggar ut, fordi ei feilforma oppføring blir ignorert i stillheit og den neste testen fortel deg ingenting. Å installere pakka på nytt fjernar ikkje overstyringa di, som er poenget og også grunnen til å notere at ho finst. Skriv filstien i saka slik at neste person finn overstyringa i staden for å utleie henne på nytt.

Føretrekk dette framfor å redigere delte systemstartarar, som endrar åtferd for kvar brukar på maskina og ikkje kan gjennomgåast på same måte. Ei overstyring på brukarnivå er synleg på éin stad, reversibel ved å slette éi fil, og lett å forklare i ei sak. Systemfila blir verande slik leverandøren sende henne, så ei pakkeoppdatering opphevar ikkje resonnementet ditt i stillheit.

Stadfest starten utan å røre tunnelen

Logg ut og inn igjen, og stadfest deretter at prosessen finst før du ser på panelet. Ein vellukka start og eit synleg ikon er to ulike resultat, og berre det andre krev arbeid med skrivebordsintegrasjon. Å blande dei sender deg ut for å installere på nytt ei pakke som verka heile tida.

pgrep -af example-vpn
systemctl --user status example-vpn.service
journalctl --user -b --no-pager | grep -i example-vpn | tail -20

Viss prosessen manglar, les oppføringa på nytt for eit attverande filter eller ein utdatert TryExec sti. Viss han er til stades, verka startaren, og det manglande ikonet er eit separat problem med indikatorstøtta til panelet, ikkje med oppføringa du nettopp redigerte.

Noter dei tre observasjonane i saka: starta, synleg, tilkopla. Den notata hindrar neste person i å gjenta den same tredelte forvirringa og gjer det klart kva lag som framleis treng arbeid.

Relaterte artiklar