Мындай сессиялар редактор башталып жатканда туташкан бойдон калат, анан SSH процесси ачык тирүү болсо да экран жаңыртууну токтотот. Терүү эч нерсе бербейт, Ctrl-C эч нерсе кылбайт окшойт, жана ачык жыйынтык — VPN бир нерсени түшүрүп койду. Көбүнчө туннель жакшы, ал эми алыскы псевдотерминал эч ким ойлогон эмес абалда болот, анткени эхо, канондук киргизүү жана агымды башкаруу тармакта эмес, терминалда жашайт. Ошол үчөөнүн кайсынысы жылганын аныктоо эки буйруктун иши.

Тоңуу туннелде эмес, терминалда жашайт

Псевдотерминал байттардан көбүрөөк ташыйт. Ал сап тартибинин желегин кармайт, алар киргизүүнүн эхо болушун, окуулардын жаңы сапты күтүшүн, айрым белгилердин сигнал жаратышын жана чыгарылышты башкаруу белгиси менен токтотууга болорун чечет. Интерактивдүү редактор ошол терминалды бүт убакыт бою чийки режимге өткөрөт жана чыгууда мурунку жөндөөлөрдү калыбына келтириши керек. Калыбына келтирүү болбосо, кайтып келген кабык сиз таштаган кабык эмес, туташуу эч качан үзүлбөсө да.

Бир нерсе жөнүндө жыйынтык чыгарбастан мурун терминалдарды салыштырыңыз. Ошол эле редакторду иштеткен экинчи сессия кардар менен жолдун ишти аткара аларын далилдейт; желеги бузулган терминал жөнүндө ал эч нерсе айтпайт.

Тоңуп калган терминалдан жөндөөлөрдү окуңуз

Алгач түзмени аныктаңыз, анан анын абалынын эки формасын окуңуз. Окулуучу форма эмне коюлганын көрсөтөт, ал эми машина формасы — кийинчерээк кайтарып бере турган форма.

tty
stty -a
stty -g

Үч желе топтому бул отчёттордун көбүн түшүндүрөт. Эхо жөндөөлөрү баскыч басуулардын таптакыр көрүнүшүн чечет, ошондуктан эхосу өчүк терминал өлүк көрүнөт, ал эми кабык ар бир белгини алып жатат. Канондук режим программа киргизүүнү бир саптан көрөрүн чечет, ошондуктан канондук режимде калтырылган терминал чийки режимдеги колдонмону Enterге чейин баскычтарды этибарга албайт кылып көрсөтөт. Агымды башкаруу жөндөөлөрү терминалдын XON жана XOFF белгилерине багынышын чечет, жана ошол топ үчөөнүн ичинен эң ишенимдүү жасалма тоңууну жаратат.

Бир нерсени өзгөртүүдөн мурун чыгарылышты жазып алыңыз, айрыкча сессия бирөө көз каранды болгон жеке баскыч байланыштарын алып жүрсө. Машина формасы — эң коопсуз жазуу, ал ишке ашырууга көз каранды жана аны жараткан системанын ушул эле түрү калыбына келтириши керек деген шарт менен.

Ошол терминалды оңдоңуз, сиз терип жаткан сессияны эмес

Стандарттык оңдоо колдонмо баракчасында тизилген ден соолуктуу профилди калыбына келтирет жана бир гана терминалга таасир этет. Эгер редактор ошол терминалда сакталбаган ишти кармап турса, иш сакталганга чейин аны жалгыз калтырыңыз.

Башка кабыктан тоңуп калган түзмени ачык көрсөтүңүз, ошентип сиз иштеп жаткан терминал тийилбеген бойдон калат.

stty -F /dev/pts/7 -a
stty -F /dev/pts/7 sane

Бузулган дисплейи бар бош экран — бузулган сап тартибинен өзүнчө маселе, ал эми reset программасы аны терминалды инициализациялоо ырааттарын жөнөтүү менен чечет. Алгач абалды оңдоону көрүңүз, анткени ал өзүңүз текшере ала турган жөндөөлөрдү өзгөртөт, ал эми reset ырааты экранды кайра жазып, анын кантип бузулганы жөнүндө эч нерсе түшүндүрбөйт.

Ишенимдүү тоңуунун артындагы Ctrl-S тузагы

Программалык агымды башкаруу күйгүзүлүп, кадимки белгилер дайындалганда, Ctrl-S терминалга чыгарылыш жөнөтүүнү токтотууну айтат, ал эми Ctrl-Q улантууну айтат. Сессия бүт убакыт тирүү бойдон калат, бир эле Ctrl-Q көбүнчө бүт оңдоо болот жана эч бир журналда эч нерсе көрүнбөйт, ошентип бул тоңуу ушунча эскалациядан аман калат.

Божомолдоонун ордуна чыныгы жөндөөлөрдү карап чыгыңыз. Баштоо жана токтотуу белгилерин кайра дайындоого же өчүрүүгө болот, ал эми агымды башкаруусу өчүк терминал экөөнө тең жооп бербейт.

Абал кайта келсе, же SSH өзү тыгылып калса

Кайталануучу жаман абал желелерди калыбына келтирбестен өзгөрткөн нерсени көрсөтөт: баштоо файлы, каптоо скрипти, туура эмес терезени кайра коюучу мультиплексор же чийки режимди кармап өлгөн колдонмо. Шартсыз кайра коюунун ордуна абалды билдирген шарттуу текшерүү кошуңуз, анткени жалпы кайра коюу себепти жашырат жана атайын жасалган жөндөөлөрдү басып кетиши мүмкүн.

Кадимки SSH трафиги да тыгылса, же оңдоо эч нерсени өзгөртпөсө, терминал шектүү болууну токтотот.

ssh -vvv [email protected]
ping -M do -s 1400 -c 3 host.example.com

Тек чоң өткөрмөлөр учурунда пайда болгон тыгылуу жолдун MTU маселесин көрсөтөт, ал эми жалгыз баскыч басууларды да жутуп кеткен тыгылуу пакеттин өлчөмүнө эмес, жолго же серверге көрсөтөт. Терминал далилдерин тармак далилдеринен бөлүк кармаңыз, анткени экинчи сессияда иштеп жаткан редактор биринчи терминалдын качандыр бир ден соолуктуу болгонуна далил эмес.

Тектеш макалалар