Nagsisimula ang VPN client mula sa menu ng mga application, kumokonekta ang tunnel, at hindi kailanman lumilitaw ang icon pagkatapos mag-sign in sa isang makina, habang ang parehong package ay kumikilos nang tama sa isa pa. Tatlong obserbasyon ang pinagsasama sa isang reklamo: kung nagsimula ang programa, kung nakikita ang interface nito, at kung nakaangat ang tunnel. Ang launcher ay pinamamahalaan ng desktop entry na may mga filter key, at ang entry na iyon ay walang kinalaman sa VPN protocol. Sundin ang gabay sa pagkakasunod-sunod at huminto kapag ang isa sa tatlo ay malinis na nahiwalay.

Tatlong magkakahiwalay na katotohanan: pagsisimula, icon, tunnel

Ang desktop entry ay naglulunsad ng programa. Hindi ito makakapag-install ng tray implementation, at hindi nito mapapalabas ang indicator sa panel na hindi sumusuporta sa protocol na ginagamit ng application. Kung tumatakbo na ang proseso, nasagot na ang tanong sa pagsisimula at tinitingnan mo na lang ang isang problema sa integration.

Ang tunnel ay isa na namang ikatlong katotohanan. Ang nawawalang icon ay hindi ebidensya na naputol ang koneksyon, at ang pagpatay at pag-restart ng client para «ayusin» ang icon ay siya mismong paraan kung paano napuputol ang gumaganang tunnel nang walang dahilan. Iniuulat ng mga user ang nawawalang icon at ang sirang tunnel sa isang pangungusap, at iyon mismo ang dahilan kung bakit kailangang paghiwalayin ang dalawa sa papel.

Paghiwalayin sila bago ka magbago ng kahit ano. Tingnan kung may proseso, pagkatapos kung sinusuportahan ng panel ang indicator, at sa huli kung nag-uulat ang interface ng koneksyon. Bawat sagot ay tumuturo sa ibang layer at ibang may-ari.

Hanapin ang entry na talagang binabasa ng session

Ang mga autostart entry ay nasa user directory at system directory, at kapag magkapareho ang mga filename, ang kopya ng user ang nananalo. Ang pagbasa ng maling entry ang pinakakaraniwang dahilan kung bakit parang walang epekto ang isang pagbabago. Ilista ang dalawang directory bago mag-edit ng kahit ano, at itala kung aling file ang talagang ikakarga ng session.

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

Ang environment variable ay nagpi-print ng pangalan ng session na pinaghahambingan ng mga filter key, at kadalasan ito ay listahang pinaghihiwalay ng tutuldok. Ihambing ito nang literal sa mga halaga sa entry, dahil ang mga pangalang iyon ay mga detalye ng configuration na sensitibo sa malalaki at maliliit na titik at hindi paglalarawan ng session. Isang halaga GNOME ay hindi tumutugma sa gnome, at ang resultang katahimikan ay walang nakakabit na mensahe ng error. I-print ito sa halip na ipagpalagay.

Kung ang parehong filename ay umiiral sa dalawang directory, ang kopya ng user ang mahalaga. Ang pag-edit ng system file at pagtatanong kung bakit walang nagbago ay isang napakakaraniwang nasayang na oras.

Basahin ang mga filter key, sa pagkakasunod-sunod

Ang halimbawang entry sa ibaba ay nagpapakita ng mga key na nagpapasya kung ilulunsad ng session ang programa. Ito ay pira-piraso, hindi kumpletong launcher, at ang mga halaga ay kabilang sa isang gawa-gawang path.

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

OnlyShowIn nililimitahan ang entry sa mga nakalistang environment at NotShowIn ibinubukod ang mga nakalista. Hindi tinutukoy ng specification ang kapaki-pakinabang na pag-uugali kapag pareho silang lumitaw sa isang entry, kaya ituring ang file na naglalaman ng pareho bilang depekto at hindi bilang matalinong kombinasyon. Alisin ang key na hindi mo kailangan sa halip na idagdag ang pangalawa at umasa sa panuntunan ng priyoridad.

TryExec nagtatanong kung umiiral ang executable bago ito ilunsad ng session. Kaya ang path na natira mula sa lumang installation ay nagsusupil sa autostart kahit gumagana ang bagong package kapag inilunsad mula sa menu, at ang kabiguang iyon ay mukhang eksaktong filter ng desktop.

I-override sa antas ng user, hindi sa antas ng system

Kapag talagang mali ang filter para sa makinang ito, kopyahin ang system entry sa user directory at baguhin ang kopya. Ayon sa mga patakaran ng autostart ng XDG, ang user entry na may parehong pangalan ay may priyoridad, at Hidden=true hindi pinapagana ang isang entry nang hindi binubura ang system file.

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

I-validate ang resulta bago mag-log out, dahil ang maling naka-format na entry ay tahimik na binabalewala at wala mang sinasabi sa iyo ang susunod na pagsubok. Ang muling pag-install ng package ay hindi mag-aalis ng iyong override, iyon ang punto at gayundin ang dahilan upang itala na umiiral ito. Itala ang path ng file sa ticket upang mahanap ito ng susunod na tao sa halip na muling hanguin.

Mas mainam ito kaysa sa pag-edit ng mga shared system launcher, na nagbabago ng pag-uugali para sa bawat user sa makina at hindi masusuri sa parehong paraan. Ang override sa antas ng user ay nakikita sa isang lugar, maibabalik sa pamamagitan ng pagbura ng isang file, at madaling ipaliwanag sa ticket. Nananatili ang system file gaya ng ipinadala ng vendor, kaya ang update ng package ay hindi tahimik na nagpapawalang-bisa sa iyong pangangatwiran.

Kumpirmahin ang pagsisimula nang hindi hinahawakan ang tunnel

Mag-log out at mag-log in muli, pagkatapos ay kumpirmahin na may proseso bago tingnan ang panel. Ang matagumpay na pagsisimula at nakikitang icon ay dalawang magkaibang resulta, at ang pangalawa lamang ang nangangailangan ng desktop integration na trabaho. Ang paghahalo sa kanila ay magpapadala sa iyo na muling i-install ang package na gumagana sa buong panahon.

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

Kung wala ang proseso, basahin muli ang entry para sa natitirang filter o lumang TryExec path. Kung naroroon ito, gumana ang launcher at ang nawawalang icon ay hiwalay na problema sa suporta ng indicator ng panel, hindi sa entry na karara mong in-edit.

Itala ang tatlong obserbasyon sa ticket: nagsimula, nakikita, konektado. Ang talaang iyon ay pumipigil sa susunod na tao na ulitin ang parehong tatlong-daan na kalituhan, at nililinaw kung aling layer ang kailangan pa ng trabaho.

Kaugnay na mga artikulo