Ẹ̀rọ VPN bẹ̀rẹ̀ láti inú àkójọ àwọn ohun-èlò, ọ̀nà-ìmọ́ so pọ̀, àmì kò sì fi ara rẹ̀ hàn láé lẹ́yìn wíwọlé lórí ẹ̀rọ kan, nígbà tí àkójọ kan náà ń hùwà dáadáa lórí òmíràn. Àwọn àkíyèsí mẹ́ta ni a rọ́ sínú ẹ̀sùn kan: bóyá ètò náà bẹ̀rẹ̀, bóyá ojú-ìwé rẹ̀ hàn, àti bóyá ọ̀nà-ìmọ́ wà ní ìdúró. Àkọsílẹ̀ ojú-iṣẹ́ tí ó ní àwọn kọ́kọ́rọ́ àlẹ̀mọ́ ni ó ń ṣàkóso olùbẹ̀rẹ̀, àkọsílẹ̀ yẹn kò sì ní í ṣe pẹ̀lú ìlànà VPN. Tẹ̀lé ìtọ́nisọ́nà náà lẹ́sẹẹsẹ kí o sì dúró nígbà tí ọ̀kan nínú àwọn mẹ́ta yà sọ́tọ̀ kedere.

Àwọn òtítọ́ mẹ́ta ọ̀tọ̀ọ̀tọ̀: ìbẹ̀rẹ̀, àmì, ọ̀nà-ìmọ́

Àkọsílẹ̀ ojú-iṣẹ́ ń bẹ̀rẹ̀ ètò kan. Kò lè fi àwọn ohun èlò àpótí-ìmọ́ sọ́ ẹ̀rọ, kò sì lè mú kí àmì-hàn farahàn nínú pánẹ́ẹ̀lì tí kò ṣe àtìlẹ́yìn ìlànà tí ohun-èlò náà ń lò. Bí ìlànà náà bá ti ń ṣiṣẹ́ tẹ́lẹ̀, a ti dáhùn ìbéèrè ìbẹ̀rẹ̀, o sì ń wo ìṣòro ìsopọ̀ ní àkókò yẹn.

Ọ̀nà-ìmọ́ tún jẹ́ òtítọ́ kẹta. Àmì tí ó ṣèé ṣe kì í ṣe ẹ̀rí pé ìsopọ̀ já, àti pípa ẹ̀rọ náà pa pẹ̀lú àtúnbẹ̀rẹ̀ rẹ̀ láti «tún àmì náà ṣe» ni ọ̀nà tí a fi ń dá ọ̀nà-ìmọ́ tí ń ṣiṣẹ́ dúró láìsí ìdí. Àwọn olùlò ń jábọ̀ àmì tí ó ṣèé àti ọ̀nà-ìmọ́ tí ó já nínú gbólóhùn kan, ìdí ni yẹn fún pípín àwọn méjèèjì ní kíkà.

Pín wọ́n kí o tó yí ohun kan padà. Ṣàyẹ̀wò bóyá ìlànà wà, lẹ́yìn náà bóyá pánẹ́ẹ̀lì ń ṣe àtìlẹ́yìn àmì-hàn, àti ní kẹ́yìn bóyá ojú-ìwé ń jábọ̀ ìsopọ̀. Gbogbo ìdáhùn ń tọ́ka sí ìpele ọ̀tọ̀ọ̀tọ̀ àti olùṣàkóso ọ̀tọ̀ọ̀tọ̀.

Wá àkọsílẹ̀ tí ìpàdé náà ń kà ní tòótọ́

Àwọn àkọsílẹ̀ ìbẹ̀rẹ̀ aifọwọyi wà nínú àpò olùlò àti nínú àpò ẹ̀rọ, nígbà tí orúkọ fáìlì bá sì jọra, ẹ̀dà olùlò ni ó ń borí. Kíkà èyí tí kò tọ́ ni ìdí tí ó wọ́pọ̀ jù fún ìyípadà tí ó dàbí ẹni pé kò ní ipa. Ṣe àkójọ àwọn àpò méjèèjì kí o tó ṣàtúnṣe ohunkóhun, kí o sì kọ fáìlì tí ìpàdé yóò gbé wọlé ní tòótọ́.

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

Oníyípadà àyíká ń tẹ̀jáde orúkọ ìpàdé tí a fi ń fi àwọn kọ́kọ́rọ́ àlẹ̀mọ́ wé, ó sì sábà jẹ́ àkójọ tí a fi kólọ́nì pín. Fi wé ní ti gbólóhùn pẹ̀lú àwọn iye tí ó wà nínú àkọsílẹ̀, nítorí àwọn orúkọ yẹn jẹ́ kúlẹ̀kúlẹ̀ ìṣètò tí ó gbára lé lẹ́tà ńlá àti kékeré, kì í ṣe àpèjúwe ìpàdé. Iye GNOME kò bá gnome mu, àti ìdákẹ́jẹ́ tí ó ń yọ jáde kò ní ìfiránṣẹ́ àṣìṣe kankan ní ìsopọ̀. Tẹ̀ ẹ́ jáde dípò kí o dá a lórí.

Bí orúkọ fáìlì kan náà bá wà nínú àwọn àpò méjèèjì, ẹ̀dà olùlò ni ó ṣe pàtàkì. Ṣíṣàtúnṣe fáìlì ẹ̀rọ àti ìbéèrè ìdí tí ohunkóhun kò fi yí padà jẹ́ wákàtí tí ó sọnù tí ó wọ́pọ̀.

Ka àwọn kọ́kọ́rọ́ àlẹ̀mọ́, ní lẹ́sẹẹsẹ

Àkọsílẹ̀ àpẹẹrẹ ní ìsàlẹ̀ fi àwọn kọ́kọ́rọ́ tí ó pinnu bóyá ìpàdé yóò bẹ̀rẹ̀ ètò náà hàn. Ó jẹ́ àjẹkù, kì í ṣe olùbẹ̀rẹ̀ pípé, àwọn iye sì jẹ́ ti ọ̀nà àròsọ.

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

OnlyShowIn ń dín àkọsílẹ̀ náà mọ́ àwọn àyíká tí a kọ sílẹ̀, NotShowIn sì ń yọ àwọn tí a kọ sílẹ̀ kúrò. Ìpínradà kò ṣàlàyé ìhùwà tí ó wúlò nígbà tí àwọn méjèèjì bá farahàn nínú àkọsílẹ̀ kan, nítorí náà ka fáìlì tí ó ní àwọn méjèèjì sí àbùkù, kì í ṣe àkópọ̀ ọlọ́gbọ́n. Yọ kọ́kọ́rọ́ tí ìwọ kò nílò kúrò dípò kí o fi èkejì kún un kí o sì retí ìlànà ipò àkọ́kọ́.

TryExec béèrè bóyá fáìlì ṣíṣe wà kí ìpàdé tó bẹ̀rẹ̀ rẹ̀. Nítorí náà ọ̀nà tí ó kù láti ìṣètò àtijọ́ ń pa ìbẹ̀rẹ̀ aifọwọyi mọ́ bí ó tilẹ̀ jẹ́ pé àkójọ tuntun ń ṣiṣẹ́ nígbà tí a bẹ̀rẹ̀ rẹ̀ láti inú àkójọ, àti àbùkù yẹn dàbí àlẹ̀mọ́ ojú-iṣẹ́ gan-an.

Yí padà ní ìpele olùlò, kì í ṣe ní ìpele ẹ̀rọ

Nígbà tí àlẹ̀mọ́ náà bá jẹ́ aṣiṣe gan-an fún ẹ̀rọ yìí, ẹ̀dà àkọsílẹ̀ ẹ̀rọ náà sínú àpò olùlò kí o sì yí ẹ̀dà náà padà. Ní ìbámu pẹ̀lú àwọn ìlànà ìbẹ̀rẹ̀ aifọwọyi XDG, àkọsílẹ̀ olùlò tí ó ní orúkọ kan náà ní ipò àkọ́kọ́, Hidden=true sì ń dá àkọsílẹ̀ kan dúró láìpa fáìlì ẹ̀rọ rẹ́.

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

Ṣàyẹ̀wò àbájáde náà kí o tó jáde, nítorí àkọsílẹ̀ tí kò tọ́ ni a ń fojú kọ̀ ọ́ ní ìdákẹ́jẹ́, ìdánwò tí ó tẹ̀lé e kò sì sọ ohunkóhun fún ọ. Àtúnsí àkójọ náà kò ní yọ ìfòpin tìrẹ kúrò, ìyẹn ni èròǹgbà àti ìdí fún kíkọ pé ó wà. Kọ ọ̀nà fáìlì náà sínú tíkẹ́ẹ̀tì kí ẹni tí ó tẹ̀lé e lè rí ìfòpin náà dípò kí ó tún un yọ jáde.

Yàn èyí ju ṣíṣàtúnṣe àwọn olùbẹ̀rẹ̀ ẹ̀rọ tí a pín lọ, èyí tí ń yí ìhùwà padà fún gbogbo olùlò lórí ẹ̀rọ náà tí a kò sì lè ṣàyẹ̀wò rẹ̀ ní ọ̀nà kan náà. Ìfòpin ní ìpele olùlò hàn ní ibi kan, a lè yí padà nípa pípa fáìlì kan rẹ́, ó sì rọrùn láti ṣàlàyé nínú tíkẹ́ẹ̀tì. Fáìlì ẹ̀rọ náà wà bí olùpèsè ti fi ránṣẹ́, nítorí náà ìmúdójúìwọ̀n àkójọ kò pa ìrònú rẹ mọ́ ní ìdákẹ́jẹ́.

Jẹ́rìí ìbẹ̀rẹ̀ láìfi ọwọ́ kan ọ̀nà-ìmọ́

Jáde kí o sì wọlé lẹ́ẹ̀kan sí i, lẹ́yìn náà jẹ́rìí pé ìlànà náà wà kí o tó wo pánẹ́ẹ̀lì. Ìbẹ̀rẹ̀ tí ó ṣàṣeyọrí àti àmì tí ó hàn jẹ́ àbájáde méjì ọ̀tọ̀ọ̀tọ̀, àti èkejì nìkan ni ó nílò iṣẹ́ ìsopọ̀ ojú-iṣẹ́. Pípa àwọn méjèèjì pọ̀ ń rán ọ lọ láti tún àkójọ kan tí ó ti ń ṣiṣẹ́ ní gbogbo àkókò sí.

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

Bí ìlànà kò bá sí, ka àkọsílẹ̀ náà lẹ́ẹ̀kan sí i fún àlẹ̀mọ́ tí ó kù tàbí ọ̀nà TryExec tí ó ti gbó. Bí ó bá wà, olùbẹ̀rẹ̀ náà ṣiṣẹ́, àmì tí ó ṣèé jẹ́ ìṣòro ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àtìlẹ́yìn àmì-hàn pánẹ́ẹ̀lì, kì í ṣe pẹ̀lú àkọsílẹ̀ tí o ṣẹ̀ṣẹ̀ ṣàtúnṣe.

Kọ àwọn àkíyèsí mẹ́ta sínú tíkẹ́ẹ̀tì: bẹ̀rẹ̀, hàn, só pọ̀. Ìkọsílẹ̀ yẹn ń dẹ́kun ẹni tí ó tẹ̀lé e láti tún ìdàrúdàpọ̀ mẹ́tà kan náà ṣe, ó sì ń fi kedere hàn ìpele tí ó ṣì nílò iṣẹ́.

Àwọn àpilẹ̀kọ tó jọra