VPN-klient käivitub rakenduste menüüst, tunnel ühendub ja ikoon ei ilmu pärast sisselogimist kunagi ühes masinas, samas kui sama pakett käitub teises masinas korrektselt. Kolm tähelepanekut surutakse üheks kaebuseks: kas programm käivitus, kas selle liides on nähtav ja kas tunnel on üleval. Käivitajat juhib filtreerivate võtmetega töölaua kirje ja sellel kirjel pole VPN-protokolliga midagi pistmist. Käige juhend järjekorras läbi ja peatuge, kui üks kolmest eristub selgelt.

Kolm eraldi fakti: käivitumine, ikoon, tunnel

Töölaua kirje käivitab programmi. See ei saa paigaldada süsteemisalve teostust ega panna indikaatorit ilmuma paneelile, mis ei toeta rakenduse kasutatavat protokolli. Kui protsess juba töötab, on käivitumise küsimus vastatud ja te vaatate hoopis integratsiooniprobleemi.

Tunnel on jälle kolmas fakt. Puuduv ikoon ei ole tõestus, et ühendus katkes, ja kliendi tapmine ning taaskäivitamine ikooni «parandamiseks» on täpselt see viis, kuidas töötav tunnel põhjuseta katkestatakse. Kasutajad teatavad puuduvast ikoonist ja katkisest tunnelist samas lauses, ja just seetõttu tuleb need kaks paberil lahus hoida.

Eraldage need enne, kui midagi muudate. Kontrollige, kas protsess on olemas, seejärel kas paneel toetab indikaatorit ja lõpuks kas liides teavitab ühendusest. Iga vastus osutab erinevale kihile ja erinevale vastutajale.

Leidke kirje, mida sessioon tegelikult loeb

Automaatkäivituse kirjed asuvad kasutaja kataloogis ja süsteemi kataloogis ning failinimede kattumisel võidab kasutaja koopia. Vale kirje lugemine on kõige tavalisem põhjus, miks muudatus näib mõjuta. Loetlege mõlemad kataloogid enne, kui midagi muudate, ja märkige üles, millise faili sessioon tegelikult laadib.

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

Keskkonnamuutuja trükib sessiooni nime, millega filtreerivaid võtmeid võrreldakse, ja see on tavaliselt koolonitega eraldatud loend. Võrrelge seda täht-tähelt kirjes olevate väärtustega, sest need nimed on suur- ja väiketähtedest sõltuvad konfiguratsiooni üksikasjad, mitte sessiooni kirjeldus. Väärtus GNOME ei vasta väärtusele gnome, ja sellest tuleneval vaikusel pole ühtegi veateadet. Trükkige see välja, selle asemel et seda eeldada.

Kui sama failinimi on olemas mõlemas kataloogis, on oluline kasutaja koopia. Süsteemifaili muutmine ja imestamine, miks miski ei muutunud, on väga tavaline kaotatud tund.

Lugege filtreerivad võtmed järjekorras

Allolev näidiskirje näitab võtmeid, mis otsustavad, kas sessioon programmi käivitab. See on fragment, mitte täielik käivitaja, ja väärtused kuuluvad väljamõeldud teele.

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

OnlyShowIn piirab kirje loetletud keskkondadega ja NotShowIn välistab loetletud. Spetsifikatsioon ei määratle kasulikku käitumist, kui mõlemad esinevad ühes kirjes, seega käsitlege mõlemat sisaldavat faili defektina, mitte nutika kombinatsioonina. Eemaldage võti, mida te ei vaja, selle asemel et lisada teine ja loota eelisõiguse reeglile.

TryExec küsib, kas käivitatav fail on olemas, enne kui sessioon selle käivitab. Vanemast paigaldusest jäänud tee surub seetõttu automaatkäivituse maha, isegi kui uus pakett töötab menüüst käivitades, ja see tõrge näeb täpselt välja nagu töölaua filter.

Alistage kasutaja tasandil, mitte süsteemi tasandil

Kui filter on selle masina jaoks tõesti vale, kopeerige süsteemi kirje kasutaja kataloogi ja muutke koopiat. XDG automaatkäivituse reeglite järgi on samanimelisel kasutaja kirjel eesõigus ja Hidden=true keelab kirje ilma süsteemifaili kustutamata.

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

Valideerige tulemus enne väljalogimist, sest vigane kirje jäetakse vaikselt tähelepanuta ja järgmine test ei ütle teile midagi. Paketi uuesti paigaldamine ei eemalda teie alistamist, mis ongi mõte ja ühtlasi põhjus kirja panna, et see olemas on. Märkige faili tee pileti sisse, et järgmine inimene leiaks alistamise, selle asemel et see uuesti tuletada.

Eelistage seda jagatud süsteemi käivitajate muutmisele, mis muudab käitumist masina igale kasutajale ja mida ei saa samamoodi üle vaadata. Kasutaja tasandi alistamine on nähtav ühes kohas, ühe faili kustutamisega tagasipööratav ja piletil lihtsalt selgitatav. Süsteemifail jääb selliseks, nagu tarnija selle saatis, nii et paketi uuendus ei tühista teie põhjendust vaikselt.

Kinnitage käivitumine tunnelit puutumata

Logige välja ja uuesti sisse, seejärel kinnitage, et protsess on olemas, enne kui paneeli vaatate. Edukas käivitumine ja nähtav ikoon on kaks erinevat tulemust, ja ainult teine vajab tööd töölaua integratsiooniga. Nende segamini ajamine saadab teid uuesti paigaldama paketti, mis töötas kogu aeg.

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

Kui protsess puudub, lugege kirje uuesti läbi, otsides allesjäänud filtrit või vananenud TryExec teed. Kui see on olemas, töötas käivitaja ja puuduv ikoon on eraldi probleem paneeli indikaatoritoega, mitte kirjega, mida te just muutsite.

Märkige kolm tähelepanekut pileti sisse: käivitus, nähtav, ühendatud. See kirje takistab järgmisel inimesel sama kolmekordset segadust korrata ja teeb selgeks, milline kiht vajab veel tööd.

Seotud artiklid