Mipangilio ya zana ya VPN: mazingira wakati wa kuanzisha au usafirishaji ndani ya ndoano?
Ndoano huanzisha watoto wake mwenyewe, si shell uliyoifungua tayari. Mazingira ya wakati wa kuanzisha huweka mwisho wa faragha kwenye amri moja tu inayohitaji.
Ndoano ya VPN inayosafirisha mwisho wa API hubadilisha mazingira ya michakato inayoianzisha, si ya terminal iliyokuwa tayari wazi wakati handaki ilipoinuka. Tofauti hii moja inaeleza sehemu kubwa ya ripoti «zana bado inaita mwisho wa umma». Kuna maeneo mawili yanayofaa kwa mpangilio huu, na uchaguzi hutegemea nani anautumia na ni mara ngapi unabadilika. Linganisha yote mawili kabla ya kuongeza script nyingine ya kuanzisha.
Maeneo mawili ambapo mpangilio unaweza kuishi
Chaguo la kwanza ni kiambishi kwenye amri yenyewe: thamani ipo kwa wito huo mmoja tu na hutoweka pamoja nao. Chaguo la pili ni usafirishaji ndani ya ndoano ya muunganisho, ambao hufikia kila mchakato ambao ndoano huanzisha baada ya hatua hiyo. Zinatofautiana kwa wigo na muda wa uhai, si kwa sintaksia, na tofauti hiyo huamua kushindwa kwingi.
| Property | Prefix on the command | Export from the hook |
|---|---|---|
| Who receives it | That invocation only | Children the hook starts |
| Lifetime | Until the process exits | Until the hook's own session ends |
| Leakage | Scoped to one command | Applies to later commands in that session |
| Repeat cost | Every invocation | Once per connection |
| Works for an open editor | No, unless the editor is started with it | No |
Jedwali hufanya ndoano ionekane nafuu na huficha bili halisi: pia huchagua mwisho wa faragha kwa amri ambazo hazina uhusiano wowote na kazi. Soma kila safu kama kikwazo, si kama upendeleo. Ikiwa mwisho unabadilika kwa kila kazi, kiambishi hushinda kwa usahihi ingawa kinagharimu mguso mmoja wa kitufe.
Kwa nini ndoano haiwezi kufikia shell iliyo wazi tayari
Vigeu vya mazingira hupewa mchakato wakati picha ya mchakato inaundwa. Shell iliyoanza kabla ya muunganisho huhifadhi nakala iliyoipokea, na usafirishaji unaotekelezwa ndani ya ndoano si utangazaji kwa kila mchakato kwenye mashine. Ni watoto wa ndoano yenyewe pekee wanaourithi. Watoto wa shell huchukua kile shell inachoshikilia wakati wanapoanza, na ndiyo sababu amri hiyo hiyo inaweza kufanya kazi kwenye terminal moja na kushindwa kwenye nyingine.
Vilevile ni kweli kwa kihariri cha picha. Mwenyeji wake wa viendelezi, terminal iliyojengwa ndani na seva ya lugha ya chinichini ziligawanyika wakati wa kuanzisha na huhifadhi nakala zao. Kufungua folda tena hakuanzishi watoto hao upya kwa lazima, kwa hiyo mpangilio ulioongeza bado haufiki kamwe.
Jaribio la bei nafuu zaidi ni kuchapisha kigeu kutoka mahali panaposhindikana, si kutoka kwenye shell inayofanya kazi. Ikiwa mchakato unaoshindikana ulianza kabla ya handaki, usafirishaji haukuwa na nafasi yoyote.
Umbo la kila amri, likiwa limeandikwa
Kiambishi hushikilia chaguo likionekana ndani ya amri inayolitumia, jambo ambalo husaidia pale mwisho unapobadilika kati ya kazi:
env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool
Amri ni mfano tu: my-work-tool ni kishikilia nafasi na INTERNAL_API si kiwango cha VPN, kwa hiyo weka mpangilio ulioandikwa wa programu unayoendesha kwa kweli na mwenyeji wako ulioidhinishwa. Usiweke tokeni au nenosiri kwenye mstari huo huo, kwa sababu huishia kwenye historia ya shell.
Wakati amri kadhaa ni za kazi moja, script fupi ya kufungasha iliyopitiwa huweka vigeu kisha kuzianzisha. Hii huhifadhi ufafanuzi mmoja bila kufanya thamani kuwa ya jumla kwa kila amri ijayo kwenye terminal.
Pakia upya, anzisha upya au iacha
Kwa zana inayoendesha tayari, pendelea upakiaji wake upya au wasifu wa nafasi ya kazi ikiwa unayo. Vinginevyo hifadhi kazi na uanzishe upya sehemu inayosoma mpangilio, ambayo mara nyingi ni seva ya lugha na si dirisha la kihariri. Kuanzisha upya dirisha na kudhani michakato watoto ilifuata ndiyo sababu upakiaji upya huonekana kama haufanyi kazi.
Kukatisha muunganisho ni uamuzi tofauti. Kusitisha, kufunga au kuunganisha tena ni jambo la programu, na kigeu cha mwisho hakikidhibiti hilo. Chukulia kigeu kama usanidi unaochagua anwani, si kama kanuni kuhusu trafiki gani ya mtandao inaweza kutumika baadaye, na mambo mawili yanabaki tofauti.