vim inaganda kupitia SSH? Angalia stty kabla ya kulaumu VPN
Kihariri kilichoganda kupitia SSH kwa kawaida ni tatizo la hali ya terminal, si handaki iliyokatika. Soma stty kwenye pseudo-terminal sahihi, kisha rekebisha hiyo pekee.
Vipindi kama hivi hubaki vimeunganishwa wakati kihariri kinaanza, kisha skrini huacha kusasishwa ingawa mchakato wa SSH ni wazi uko hai. Kuandika hakuleti chochote, Ctrl-C huonekana hakifanyi chochote, na hitimisho dhahiri ni kwamba VPN imeangusha kitu. Mara nyingi handaki ni sawa na pseudo-terminal ya mbali iko katika hali ambayo hakuna aliyekusudia, kwa sababu echo, ingizo la kikanoni na udhibiti wa mtiririko huishi kwenye terminal na si kwenye mtandao. Kujua ni kipi kati ya hivyo vitatu kilichosogea ni kazi ya amri mbili.
Ugandaji huishi kwenye terminal, si kwenye handaki
Pseudo-terminal hubeba zaidi ya baiti. Hushikilia bendera za nidhamu ya mstari ambazo huamua ikiwa ingizo linaecho, ikiwa usomaji unasubiri mstari mpya, ikiwa herufi fulani huzalisha ishara, na ikiwa pato linaweza kusimamishwa na herufi ya udhibiti. Kihariri tendaji hugeuza terminal hiyo kuwa hali mbichi kwa muda wote na inatarajiwa kurejesha mipangilio ya awali wakati wa kutoka. Kurejesha kusipofanyika, shell unayorudi si shell uliyoiacha, hata kama muunganisho haukukatika kamwe.
Linganisha terminal kabla ya kuhitimisha chochote. Kipindi cha pili kinachoendesha kihariri kilekile kinathibitisha kuwa mteja na njia vinaweza kufanya kazi hiyo; havisemi chochote kuhusu terminal ambayo bendera zake zimevunjika.
Soma mipangilio kwenye terminal iliyoganda
Tambua kifaa kwanza, kisha soma aina mbili za hali yake. Aina inayosomeka inaonyesha kile kilichowekwa, na aina ya mashine ni ile unayoweza kurudisha baadaye.
tty
stty -a
stty -g
Vikundi vitatu vya bendera hueleza zaidi ya ripoti hizi. Mipangilio ya echo huamua ikiwa mibonyezo inaonekana kabisa, kwa hivyo terminal iliyo na echo imezimwa huonekana mfu wakati shell inapokea kila herufi. Hali ya kikanoni huamua ikiwa programu inaona ingizo mstari mmoja kwa wakati, kwa hivyo terminal iliyoachwa katika hali ya kikanoni huifanya programu iliyo katika hali mbichi ionekane kana kwamba inapuuza funguo hadi Enter. Mipangilio ya udhibiti wa mtiririko huamua ikiwa terminal inatii herufi XON na XOFF, na kundi hilo huzalisha ugandaji wa uongo wa kushawishi zaidi kati ya matatu.
Rekodi pato kabla ya kubadilisha chochote, hasa wakati kipindi kinabeba viungo maalum vya funguo ambavyo mtu anavitegemea. Aina ya mashine ni rekodi salama zaidi, kwa sharti kwamba inategemea utekelezaji na inapaswa kurejeshwa na aina hiyo hiyo ya mfumo iliyoizalisha.
Rekebisha terminal hiyo moja, si kipindi unachoandikia
Rekebisho la kawaida hurejesha wasifu mzuri ambao ukurasa wa mwongozo unaoorodhesha, na huathiri terminal moja pekee. Ikiwa kihariri bado kinashikilia kazi isiyohifadhiwa kwenye terminal hiyo, iachie hadi kazi ihifadhiwe.
Kutoka shell nyingine, lenga kifaa kilichoganda kwa uwazi ili terminal unayofanyia kazi ibaki bila kuguswa.
stty -F /dev/pts/7 -a
stty -F /dev/pts/7 sane
Skrini tupu yenye onyesho lililoharibika ni tatizo tofauti na nidhamu ya mstari iliyovunjika, na programu ya reset hushughulikia hilo kwa kutoa mifuatano ya uanzishaji wa terminal. Jaribu kwanza ukarabati wa hali, kwa sababu hubadilisha mipangilio unayoweza kuchunguza, ilhali mfuatano wa reset huandika upya skrini na hauelezi chochote kuhusu jinsi ilivyovunjika.
Mtego wa Ctrl-S nyuma ya ugandaji wa kushawishi
Wakati udhibiti wa mtiririko wa programu umewashwa na herufi za kawaida zimegawiwa, Ctrl-S humwambia terminal aache kutuma pato na Ctrl-Q humwambia aendelee. Kipindi hubaki hai muda wote, Ctrl-Q moja mara nyingi ni ukarabati wote, na hakuna kinachoonekana kwenye logi yoyote, na hivyo ugandaji huu hustahimili upandishaji kiasi hiki.
Chunguza mipangilio halisi badala ya kuifikiria. Herufi za kuanza na kusimamisha zinaweza kugawiwa upya au kuzimwa, na terminal iliyo na udhibiti wa mtiririko umezimwa haitajibu yoyote kati yao.
Ikiwa hali inarudi, au SSH yenyewe inakwama
Hali mbaya inayojirudia inaelekeza kwenye kitu kinachobadilisha bendera bila kuzirejesha: faili ya kuanzisha, skripti ya kufunika, multipleksa inayoweka upya dirisha lisilofaa, au programu inayokufa ikiwa imeshikilia hali mbichi. Ongeza ukaguzi wa masharti unaoripoti hali badala ya kuweka upya bila masharti, kwa sababu kuweka upya kwa jumla huficha sababu na kunaweza kupuuza mipangilio ya kukusudiwa.
Wakati trafiki ya kawaida ya SSH pia inakwama, au ukarabati haubadilishi chochote, terminal huacha kuwa mshukiwa.
ssh -vvv [email protected]
ping -M do -s 1400 -c 3 host.example.com
Kukwama kunakoonekana tu wakati wa uhamishaji mkubwa kunaonyesha tatizo la MTU kwenye njia, ilhali kunakomezamisha hata mibonyezo ya pekee kunaonyesha njia au seva na si ukubwa wa pakiti. Tenganisha ushahidi wa terminal na ushahidi wa mtandao, kwa sababu kihariri kinachofanya kazi katika kipindi cha pili si ushahidi kwamba terminal ya kwanza ilikuwa nzuri wakati wowote.