Àwọn àkọsílẹ̀ àkójọ tí ó sọnù àti àwọn ààyò tí ó ń pòórá ni a ń túnṣe pẹ̀lú ìdáhùn kan náà, bí ó tilẹ̀ jẹ́ pé àwọn ìṣòro tí kò ní ìbáṣepọ̀ ni wọ́n. Ọ̀kan jẹ́ ìsopọ̀ pẹ̀lú ojú-iṣẹ́, èkejì jẹ́ ipò ohun èlò, àmì tuntun kò sì yí èyíkéyìí nínú àwọn méjèèjì padà fúnra rẹ̀. Pípín wọn sí méjì nílò àdánwò kan ó sì ṣàlàyé ọ̀pọ̀ jùlọ ìdàrúdàpọ̀ tí àwọn ènìyàn ń mú wá sí kókó yìí. Olùbẹ̀rẹ̀ ń bẹ̀rẹ̀ ètò kan; ètò náà ni ó ń pinnu ohun tí ó máa rántí.

Iṣẹ́ méjì tí ó dà bí ọ̀kan

Ìsopọ̀ pẹ̀lú ojú-iṣẹ́ túmọ̀ sí pé àyíká lè rí fáìlì ìṣiṣẹ́, fi orúkọ àti àmì hàn, kí ó sì gbé àwọn àríyànjiyàn títọ́ kọjá. Ipò ohun èlò túmọ̀ sí pé ètò náà ń kọ àkọsílẹ̀ sí ibi tí ó dúró ṣinṣin, kí ó sì tún kà á ní ìgbà ìbẹ̀rẹ̀ tó ń bọ̀. Kò sí èyíkéyìí tí ó túmọ̀ èkejì, ìdí nìyí tí ọ̀nà àbáyọ tí ń ṣiṣẹ́ lè bẹ̀rẹ̀ alábàáṣiṣẹ́pọ̀ tí ó ti gbàgbé gbogbo nkan.

Yí ààyò ìfihàn kan tí kò léwu padà nípasẹ̀ àwọn ìdarí ètò náà fúnra rẹ̀, lẹ́yìn náà pa á kí o sì tún ṣí i ní ọ̀nà kan náà. Bí ààyò náà bá padà, ìpamọ́ ń ṣiṣẹ́ àti ẹ̀sùn tó kù jẹ́ nípa wíwa fèrèsé àti kì í ṣe fífipamọ́ dátà. Bí ó bá pòórá, ọ̀nà àbáyọ náà jẹ́ ìdàrúdàpọ̀ àti ìbéèrè gidi ni ibi tí ìlànà yẹn ti ń pa àwọn fáìlì rẹ̀ mọ́. Dán ààyò kan wò ní àkókò kan, nítorí alábàáṣiṣẹ́pọ̀ tí ó ń béèrè ọ̀rọ̀ ìkọ̀kọ̀ lẹ́ẹ̀kan sí i lè máa dáàbò bo àṣírí dípò pípàdánù ìṣètò.

Ṣe àfiwé àwọn ìwọlé ìbẹ̀rẹ̀ kí o tó tún fi sori ẹ̀rọ

Bẹ̀rẹ̀ ní àkọsílẹ̀ ojú-iṣẹ́ kí o sì ka ohun tí ó ń ṣe ní ti gidi, nítorí bíbẹ̀rẹ̀ láti inú àkójọ kì í ṣe àyíká ìlànà kan náà ní àìlọ́wọ́ bí bíbẹ̀rẹ̀ láti inú ẹ̀rọ ìkọ̀wé. Àwọn kọ́kọ́rọ́ pàtàkì ni Exec, Path àti ní ọ̀nà àìtọ́ àyíká tí ìpàdé ń pèsè. Àkọsílẹ̀ ìdìbò kan nínú Exec lè ṣètò àyípadà kan, yí àkójọ padà tàbí pe olùrànlọ́wọ́ aláṣẹ kan tí àkójọ kò fi hàn rí. Àtúnsìn ń rọ́pò àwọn fáìlì tí ètò náà ti ní tẹ́lẹ̀, ìyẹn sì kì í sábà jẹ́ àyípadà tí ó yí padà.

grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop

Wo fáìlì tí ó wà lábẹ́ ~/.local/share/applications kí o tó wo èyí tí ó wà nínú /usr/share/applications, nítorí ẹ̀dà olùlò ń bo ẹ̀dà ẹ̀rọ náà mọ́lẹ̀. Ṣe desktop-file-validate nígbà tí àkọsílẹ̀ náà bá hu ìwà búburú, kí o sì wá ẹ̀dà àtijọ́ tí ó ṣì ń tọ́ka sí ipa tí a ti yọ kúrò. Ọ̀pọ̀ ojú-iṣẹ́ ṣì ń fẹ́ ẹ̀dà olùlò tí kò tọ́, nítorí náà fáìlì tí ó bàjẹ́ lè yọ àkọsílẹ̀ kúrò nínú àkójọ nígbà tí fáìlì àkópọ̀ náà ṣì wà ní ẹ̀tọ́. Lẹ́yìn náà ṣe àṣẹ kan náà pẹ̀lú ọwọ́ kí o sì ṣe àfiwé ohun tí ìbẹ̀rẹ̀ méjèèjì ń mú jáde.

Ibi tí ààyò ń gbé ní ti gidi

Àwọn ohun èlò tí ó ń tẹ̀lé àwọn ìlànà àkójọ ìpìlẹ̀ XDG ń gbé ìṣètò sábẹ́ $XDG_CONFIG_HOME, ipò tí ó dúró ṣinṣin sábẹ́ $XDG_STATE_HOME àti dátà tí a lè dà nù sábẹ́ $XDG_CACHE_HOME, wọ́n sì ń lo ~/.config, ~/.local/state àti ~/.cache gẹ́gẹ́ bí àìlọ́wọ́ nígbà tí a kò bá ṣètò àwọn àyípadà yẹn. Àwọn mẹ́ta yìí jẹ́ ipa kì í ṣe ìlérí, nítorí náà ọjà VPN pàtó kan lè ṣàkọsílẹ̀ ohun mìíràn pátápátá. Kíkà ìwé àwọn olùpèsè fúnra rẹ̀ dára ju fíronú ipa kan láti orúkọ àkójọ. Nígbà tí ìwé náà bá kéré, ṣàkíyèsí ìlànà náà dípò ẹ̀rọ fáìlì.

Ìtọpinpin tí a yọ̀ǹda sí ṣíṣí fáìlì ń fi gbogbo ipa ìṣètò tí alábàáṣiṣẹ́pọ̀ ń dán wò hàn, pẹ̀lú ipa tí ó ń kọ nígbà tí ó bá jáde. Ṣe é gẹ́gẹ́ bí olùlò kan náà pẹ̀lú àyíká kan náà, lẹ́yìn náà ṣe àfiwé àwọn ipa yẹn pẹ̀lú àwọn àkójọ tí o ń retí.

strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client

Àṣírí àti àkọsílẹ̀ ní olówó ọ̀tọ̀ọ̀tọ̀

Àkọsílẹ̀ tí a ti pamọ́ àti ẹ̀rí ìdánimọ̀ tí a ti pamọ́ jẹ́ ohun méjì ọ̀tọ̀ọ̀tọ̀, ọ̀pọ̀ ìgbà pẹ̀lú ibi ìpamọ́ ọ̀tọ̀ọ̀tọ̀. Ọ̀kan lè gbé inú fáìlì ìṣètò nígbà tí èkejì jókòó nínú òrùka kọ́kọ́rọ́ tí ó ń ṣí fún ìpàdé kọ̀ọ̀kan, nítorí náà alábàáṣiṣẹ́pọ̀ tí ó ń béèrè ọ̀rọ̀ ìkọ̀kọ̀ lẹ́ẹ̀kan sí i lè máa ṣe ohun tí a ṣe é fún gan-an. Pípa àkọsílẹ̀ náà kúrò láti dá ìbéèrè dúró ni ọ̀nà tí àwọn ènìyàn ń fi pàdánù ìṣètò tí ń ṣiṣẹ́.

Àwọn ìbẹ̀rẹ̀ aláṣẹ ń mú èyí díjú sí i, nítorí ìbẹ̀rẹ̀ nípasẹ̀ sudo tàbí olùrànlọ́wọ́ PolicyKit lè fi àkójọ ilé mìíràn àti nípa bẹ́ẹ̀ àkójọ ìṣètò mìíràn hàn. Ṣàtúnṣe ẹ̀tọ́ lórí fáìlì pàtó tí ohun èlò náà ṣàkọsílẹ̀ kì í ṣe ní ọ̀nà àtúnṣe lórí gbogbo àkójọ ilé, lẹ́yìn náà pinnu irú ẹni tí ó yẹ kí ó ní àkọsílẹ̀ náà láti ìsinsìnyí lọ kí o sì jẹ́ kí àwọn ìbẹ̀rẹ̀ ọjọ́ iwájú ní ìbámu pẹ̀lú rẹ̀.

Ohun tí àmì lè sọ fún ọ àti ohun tí kò lè sọ

Àmì ń fẹ̀rí pé fáìlì olùbẹ̀rẹ̀ ń yanjú, kì í sì í ṣe ju bẹ́ẹ̀ lọ. Ipò ìsopọ̀ jẹ́ ti alábàáṣiṣẹ́pọ̀, nítorí náà àyẹ̀wò tí ó ṣeé gbára lé nìkan ni ojú-ọ̀nà, ipa tàbí àbájáde ipò alábàáṣiṣẹ́pọ̀ fúnra rẹ̀. Ohun èlò kékeré tí ó wà nínú àtẹ̀ tí kò bẹ̀rẹ̀ lè jẹ́ kí ọ̀nà abẹ́lẹ̀ tí ń ṣiṣẹ́ dà bí èyí tí ó bàjẹ́, nígbà tí ohun èlò kékeré àtijọ́ lè jẹ́ kí èyí tí ó bàjẹ́ dà bí èyí tí ó dára. Dán ìsopọ̀ àti olùbẹ̀rẹ̀ wò lọ́tọ̀ọ̀tọ̀, lẹ́yìn náà kọ èyí tí o túnṣe ní ti gidi.

Bí àwọn méjèèjì bá bàjẹ́, yẹ̀ ẹ̀mí ìdánúṣe láti kà àtúnṣe náà sí àyípadà kan. Tún àkọsílẹ̀ náà ṣe, jẹ́rìí ìbẹ̀rẹ̀ náà, lẹ́yìn náà jẹ́rìí ọ̀nà abẹ́lẹ̀ náà, kí o sì kọ àbájáde ìgbésẹ̀ kọ̀ọ̀kan. Àkọsílẹ̀ yẹn ni ó ń jẹ́ kí ìròyìn tó ń bọ̀ nípa àwọn ètò tí ó sọnù lè ṣe àyẹ̀wò dípò àtúnyẹ̀wò èyí, ó sì tún sọ fún ẹni tó ń bọ̀ ìlàwọ̀ wo nínú ìṣòro náà ni ó jẹ́ gidi.

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