vim ngrin përmes SSH? Kontrollo stty përpara se të fajësosh VPN-në
Një redaktues i ngrirë përmes SSH është zakonisht problem i gjendjes së terminalit, jo një tunel i ndërprerë. Lexo stty në pseudo-terminalin e duhur dhe rregullo vetëm atë.
Sesione si ky mbeten të lidhura ndërsa redaktuesi nis, pastaj ekrani ndalon së përditësuari edhe pse procesi SSH është qartë i gjallë. Shtypja nuk prodhon asgjë, Ctrl-C duket se nuk bën asgjë, dhe përfundimi i qartë është se VPN-i ka lëshuar diçka. Shumicën e kohës tuneli është në rregull dhe pseudo-terminali i largët është në një gjendje që askush nuk e synoi, sepse jehona, hyrja kanonike dhe kontrolli i rrjedhës jetojnë në terminal dhe jo në rrjet. Të zbulosh cili nga të tre u zhvendos është punë e dy komandave.
Ngrirja jeton në terminal, jo në tunel
Një pseudo-terminal mbart më shumë se bajt. Mban flamuj të disiplinës së rreshtit që vendosin nëse hyrja jehon, nëse leximet presin një rresht të ri, nëse disa karaktere gjenerojnë sinjale dhe nëse dalja mund të ndalet nga një karakter kontrolli. Një redaktues interaktiv e vendos atë terminal në modalitetin e papërpunuar për gjithë kohëzgjatjen dhe pritet të rivendosë cilësimet e mëparshme kur del. Kur rivendosja nuk ndodh, predha ku kthehesh nuk është predha që le, edhe pse lidhja nuk u ndërpre kurrë.
Krahaso terminalet përpara se të përfundosh diçka. Një sesion i dytë me të njëjtin redaktues dëshmon se klienti dhe rruga mund ta kryejnë punën; nuk thotë asgjë për terminalin flamujt e të cilit janë prishur.
Lexo cilësimet në terminalin që ngrin
Identifiko së pari pajisjen, pastaj lexo të dyja format e gjendjes së saj. Forma e lexueshme tregon çfarë është vendosur, dhe forma e makinës është ajo që mund të rifutësh më vonë.
tty
stty -a
stty -g
Tri grupe flamujsh shpjegojnë shumicën e këtyre raporteve. Cilësimet e jehonës vendosin nëse shtypjet shfaqen fare, kështu që një terminal me jehonë të fikur duket i vdekur ndërsa predha merr çdo karakter. Modaliteti kanonik vendos nëse një program e sheh hyrjen rresht pas rreshti, kështu që një terminal i lënë në modalitet kanonik bën që një aplikacion në modalitet të papërpunuar të duket se i shpërfill tastet deri në Enter. Cilësimet e kontrollit të rrjedhës vendosin nëse terminali i bindet karaktereve XON dhe XOFF, dhe ai grup prodhon ngrirjen e rreme më bindëse nga të tre.
Regjistro daljen përpara se të ndryshosh diçka, sidomos kur sesioni mbart lidhje tastesh të personalizuara nga të cilat dikush varet. Forma e makinës është regjistri më i sigurt, me kushtin që varet nga zbatimi dhe duhet të rivendoset nga i njëjti lloj sistemi që e prodhoi.
Rregullo atë terminal, jo sesionin ku shtyp
Rregullimi standard rivendos profilin e shëndoshë që liston faqja e manualit dhe prek vetëm një terminal. Nëse redaktuesi mban ende punë të paruajtur në atë terminal, lëre të qetë derisa puna të ruhet.
Nga një predhë tjetër, syno në mënyrë të qartë pajisjen e ngrirë, që terminali ku punon të mbetet i paprekur.
stty -F /dev/pts/7 -a
stty -F /dev/pts/7 sane
Një ekran bosh me shfaqje të dëmtuar është problem i ndryshëm nga disiplina e prishur e rreshtit, dhe programi reset merret me të duke emetuar sekuenca inicializimi të terminalit. Provo së pari rregullimin e gjendjes, sepse ndryshon cilësime që mund t'i inspektosh, ndërsa sekuenca reset rishkruan ekranin dhe nuk shpjegon asgjë për mënyrën se si u prish.
Kurthi Ctrl-S pas një ngrirjeje bindëse
Kur kontrolli i rrjedhës nga softueri është i aktivizuar dhe karakteret e zakonshme janë caktuar, Ctrl-S i thotë terminalit të ndalojë së dërguari dalje dhe Ctrl-Q i thotë të vazhdojë. Sesioni mbetet i gjallë gjatë gjithë kohës, një Ctrl-Q i vetëm është shpesh i gjithë rregullimi, dhe asgjë nuk shfaqet në asnjë regjistër, dhe kështu kjo ngrirje i mbijeton kaq shumë përshkallëzimeve.
Inspekto cilësimet reale në vend që t'i supozosh. Karakteret e nisjes dhe të ndalimit mund të ricaktohen ose çaktivizohen, dhe një terminal me kontrollin e rrjedhës të fikur nuk do të reagojë ndaj asnjërit prej tyre.
Nëse gjendja kthehet, ose vetë SSH ngec
Një gjendje e keqe e përsëritur tregon diçka që ndryshon flamujt pa i rivendosur: një skedar nisjeje, një skript mbështjellës, një multiplekser që rivendos dritaren e gabuar, ose një aplikacion që vdes duke mbajtur modalitetin e papërpunuar. Shto një kontroll me kusht që raporton gjendjen në vend të një rivendosjeje të pakushtëzuar, sepse një rivendosje e përgjithshme fsheh shkakun dhe mund të anulojë cilësime të qëllimshme.
Kur edhe trafiku normal SSH ngec, ose rregullimi nuk ndryshon asgjë, terminali pushon së qeni i dyshuari.
ssh -vvv [email protected]
ping -M do -s 1400 -c 3 host.example.com
Një bllokim që shfaqet vetëm gjatë transferimeve të mëdha sugjeron një problem MTU në rrugë, ndërsa një që gëlltit edhe shtypje të vetme tregon rrugën ose serverin, jo madhësinë e paketës. Mbaj provat e terminalit të ndara nga provat e rrjetit, sepse një redaktues që funksionon në një sesion të dytë nuk është provë se terminali i parë ishte ndonjëherë i shëndoshë.