Bu kimi sessiyalar redaktor başlayarkən qoşulmuş qalır, sonra SSH prosesi açıq şəkildə işlədiyi halda ekran yenilənməyi dayandırır. Yazmaq heç nə vermir, Ctrl-C heç nə etmir kimi görünür və aşkar nəticə VPN-in nəyisə saldığıdır. Çox vaxt tunel sağlam olur və uzaq psevdoterminal heç kimin nəzərdə tutmadığı vəziyyətdə olur, çünki echo, kanonik giriş və axın nəzarəti şəbəkədə deyil, terminalda yaşayır. Bu üçündən hansının yerindən qalxdığını tapmaq iki əmrdən ibarət işdir.

Donma tuneldə deyil, terminalda yaşayır

Psevdoterminal baytlardan çoxunu daşıyır. O, girişin əks-səda verilib-verilmədiyini, oxumaların yeni sətir gözləyib-gözləmədiyini, müəyyən simvolların siqnal yaradıb-yaratmadığını və çıxışın idarə simvolu ilə dayandırılıb-dayandırılmadığını müəyyən edən sətir nizamı bayraqlarını saxlayır. İnteraktiv redaktor həmin terminalı müddət boyu xam rejimə keçirir və çıxışda əvvəlki parametrləri bərpa etməlidir. Bərpa baş vermədikdə, qayıtdığınız qabıq tərk etdiyiniz qabıq deyil, hətta əlaqə heç vaxt kəsilməsə də.

Nəticə çıxarmazdan əvvəl terminalları müqayisə edin. Eyni redaktoru işlədən ikinci sessiya müştərinin və yolun işi görə bildiyini sübut edir; bu, bayraqları pozulmuş terminal haqqında heç nə demir.

Parametrləri donmuş terminalda oxuyun

Əvvəlcə cihazı müəyyən edin, sonra onun vəziyyətinin hər iki formasını oxuyun. Oxunaqlı forma nəyin təyin edildiyini göstərir, maşın forması isə sonra geri qaytara biləcəyiniz formadır.

tty
stty -a
stty -g

Üç bayraq qrupu bu hesabatların çoxunu izah edir. Echo parametrləri düymə basmalarının ümumiyyətlə görünüb-görünmədiyini müəyyən edir, ona görə echo söndürülmüş terminal ölü görünür, halbuki qabıq hər simvolu alır. Kanonik rejim proqramın girişi bir dəfə bir sətir görüb-görmədiyini müəyyən edir, ona görə kanonik rejimdə qalmış terminal xam rejimli tətbiqi Enter-ə qədər düymələri saymaz kimi göstərir. Axın nəzarəti parametrləri terminalın XON və XOFF simvollarına tabe olub-olmadığını müəyyən edir və bu qrup üçü arasında ən inandırıcı saxta donmanı yaradır.

Nəyisə dəyişməzdən əvvəl çıxışı qeyd edin, xüsusən sessiya kiminsə asılı olduğu fərdi düymə bağlamaları daşıyırsa. Maşın forması ən təhlükəsiz qeyddir, onun tətbiqdən asılı olması və onu yaradan sistemin eyni növü tərəfindən bərpa edilməsi şərti ilə.

Yalnız o terminalı bərpa edin, yazdığınız sessiyanı yox

Standart bərpa təlimat səhifəsinin sadaladığı sağlam profili geri qaytarır və yalnız bir terminala təsir edir. Redaktor həmin terminalda hələ də yadda saxlanmamış iş saxlayırsa, iş yadda saxlanana qədər ona toxunmayın.

Başqa qabıqdan donmuş cihazı açıq şəkildə hədəfləyin ki, işlədiyiniz terminal toxunulmaz qalsın.

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

Dağılmış ekranla boş ekran sınıq sətir nizamından ayrı bir problemdir və reset proqramı ona terminal işəsalma ardıcıllıqları göndərməklə yanaşır. Əvvəlcə vəziyyət bərpasını sınayın, çünki o, yoxlaya biləcəyiniz parametrləri dəyişir, reset ardıcıllığı isə ekranı yenidən yazır və necə pozulduğunu izah etmir.

İnandırıcı donmanın arxasındakı Ctrl-S tələsi

Proqram axın nəzarəti aktiv olduqda və adi simvollar təyin edildikdə, Ctrl-S terminala çıxış göndərməyi dayandırmağı, Ctrl-Q isə davam etməyi deyir. Sessiya boyu canlı qalır, tək bir Ctrl-Q çox vaxt bütün bərpa olur və heç bir jurnalda heç nə görünmür, bu da bunun bu qədər eskalasiyadan sağ çıxmasının səbəbidir.

Fərz etmək əvəzinə faktiki parametrləri yoxlayın. Başlama və dayandırma simvolları yenidən təyin edilə və ya söndürülə bilər və axın nəzarəti söndürülmüş terminal heç birinə reaksiya verməyəcək.

Vəziyyət qayıdırsa və ya SSH özü dayanırsa

Təkrarlanan pis vəziyyət bayraqları bərpa etmədən dəyişən bir şeyə işarə edir: başlanğıc faylı, sarğı skripti, yanlış pəncərəni sıfırlayan multipleksor və ya xam rejimi saxlayarkən ölən tətbiq. Qeyd-şərtsiz sıfırlama əvəzinə vəziyyəti bildirən şərti yoxlama əlavə edin, çünki ümumi sıfırlama səbəbi gizlədir və qəsdən edilmiş parametrləri üstələyə bilər.

Adi SSH trafiki də dayandıqda və ya bərpa heç nəyi dəyişmədikdə, terminal artıq şübhəli deyil.

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

Yalnız böyük ötürmələr zamanı görünən dayanma yol MTU problemi deməkdir, tək düymə basmalarını da udan dayanma isə paket ölçüsünə deyil, yola və ya serverə işarə edir. Terminal sübutlarını şəbəkə sübutlarından ayrı saxlayın, çünki ikinci sessiyada işləyən redaktor birinci terminalın heç vaxt sağlam olduğuna sübut deyil.

Əlaqəli məqalələr