De VPN-klant start fan it tapassingsmenu, de tunnel ferbynt, en it byldkaike ferskynt nea nei it oanmelden op ien masine, wylst itselde pakket him op in oare masine normaal hâldt en draacht. Trije waarnimmings wurde yn ien klacht gearfoege: oft it programma start is, oft syn ynterface sichtber is en oft de tunnel oan is. De starter wurdt regele troch in buroblêdynfier mei filterkaaien, en dy ynfier hat neat mei it VPN-protokol te krijen. Wurkje de hânlieding yn folchoarder troch en stopje as ien fan de trije him skjin ôfskiedt.

Trije aparte feiten: start, byldkaike, tunnel

In buroblêdynfier start in programma. It kin gjin tray-ymplemintaasje ynstallearje, en it kin gjin yndikator yn in paniel ferskine litte dat it protokol fan 'e tapassing net stipet. As it proses al rint, is de fraach oer de start beantwurde en sjogge jo ynstee nei in yntegraasjeprobleem.

De tunnel is wer in tredde feit. In ûntbrekkend byldkaike is gjin bewiis dat de ferbining foel, en it stopjen en werstarten fan 'e klant om it byldkaike te «repararjen» is krekt hoe't in wurkjende tunnel sûnder reden ûnderbrutsen wurdt. Brûkers melde it ûntbrekkende byldkaike en de stikene tunnel yn deselde sin, en dêrom moatte de twa op papier skieden wurde.

Skiede se foardat jo eat feroarje. Kontrolearje oft it proses bestiet, dan oft it paniel de yndikator stipet, en dan oft de ynterface in ferbining meldt. Elk antwurd wiist nei in oare laach en in oare eigner.

Fyn de ynfier dy't de sesje eins lêst

Autostartynfieringen steane yn 'e brûkersmap en yn 'e systeemmap, en as de bestânsnammen oerienkomme, wint de brûkerskopie. De ferkearde lêze is de meast foarkommende reden dat in feroaring gjin effekt liket te hawwen. List beide mappen foardat jo eat bewurkje, en notearje hokker bestân de sesje eins lade sil.

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

De omjouwingsfariabele printsje de sesjenamme dêr't de filterkaaien mei ferlike wurde, en dat is meast in list skieden troch dûbele punten. Ferlykje dy letterlik mei de wearden yn 'e ynfier, want dy nammen binne haadlettergefoelige konfiguraasjedetails en gjin beskriuwing fan 'e sesje. In wearde GNOME komt net oerien mei gnome, en de stilte dy't dêrop folget hat gjin flaterberjocht. Printsje it ynstee fan it oan te nimmen.

As deselde bestânsnamme yn beide mappen bestiet, is de brûkerskopie dejinge dy't telt. It systeembestân bewurkje en jin ôffreegje wêrom't neat feroare is, is in hiel gewoane ferlerne oere.

Lês de filterkaaien, yn folchoarder

De foarbyldynfier hjirûnder lit de kaaien sjen dy't beslute oft in sesje it programma start. It is in fragmint, gjin folsleine starter, en de wearden hearre by in fiktive paad.

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

OnlyShowIn beheint de ynfier ta de neamde omjouwings en NotShowIn slút de neamde út. De spesifikaasje definiearret gjin brûkber gedrach as beide yn ien ynfier ferskine, behannelje in bestân mei beide dus as in defekt en net as in snuggem kombinaasje. Ferwiderje de kaai dy't jo net nedich hawwe ynstee fan de twadde ta te foegjen en op in foarrangsregel te hoopjen.

TryExec freget oft it útfierbere bestân bestiet foardat de sesje it start. In paad dat oerbliuwt fan in âldere ynstallaasje ûnderdrukt dêrom autostart, ek al wurket it nije pakket by it starten fanút it menu, en dat defekt liket krekt as in buroblêdfilter.

Oerskriuw op brûkersnivo, net op systeemnivo

As it filter foar dit masine echt ferkeard is, kopiearje dan de systeemynfier nei de brûkersmap en feroarje de kopy. Neffens de XDG-autostartregels hat in brûkersynfier mei deselde namme foarrang, en Hidden=true skeakelet in ynfier út sûnder it systeembestân te wiskjen.

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

Falidearje it resultaat foardat jo ôfmelde, want in ferkeard foarme ynfier wurdt stil negearre en de folgjende test fertelt jo neat. It pakket op 'e nij ynstallearje sil jo oerskriuwing net fuortsmite, dat is it punt en ek de reden om te notearjen dat it bestiet. Notearje it bestânspaad yn 'e ticket sadat de folgjende persoan de oerskriuwing fynt ynstee fan dy op 'e nij ôf te lieden.

Foarkar dit boppe it bewurkjen fan dielde systeemstarters, dat it gedrach foar elke brûker fan 'e masine feroaret en net op deselde wize te beoardieljen is. In oerskriuwing op brûkersnivo is op ien plak sichtber, werom te draaien troch ien bestân te wiskjen en maklik út te lizzen yn in ticket. It systeembestân bliuwt sa't de leveransier it ferstjoerde, sadat in pakketfernijing jo redenearring net stil ûngedien makket.

Befêstigje de start sûnder de tunnel oan te reitsjen

Meld ôf en wer oan, befêstigje dan dat it proses bestiet foardat jo nei it paniel sjogge. In suksesfolle start en in sichtber byldkaike binne twa ferskillende resultaten, en allinich it twadde hat wurk oan buroblêd-yntegraasje nedich. Se trochinoar helje stjoert jo it pakket op 'e nij ynstallearje dat de hiele tiid wurke.

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

As it proses ûntbrekt, lês de ynfier dan op 'e nij foar in oerbleaun filter of in ferâldere TryExec paad. As it oanwêzich is, hat de starter wurke en is it ûntbrekkende byldkaike in apart probleem mei de yndikatorstipe fan it paniel, net mei de ynfier dy't jo krekt bewurke hawwe.

Notearje de trije waarnimmings yn 'e ticket: start, sichtber, ferbûn. Dat ferslach foarkomt dat de folgjende persoan deselde triple betizing werhellet en makket dúdlik hokker laach noch wurk nedich hat.

Relatearre artikelen