Eng VPN-Autostart-Andeelung reparéieren, déi nëmmen op engem Desktop leeft
En VPN-Starter, deen op engem Desktop startet an op engem aneren net, ass e Filter an der Desktop-Andeelung, keen Tunneldefekt. Liest fir d'éischt OnlyShowIn, TryExec an d'Iwwerschreiwung.
De VPN-Client startet aus dem Applikatiounsmenü, den Tunnel verbënnt, an d'Icon erschéngt ni nom Umellen op enger Maschinn, wärend dee selwechte Paket sech op enger anerer normal behëlt. Dräi Observatioune gi matenee an eng Reklamatioun gepresst: ob de Programm gestart ass, ob seng Interface siichtbar ass an ob den Tunnel steet. De Starter gëtt vun enger Desktop-Andeelung mat Filter-Schlësselen geréiert, an déi Andeelung huet näischt mam VPN-Protokoll ze dinn. Gitt d'Uleedung der Rei no duerch a stoppt, wann ee vun den dräi sech propper trennt.
Dräi getrennt Fakten: Start, Icon, Tunnel
Eng Desktop-Andeelung startet e Programm. Si kann keng Tray-Implementatioun installéieren, an si kann keen Indikator an engem Panel erschéngen, deen de Protokoll vun der Applikatioun net ënnerstëtzt. Wann de Prozess schonn leeft, ass d'Startfro beäntwert an Dir kuckt amplaz op en Integratiounsproblem.
Den Tunnel ass nach eng drëtt Tatsaach. En feelt Icon ass kee Beweis datt d'Verbindung ofgebrach ass, an de Client ëmzebréngen an nei ze starten, fir d'Icon ze «reparéieren», ass genau de Wee wéi en funktionéierenden Tunnel ouni Grond ënnerbrach gëtt. D'Benotzer mellen de fehlenden Icon an den gebrochenen Tunnel am selwechte Saz, an dowéinst mussen déi zwou um Pabeier getrennt ginn.
Trennt se, ier Dir eppes ännert. Préift ob de Prozess existéiert, dann ob de Panel den Indikator ënnerstëtzt, an endlech ob d'Interface eng Verbindung mellt. All Äntwert weist op eng aner Schicht an en aneren Verantwortlechen.
Fannt d'Andeelung, déi d'Sessioun tatsächlech liest
Autostart-Andeelunge liewen am Benotzerverzeechnis an am Systemverzeechnis, a wann d'Dateinimm gläich sinn, gewënnt d'Kopie vum Benotzer. Déi falsch ze liesen ass dee heefegste Grond firwat eng Ännerung ouni Wierkung schéngt. Lëscht béid Verzeechnisser, ier Dir eppes ännert, a notéiert wéi eng Datei d'Sessioun tatsächlech lued.
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
D'Ëmweltvariabel dréckt den Numm vun der Sessioun aus, mat deem d'Filter-Schlësselen verglach ginn, an dat ass meeschtens eng Lëscht déi mat Doppelpunkten getrennt ass. Vergläicht se wuertwiertlech mat de Wäerter an der Andeelung, well dës Nimm si grouss- a klengschrëftempfindlech Konfiguratiounsdetailer an net eng Beschreiwung vun der Sessioun. E Wäert GNOME entsprécht net gnome, an d'Stëllt déi duerch dat entsteet huet keng Fehlermeldung. Dréckt se aus, amplaz se unzehuelen.
Wann deen selwechten Dateinumm a béiden Verzeechnisser existéiert, ass et d'Kopie vum Benotzer déi zielt. D'Systemdatei änneren an sech froen firwat näischt geännert huet, ass eng ganz heefeg verluer Stonn.
Liest d'Filter-Schlësselen, der Rei no
D'Beispill-Andeelung hei drënner weist d'Schlësselen déi entscheeden ob eng Sessioun de Programm startet. Et ass e Fragment, keen vollstännege Starter, an d'Wäerter gehéieren zu engem fiktive Wee.
[Desktop Entry] Type=Application Name=Example VPN Exec=/opt/example-vpn/client --minimized TryExec=/opt/example-vpn/client OnlyShowIn=GNOME;
OnlyShowIn beschränkt d'Andeelung op déi opgezielt Ëmfelder an NotShowIn schléisst déi opgezielt aus. D'Spezifikatioun definéiert kee nëtzlecht Verhalen, wa béid an enger Andeelung optrieden, also behandelt eng Datei mat béiden als Defekt an net als clevere Kombinatioun. Huet de Schlëssel eraus deen Dir net braucht, amplaz den zweeten derbäizesetzen an op eng Prioritéitsregel ze hoffen.
TryExec freet ob d'Ausféierdatei existéiert, ier d'Sessioun se startet. En Wee dee vun enger eelerer Installatioun rescht, ënnerdréckt dowéinst den Autostart, och wann dee neie Paket beim Start aus dem Menü funktionéiert, an dëse Feeler gesäit genee wéi en Desktop-Filter aus.
Iwwerschreift um Benotzerniveau, net um Systemniveau
Wann de Filter fir dës Maschinn wierklech falsch ass, kopéiert d'System-Andeelung an d'Benotzerverzeechnis an ännert d'Kopie. No den XDG-Autostart-Reegelen huet eng Benotzer-Andeelung mam selwechten Numm Prioritéit, an Hidden=true deaktivéiert eng Andeelung ouni d'Systemdatei ze läschen.
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
Validéiert d'Resultat ier Dir Iech ofmellt, well eng feelerhaft Andeelung stëll ignoréiert gëtt an den nächsten Test Iech näischt seet. De Paket nei installéieren hëlt Är Iwwerschreiwung net ewech, dat ass den Zweck an och de Grond fir ze notéieren datt se existéiert. Notéiert de Dateiweg am Ticket, sou datt déi nächst Persoun d'Iwwerschreiwung fënnt amplaz se nach eng Kéier ofzeleeden.
Preferéiert dëst virum Ännere vu gedeelte Systemstarter, wat d'Verhalen fir all Benotzer op der Maschinn ännert a sech net op déi selwecht Manéier iwwerpréiwe léisst. Eng Iwwerschreiwung um Benotzerniveau ass op enger Plaz siichtbar, ëmgedréint duerch Läschen vun enger Datei, an am Ticket einfach z'erklären. D'Systemdatei bleift wéi de Fournisseur se geliwwert huet, also hëlt e Paketupdate Är Iwwerleeung net stëll zeréck.
Bestätegt den Start ouni den Tunnel unzefassen
Mellt Iech of a weider un, a bestätegt dann datt de Prozess existéiert, ier Dir op de Panel kuckt. Ee erfollegräiche Start an eng siichtbar Icon sinn zwou verschidden Resultater, an nëmmen déi zweet brauch Aarbecht un der Desktop-Integratioun. Wa Dir se verweesselt, gitt Dir e Paket nei installéieren deen déi ganz Zäit funktionéiert huet.
pgrep -af example-vpn systemctl --user status example-vpn.service journalctl --user -b --no-pager | grep -i example-vpn | tail -20
Wann de Prozess feelt, liest d'Andeelung nach eng Kéier op en iwwerbleiwe Filter oder en verälerte TryExec Wee. Wann en do ass, huet de Starter funktionéiert an den fehlenden Icon ass en eegene Problem mat der Indikatorënnerstëtzung vum Panel, net mat der Andeelung déi Dir just geännert hutt.
Notéiert déi dräi Observatiounen am Ticket: gestart, siichtbar, verbonnen. Dës Opzeechnung verhënnert datt déi nächst Persoun déiselwecht dräifach Verwiirung widderhëlt, an et mécht kloer wéi eng Schicht nach Aarbecht brauch.