vim froast by SSH? Kontrolearje stty foardat jo it VPN de skuld jouwe
In beferzen editor oer SSH is meastentiids in probleem mei de terminalstân, net in brutsen tunnel. Lês stty op it juste pseudoterminal en reparearje allinnich dat.
Sesjes lykas dizze bliuwe ferbûn wylst de editor start, en dan hâldt it skerm op mei fernijen ek al is it SSH-proses dúdlik libben. Typen jout neat, Ctrl-C liket neat te dwaan, en de foar de hân lizzende konklúzje is dat it VPN eat falle litten hat. Meastentiids is de tunnel goed en is it fjirde pseudoterminal yn in stân dy't nimmen bedoeld hie, want echo, kanonike ynfier en streambehear libje yn it terminal en net yn it netwurk. Utfine hokker fan dy trije ferskood is, is wurk fan twa opdrachten.
It froastjen libbet yn it terminal, net yn 'e tunnel
In pseudoterminal draacht mear as bytes. It hâldt rigeldisiplineflaggen dy't beslute oft ynfier werjûn wurdt, oft lêzen op in nije rigel wachtsje, oft beskate tekens sinjalen meitsje en oft útfiere troch in bestjoerteken stoppe wurde kin. In ynteraktive editor set dat terminal foar de doer yn rûge modus en heart de eardere ynstellings by it ferlitten werom te setten. As it weromsetten net bart, is de shell dêr't jo nei weromgeane net de shell dy't jo ferlitten hawwe, ek al is de ferbining nea brutsen.
Fergelykje terminals foardat jo wat konkludearje. In twadde sesje mei deselde editor bewyst dat de klant en it paad it wurk dwaan kinne; it seit neat oer it terminal waans flaggen brutsen binne.
Lês de ynstellings op it terminal dat froast
Identifisearje earst it apparaat en lês dan beide foarmen fan syn stân. De lêsbere foarm lit sjen wat ynsteld is, en de masjinfoarm is de iene dy't jo letter weromjaan kinne.
tty
stty -a
stty -g
Trije flaggroepen ferklearje it measte fan dizze rapporten. Echo-ynstellings beslute oft toetspressings uberhapt ferskine, dus in terminal mei echo út liket dea wylst de shell elk teken ûntfangt. Kanonike modus beslút oft in programma ynfier rigel foar rigel sjocht, dus in terminal dy't yn kanonike modus litten is, makket dat in applikaasje yn rûge modus toetsen liket te negearjen oant Enter. Streambehear-ynstellings beslute oft it terminal de tekens XON en XOFF hearksket, en dy groep produsearret it meast oertsjûgjende falske froastjen fan 'e trije.
Skriuw de útfier op foardat jo wat feroarje, benammen as de sesje eigen toetsbiningen hat dêr't immen fan ôfhinklik is. De masjinfoarm is it feilichste ferslach, mei de betingst dat it ymplemintaasje-ôfhinklik is en troch itselde soart systeem werombrocht wurde moat dat it makke hat.
Reparearje dat iene terminal, net de sesje dêr't jo yn type
De standertreparaasje set it sûne profyl werom dat de hânliedingside leit, en it rekket mar ien terminal. As de editor noch net bewarre wurk yn dat terminal hat, lit it dan gewurde oant it wurk bewarre is.
Fan in oare shell ôf rjochtsje jo eksplisyt op it beferzen apparaat, sadat it terminal dêr't jo yn wurkje ûnoantaaste bliuwt.
stty -F /dev/pts/7 -a
stty -F /dev/pts/7 sane
In leech skerm mei in skansearre werjefte is in oar probleem as brutsen rigeldisipline, en it reset-programma pakket it oan troch terminalinisjalisaasjesekwinsjes út te stjoeren. Besykje earst de stânreparaasje, want dy feroaret ynstellings dy't jo besjen kinne, wylst de reset-sekwinsje it skerm oerskriuwt en neat útlizze oer hoe't it bruts.
De Ctrl-S-fâle efter in oertsjûgjend froastjen
As software-streambehear ynskeakele is en de gewoane tekens tawiisd binne, seit Ctrl-S tsjin it terminal dat it ophâlde moat mei útfier stjoere en Ctrl-Q seit dat it trochgean moat. De sesje bliuwt it hiele tiid libben, ien Ctrl-Q is faak de hiele reparaasje, en der ferskynt neat yn hokker log dan ek, en sa oerlibbet dit froastjen safolle eskalasjes.
Besjoch de wiere ynstellings ynstee fan se oan te nimmen. De start- en stiptekens kinne opnij tawiisd of útskeakele wurde, en in terminal mei streambehear út sil op gjin fan beide reagearje.
As de stân weromkomt, of SSH sels fêstrint
In weromkommende minne stân wiist op eat dat de flaggen feroaret sûnder se werom te setten: in startbestân, in wrapskript, in multiplexer dy't it ferkearde finster reset, of in applikaasje dy't stjert wylst er rûge modus hâldt. Foegje in betingst kontrôle ta dy't de stân rapportearret ynstee fan in sûnder betingst reset, want in algemiene reset ferberget de oarsaak en kin bewuste ynstellings oerskriuwe.
As gewoane SSH-ferkear ek fêstrint, of de reparaasje feroaret neat, hâldt it terminal op de fertochte te wêzen.
ssh -vvv [email protected]
ping -M do -s 1400 -c 3 host.example.com
In fêstrinnen dat allinnich by grutte oerdrachten ferskynt, suggerearret in MTU-probleem op it paad, wylst ien dat ek inkele toetspressings trochslokt op it paad of de tsjinner wiist en net op pakketgrutte. Hâld it bewiismateriaal fan it terminal apart fan it netwurkbewiis, want in wurkjende editor yn in twadde sesje is gjin bewiis dat it earste terminal ea sûn wie.