vim tardub SSH kaudu? Kontrollige stty, enne kui süüdistate VPN-i
Külmunud redaktor SSH kaudu on tavaliselt terminali oleku probleem, mitte katkenud tunnel. Lugege stty õigel pseudoterminalil ja parandage ainult see.
Sellised sessioonid jäävad ühendatuks, kuni redaktor käivitub, ja siis lõpetab ekraan uuenemise, kuigi SSH protsess on selgelt elus. Tippimine ei anna midagi, Ctrl-C näib mitte midagi tegevat, ja ilmne järeldus on, et VPN pillas midagi maha. Enamasti on tunnel korras ja kaugpseudoterminal on olekus, mida keegi ei kavatsenud, sest kaja, kanooniline sisend ja voolujuhtimine elavad terminalis, mitte võrgus. Välja selgitada, milline neist kolmest liikus, on kahe käsu töö.
Külmumine elab terminalis, mitte tunnelis
Pseudoterminal kannab enamat kui baidid. See hoiab rea distsipliini lippe, mis otsustavad, kas sisendit kajastatakse, kas lugemised ootavad uut rida, kas teatud märgid tekitavad signaale ja kas väljundit saab juhtmärgiga peatada. Interaktiivne redaktor lülitab selle terminali kogu ajaks toorrezhiimi ja peaks väljumisel taastama eelmised seaded. Kui taastamine ei toimu, ei ole kest, kuhu naasete, see kest, mille maha jätsite, isegi kui ühendus ei katkenud kunagi.
Võrrelge terminale, enne kui midagi järeldate. Teine sessioon sama redaktoriga tõestab, et klient ja tee suudavad tööd teha; see ei ütle midagi terminali kohta, mille lipud on katki.
Lugege seadeid terminalil, mis tardus
Tuvastage esmalt seade ja lugege siis selle oleku mõlemat vormi. Loetav vorm näitab, mis on seatud, ja masinavorm on see, mille saate hiljem tagasi anda.
tty
stty -a
stty -g
Kolm lipugruppi selgitavad enamikku neist aruannetest. Kaja seaded otsustavad, kas vajutused üldse ilmuvad, nii et väljalülitatud kajaga terminal näeb välja surnud, samal ajal kui kest saab iga märgi. Kanooniline režiim otsustab, kas programm näeb sisendit üks rida korraga, nii et kanoonilisse režiimi jäetud terminal paneb toorrezhiimis rakenduse nii näima, nagu eiraks see klahve kuni Enterini. Voolujuhtimise seaded otsustavad, kas terminal kuuletub märkidele XON ja XOFF, ja see grupp tekitab kolmest kõige veenvama vale külmumise.
Salvestage väljund enne, kui midagi muudate, eriti kui sessioon kannab kohandatud klahvisidemeid, millest keegi sõltub. Masinavorm on kõige turvalisem kirje, tingimusel et see sõltub teostusest ja seda peaks taastama sama tüüpi süsteem, mis selle tekitas.
Parandage just seda terminali, mitte sessiooni, milles tipite
Standardparandus taastab terved profiili, mille käsileht loetleb, ja see mõjutab ainult ühte terminali. Kui redaktor hoiab selles terminalis veel salvestamata tööd, jätke see rahule, kuni töö on salvestatud.
Teisest kestast suunake selgesõnaliselt tardunud seadmele, et terminal, milles töötate, jääks puutumata.
stty -F /dev/pts/7 -a
stty -F /dev/pts/7 sane
Tühi ekraan rikutud kuvaga on eraldi probleem katkisest rea distsipliinist, ja programm reset lahendab selle terminali algatamise jadade väljastamisega. Proovige esmalt oleku parandust, sest see muudab seadeid, mida saate kontrollida, samal ajal kui reset-jada kirjutab ekraani üle ega selgita midagi selle kohta, kuidas see katki läks.
Ctrl-S lõks veenva külmumise taga
Kui tarkvara voolujuhtimine on lubatud ja tavalised märgid on määratud, ütleb Ctrl-S terminalile väljundi saatmise lõpetada ja Ctrl-Q ütleb sellel jätkata. Sessioon jääb kogu aeg elusaks, üks Ctrl-Q on sageli kogu parandus, ja üheski logis ei ilmu midagi, ja nii see külmumine nii palju eskaleerimisi üle elab.
Kontrollige tegelikke seadeid, selle asemel et neid eeldada. Algus- ja lõpumärke saab ümber määrata või keelata, ja väljalülitatud voolujuhtimisega terminal ei reageeri kummalelegi.
Kui olek naaseb või SSH ise takerdub
Korduv halb olek viitab millelegi, mis muudab lippe ilma neid taastamata: algusfail, mähiskript, valele aknale lähtestamise tegev multiplexer või rakendus, mis sureb toorrezhiimi hoides. Lisage tingimuslik kontroll, mis teatab olekust, mitte tingimusteta lähtestamine, sest üldine lähtestamine varjab põhjuse ja võib tühistada tahtlikud seaded.
Kui ka tavaline SSH-liiklus takerdub või parandus ei muuda midagi, lõpetab terminal kahtlusalune olemise.
ssh -vvv [email protected]
ping -M do -s 1400 -c 3 host.example.com
Takerdumine, mis ilmub ainult suurte ülekannete ajal, viitab tee MTU probleemile, samas kui see, mis neelab ka üksikuid vajutusi, osutab teele või serverile, mitte paketi suurusele. Hoidke terminali tõendid võrgu tõenditest eraldi, sest teises sessioonis töötav redaktor ei ole tõestus, et esimene terminal oli kunagi terve.