Die VPN-kliënt begin uit die programkieslys, die tonnel verbind, en die ikoon verskyn nooit ná aanmelding op een masjien nie, terwyl dieselfde pakket op 'n ander masjien werk. Drie waarnemings word in een klag saamgevat: of die program begin het, of sy koppelvlak sigbaar is, en of die tonnel aktief is. Die bekendsteller word deur 'n werkskerminskrywing met filterende sleutels beheer, en daardie inskrywing het niks met die VPN-protokol te doen nie. Werk die prosedure in volgorde deur en stop wanneer een van die drie skoon uitgeken is.

Drie afsonderlike feite: bekendstelling, ikoon, tonnel

’n Werkskerminskrywing begin 'n program. Dit kan nie 'n taakbalkimplementering installeer nie, en dit kan nie 'n indikator in 'n paneel laat verskyn wat nie die protokol ondersteun wat die toepassing gebruik nie. As die proses reeds loop, is die vraag oor die bekendstelling beantwoord en kyk jy eerder na 'n integrasieprobleem.

Die tonnel is weer 'n derde feit. 'n Ontbrekende ikoon is nie bewys dat die verbinding weggeval het nie, en om die kliënt te dood en te herbegin om die ikoon te “herstel”, is hoe 'n werkende tonnel sonder rede onderbreek word. Gebruikers rapporteer die ontbrekende ikoon en die gebreekte tonnel in dieselfde sin, en juis daarom moet die twee op papier geskei word.

Skei hulle voordat jy enigiets verander. Kyk of die proses bestaan, dan of die paneel die indikator ondersteun, en dan of die koppelvlak 'n verbinding rapporteer. Elke antwoord wys na 'n ander laag en 'n ander eienaar.

Vind die inskrywing wat die sessie werklik lees

Outostarte-inskrywings woon in die gebruikersgids en die stelselgids, en die gebruikerskopie wen wanneer die lêername ooreenstem. Om die verkeerde een te lees is die algemeenste rede waarom 'n verandering lyk of dit geen effek het nie. Lys albei gidse voordat jy enigiets wysig, en let op watter lêer die sessie werklik sal laai.

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

Die omgewingsveranderlike druk die sessienaam wat die filterende sleutels vergelyk, en dit is gewoonlik 'n dubbelpunt-geskeide lys. Vergelyk dit letterlik met die waardes in die inskrywing, want daardie name is hooflettergevoelige konfigurasiebesonderhede eerder as 'n beskrywing van die sessie. ’n Waarde van GNOME stem nie ooreen met gnome nie, en die daaropvolgende stilte het geen foutboodskap nie. Druk dit eerder as om dit te aanvaar.

As dieselfde lêernaam in albei gidse bestaan, is dit die gebruikerskopie wat saak maak. Om die stelsellêer te wysig en te wonder waarom niks verander het nie, is 'n baie algemene verlore uur.

Lees die filterende sleutels, in volgorde

Die voorbeeldinskrywing hieronder wys die sleutels wat besluit of 'n sessie die program begin. Dit is 'n fragment, nie 'n volledige bekendsteller nie, en die waardes hoort by 'n fiktiewe pad.

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

OnlyShowIn beperk die inskrywing tot die gelyste omgewings en NotShowIn sluit die gelyste omgewings uit. Die spesifikasie definieer geen nuttige gedrag wanneer albei in een inskrywing voorkom nie, so behandel 'n lêer met albei as 'n fout eerder as 'n slim kombinasie. Verwyder die sleutel wat jy nie nodig het nie, in plaas daarvan om die tweede een by te voeg en op 'n voorrangreël te hoop.

TryExec vra of die uitvoerbare lêer bestaan voordat die sessie dit begin. 'n Pad wat van 'n ouer installasie oorgebly het, onderdruk dus outostart selfs al werk die nuwe pakket wanneer dit uit die kieslys begin word, en daardie fout lyk presies soos 'n werkskermfilter.

Oorheers op gebruikersvlak, nie op stelselvlak nie

Wanneer die filter werklik verkeerd is vir hierdie masjien, kopieer die stelselinskrywing na die gebruikersgids en verander die kopie. Onder die XDG-outostartreëls het 'n gelyknamige gebruikersinskrywing voorrang, en Hidden=true deaktiveer een sonder om die stelsellêer te verwyder.

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

Valideer die resultaat voordat jy afmeld, want 'n wanvormige inskrywing word stilweg geïgnoreer en die volgende toets sê vir jou niks. Om die pakket te herinstalleer sal nie jou oorheersing verwyder nie, dit is juis die punt en ook die rede om aan te teken dat dit bestaan. Noem die lêerpad in die kaartjie sodat die volgende persoon die oorheersing vind eerder as om dit weer af te lei.

Verkies dit bo die wysiging van gedeelde stelselbekendstellers, wat die gedrag vir elke gebruiker op die masjien verander en nie op dieselfde manier hersienbaar is nie. 'n Oorheersing op gebruikersvlak is op een plek sigbaar, omkeerbaar deur een lêer te verwyder, en maklik om in 'n kaartjie te verduidelik. Die stelsellêer bly soos die verskaffer dit verskeep het, so 'n pakketopdatering maak nie stilweg jou redenasie ongedaan nie.

Bevestig die bekendstelling sonder om aan die tonnel te raak

Meld af en weer aan, en bevestig dan dat die proses bestaan voordat jy na die paneel kyk. ’n Suksesvolle bekendstelling en 'n sigbare ikoon is twee verskillende resultate, en net die tweede een het werkskermintegrasie nodig. Om hulle te verwar, laat jou 'n pakket herinstalleer wat die hele tyd gewerk het.

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

As die proses afwesig is, lees die inskrywing weer vir 'n oorblywende filter of 'n verouderde TryExec pad. As dit teenwoordig is, het die bekendsteller gewerk en is die ontbrekende ikoon 'n aparte probleem met die paneel se indikatorondersteuning, nie met die inskrywing wat jy pas gewysig het nie.

Teken die drie waarnemings in die kaartjie aan: begin, sigbaar, verbind. Daardie rekord verhoed dat die volgende persoon dieselfde drievoudige verwarring herhaal, en dit maak duidelik watter laag nog werk nodig het.

Verwante artikels