Поправка: Псеудо-терминал неће бити додијељен јер стдин није терминал

Поправка: Псеудо-терминал неће бити додијељен јер стдин није терминал

Fix Pseudo Terminal Will Not Be Allocated Because Stdin Is Not Terminal

У већини случајева добићете збуњујућу грешку „псеудо-терминал неће бити додељен јер стдин није терминал“ само када из скрипте покрећете неку врсту ССХ наредбе. Ако покрећете исту команду из командне линије, можда ће она функционисати сасвим у реду.



Пре него што наставите даље, уверите се да сте додали јавни кључ у ССХ агент, а затим покушајте поново да користите ссх. Можда вам је управо недостајао кључ. С друге стране, ако ово не успе, мораћете мало да решите проблеме у скрипти.

1. метод: Присиљавање и онемогућавање псеудо-тти алокације

Постоји пар опција командне линије које ће можда брзо решити проблем за вас. Покушајте ссх -т -т -Р праћен остатком онога у шта сте покушавали да се повежете како бисте форсирали псеудо-терминалну алокацију. На пример, рецимо да сте користили ссх -п 80 аппуалс@ссх.екампле.цом за пријављивање на свој налог на екампле.цом, што је наравно лажно за документацију која не постоји.

Покушајте да покренете нпр. ссх -т -т -Р -п 80 аппуалс@ссх.екампле.цом и погледајте да ли ово решава проблем. Да бисте се успешно пријавили у систем, мораћете да замените име стварним налогом и именом хоста. Ово форсира додјелу терминала, па не бисте требали видјети да псеудо-терминал неће бити додијељен, јер стдин није грешка терминала.



С друге стране, можда ћете на крају имати константни низ порука о грешкама. Неки корисници су приметили да би се ово могло сматрати забавним.

Свакако је то фрустрирајуће, без обзира на то, па користите Цтрл + Ц да бисте зауставили процес.

псеудо-терминал



Можете покушати или помоћу само једног прекидача -т или повећавањем броја. Ако ово не успе, замените било који прекидач -т прекидачем -Т у команди, нпр. ссх -Т -Р -п 80 аппуалс@ссх.екампле.цом и проверите да ли то функционише.

Овај метод у потпуности онемогућава читав процес додељивања псеудо-терминала, па би могао функционисати у случајевима када присиљавање то не учини. Наравно, ништа од овога не би требало да представља проблем у командној линији, али обавезно забележите када пронађете која опција ради из ваше скрипте како бисте је могли користити у свим будућим скриптама које морате покренути за приступ наведеном серверу.

Будући да је наредба ссх ове две супротне опције дала слична имена, имајте на уму да -т форсира додељивање псеудо-терминала док га -Т онемогућава. Ове опције разликују велика и мала слова и често су потребне изнутра скрипти, јер ссх треба традиционални ТТИ терминал да би радио. Наравно, у вашем случају бисте у ту сврху користили емулатор терминала.

2. метод: Коришћење ссхпасс-а

Неки људи могу открити да њихове скрипте боље функционишу с наредбом ссхпасс, која није подразумевано укључена. Увек га можете инсталирати помоћу судо апт-гет инсталл ссхпасс или судо иум инсталл ссхпасс ако желите да испробате или вам је потребан за ваш специфичан случај употребе.

Ако га већ не користите, вероватно вам није потребан. Па ипак, можете користити исте технике за изненађење порука о грешкама које се односе на псеудо-терминалну алокацију и у овој врсти окружења.

На пример, користите ссхпасс -п лозинку ссх -Т аппуалс@ссх.екампле.цом да приморате систем да ради изнутра ваше скрипте.

3. метод: Исправљање грешака у управљању послом

Повремено ћете можда добити још једну поруку о грешци чак и након што све ово поправите. Ако примите упозорење које гласи да нема приступа тти-у, а затим вас подсете да у вашој љусци нема контроле посла, требало би да можете да радите некако нормално.

До ове грешке долази због неправилности на удаљеном серверу у вези са цсх, тцсх или можда чак и са Алмкуист-ом или неком другом љуском. Можда то нисте приметили јер сте добијали друге поруке о грешкама, али под условом да не видите ниједну другу о псеудо-терминалима, требало би да можете да наставите релативно као и обично.

Можда у овом случају нећете желети да покушате да користите Цтрл + З да бисте зауставили процесе, јер можда неће бити начина да се поново покрену. Ако добијете поруку о грешци која гласи да су заустављени послови када изађете, неће вам бити дозвољено да се одјавите.

заустављени послови

Користите команде пс и килл да затворите све послове које не можете да затворите, под претпоставком да вам не смета да у том процесу изгубите посао. Сад ћете моћи да изађете.

Ознаке Линук како да ссх 3 минута читања