Skip to main content

Тект-терминали на Линуку - 14.1 Гетти (користи се у / етц / иниттаб)

Anonim

14.1 Гетти (користи се у / етц / иниттаб)

Увод у Гетти

Да би се процес пријављивања покренуо на серијском порту (и прикључен на њега) када се рачунар покреће (или прекидачи раде нивои), мора се ставити гетти наредба у датотеку / етц / иниттаб. Руннинг гетти из командне линије може изазвати проблеме (погледајте Ако се гетти покреће из командне линије: програми се заустављају да виде зашто). Гетти добија ТТИ (терминал) који иде. Сваки терминал потребан је свој властити гетти команду. Постоји и барем једна гетти наредба за конзолу у свакој / етц / иниттаб датотеки. Нађите ово и ставите Гетти команде за праве терминале поред њега. Ова датотека може садржавати узорке гетти линија за текстуалне терминале који су коментарисани тако да све што треба да урадите је да их унцомментирате (уклоните водећи #) и промените неколико аргумената.

Аргументи који су дозвољени зависе од којих гета користите:Најважнија два терминала за директно прикључене терминале су:

  • агетти (понекад се само назива Гетти): Врло једноставно поставити. Нема конфигурацијских датотека. Видите агетти
  • гетти (део гетти_пс)

Најважнија два приступа за диал-ин модеме (избегавање за директно прикључене терминале) су:

  • мгетти: најбољи за модеме; ради и за терминале, али је инфериорнији
  • уугетти: само за модеме; део пакета гетти_пс

Једноставне гетти које користите ако не користите прави текст-терминал. Већина корисника Линук-а користи један од њих на свом монитору:

  • мингетти
  • фбгетти
  • фгетти
  • рунгетти

Ваша дистрибуција Линука може да се појави са пс_гетти или агетти за текст-терминале. Неке дистрибуције не испоручују нити. Нажалост, често их само називају "гетти", па ћете можда морати да одредите који сте од аргумената који сте ставили након тога у / етц / иниттаб разликовали. Дебиан користи агетти (у пакету утил-Линук). РедХат и Федора су користили пс_гетти који је на: пс_гетти

Као последње средство за покушај одређивања који гети имате, можете погледати његов извршни код (обично у / сбин). пс_гетти има / етц / геттидефс уграђене у овај код. Да бисте га потражили, идите на / сбин и откуцајте:стрингс гетти | греп гетти Ако је Гетти у ствари агетски, горње ће резултирати ништвом. Међутим, ако имате агетичку куцање:Гетти-хтреба да прикажу опције -хиЛмв.

Ако немате гајтан који желите да проверите друге дистрибуције и ванземаљац програм за претварање између РПМ и Дебиан пакета. Изворни код се може преузети са Гетти Софтваре-а.

Ако не користите модемске контролне линије (на пример, ако користите само минимални број 3 проводника: преношење, пријем и заједничко сигнално тло), требало би да дозволите Гетти-у да то знате користећи "локалну" заставу. Формат овога зависи од ког гета користите.

Гетти излази након пријаве (и може отпустити)

Када се пријавите, приметићете (користећи "топ", "пс -ак" или "птрее") да се процес гетти више не покреће. Шта се десило? Зашто се гити поново покреће ако је ваша љуска убијена? Ево зашто.

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

Сада у фајлу / етц / иниттаб, Гетти би требао да респавн (рестарт) ако је убијен. Пише тако на линији која зове Гетти. Али ако је баш схелл (или процес пријављивања) убијен, Гетти респавнс (рестартс). Зашто? Па, и процес пријављивања и басх су замене за Гетти и наслеђивање

* Текстуални термин Хов-То Индек

сигналне везе успостављају њихови претходници. Заправо, ако посматрате детаље које ћете приметити да ће процес замјене имати исти ИД процеса као и првобитни процес. Дакле, басх је врста гета у маски са истим идентификационим бројем процеса. Ако је баш убијен, то је исто као што је убијен Гетти (иако Гетти више не трчи). Ово доводи до гутања.

Када се један одјави, сви процеси на том серијском порту убијају се укључујући басх схелл. Ово се такође може десити (ако је омогућено) ако се на долазни сигнал пренесе хангуп сигнал са падом ДЦД напона модема. Или одјављивање или опадање ДЦД-а резултираће готовим респавнингом. Један може применити Гетти на респавн ручним убијањем басх-а (или пријављивања) било притиском на тастер к, итд. Док је у "топ" или са "килл" командом. Вероватно ћете морати да га убијете сигналом 9 (који се не може игнорисати).

Ако се гетти покрене из командне линије: Програми се заустављају

Обично треба да водите Гетти-а из унутрашњости / етц / иниттаб а не из командне линије или се неки програми који се покрећу на терминалу могу неочекивано обуставити (зауставити). Ево зашто (прећи на следећи одељак ако вам зашто није важно). Ако започнете Гетти за рећи ттиС1 из командне линије другог терминала, реците тти1, онда ће имати тти1 као свој "контролни терминал" иако је стварни терминал на којем ради на ттиС1. Стога има погрешан контролни терминал. Али ако се започне унутар датотеке иниттаб онда ће имати ттиС1 као контролни терминал (тачан).

Иако је контролни терминал погрешан, пријављивање на ттиС1 ради добро (пошто сте дали ттиС1 као аргумент за Гетти). Стандардни улаз и излаз су постављени на ттиС1 иако контролни терминал остане тти11. Остали програми на ттиС1 могу наследити овај стандардни улаз / излаз (који је повезан са ттиС1) и све је у реду. Али неки програми могу направити грешку у покушају читања са њиховог контролног терминала (тти1) што није у реду. Сада тти1 може сматрати да се ови програми покрећу у позадини помоћу тти1, тако да покушај читања од тти1 (то би требао бити ттиС1) резултира у заустављању процеса који је покушао да прочита. (Позадински процес није дозвољен за читање са његовог контролног терминала.). Можете видети поруку нешто слично: "1 + Заустављено"на екрану.У овом тренутку заглавите се јер не можете да интеракцију са процесом који покушава да комуницира с вама преко погрешног терминала. Наравно да ћете побјећи из овога ићи на други терминал и убити процес итд. .

агетти (може се назвати гетти)

Линија примера у / етц / иниттаб:

С1: 23: респавн: / сбин / гетти -Л 19200 ттиС1 вт102

С1 је из ттиС1. 23 значи да се гетти покреће након уласка у ниво 2 или 3. Руннинг значи да ако је Гетти (или процес који га је заменио као басх) убијен, Гетти ће поново покренути (респавн) поново. / сбин / гетти је наредба гетти. -Л значи Локално (игнорирај модемске контролне сигнале). -х (није приказано у примеру) омогућава контролу тока хардвера (исто као и стти цртсцтс). 19200 је бауд стопа. ттиС1 значи / дев / ттиС1 (ЦОМ2 у МС-ДОС). вт102 је тип терминала и овај гетти ће поставити варијаблу околине ТЕРМ на ову вриједност. Нема конфигурационих датотека. Укуцајте "инит к" у командној линији након едитовања гетти-а и требали бисте видети пријавну пријаву.

Агеттиов ауто-откривање проблема са паритетом

Тхе агетти програм ће покушати да аутоматски открије паритет постављен унутар терминала (укључујући и паритет). Не подржава 8-битне бајтове података плус 1-битну паритету. Погледајте 8-битне бајтове података (плус паритет). Ако користите стти да поставимо паритет, агетти аутоматски ће га уништити, јер у почетку жели паритетни бит да дође као да је то битни податак. То је зато што треба да добијете последњи бит (могуће паритетни бит) док упишете име за пријаву тако да може аутоматски открити паритет. Дакле, ако користите паритет, омогућите је само унутар текстуалног терминала и пустите агетти аутоматски откријте и поставите га на рачунар. Ако ваш терминал подржи примљену паритету, пријавни упит ће изгледати поприлично док не унесете нешто тако да Гетти може открити

паритет. Жалба ће одвести посетиоце и слично покушавајући да се пријавите. То би могло бити оно што желите.

Понекад постоји проблем са аутоматским откривањем паритета. Ово се дешава јер након што први унесете своје пријавно име, агетти почиње Пријавите се програм да заврши пријављивање. Нажалост, он Пријавите се програм не може открити паритет тако да ако Гетти програм није успео да одреди паритет тада Пријавите се неће моћи да га одреди. Ако први покушај пријављивања не успе, Пријавите се допустићеш да пробаш поново, итд. (све са паритетом је погрешно постављено). На крају, након неколико неуспелих покушаја пријављивања (или након истека времена) агетти поново ће покренути и започети секвенце пријављивања. Када се Гетти поново покрене, можда ће бити у могућности да открије паритет на другом покушају како би све могло да ради добро.

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

Зашто агетти не може открити паритет првим словом откуцаним? Ево примера: Претпоставимо да детектује 8-битни бајт с паритетним битом 0 (бит великог реда) и непарним бројем 1-бита. Каква је паритета? Па, непаран број од 1 бита значи да је чудна паритета. Али то би могло бити само 8-битан карактер без паритета. До сада нема начина да се утврди. Али до сада смо елиминисали могућност чак паритета. Детекција паритета стога наставља процесом елиминације.

Ако је следећи бајт укуцан сличан првом и само елиминише могућност чак паритета, и даље је немогуће одредити паритет. Ова ситуација може се наставити на неодређено време, а у ретким случајевима пријављивање ће престати док не промените име за пријаву. Ако агетти нађе паритетни бит од 1, претпоставит ће се да је то паритетни бит, а не бит високог реда 8-битног карактера. Због тога претпоставља се да не користите мета-карактере (велики битни сет) у вашем корисничком имену (тј. Да је ваше име у АСЦИИ).

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

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

8-битни бајт података (плус паритет)

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

гетти (део гетти_пс)

(Већина овог је од старог серијалног ХОВТО-а од Грег Ханкинса)За овај гајтан потребно је ставити ставке у конфигурацијску датотеку и додати унос / етц / иниттаб. Ево неких примера уноса који се користе за ваш терминал који сте ставили у конфигурациону датотеку / етц / геттидефс.

Имајте на уму да су ДТ38400, ДТ19200, итд. Само етикете и морају бити исти у коме користите / етц / иниттаб.

Ако желите, можете да направите Гетти одштампајте занимљиве ствари на баннеру за пријављивање. У мојим примјерима, имам име система и серијску линију штампану. Можете додати и друге ствари: блоккуоте

схаде = да

Када завршите са уређивањем / етц / геттидефс, можете проверити да ли је синтакса исправна:

Побрините се да нема другог Гетти или уугетти цонфиг датотеку за серијски порт који је прикључен на ваш терминал, као што је (/етц/дефаулт/{уу}гетти.ттиСН или /етц/цонф.{уу}гетти.ттиСН), јер ће ово вероватно ометати трчање Гетти на терминалу. Уклоните такве конфликтне датотеке ако изађу.

Уредите свој / етц / иниттаб датотека за покретање Гетти на серијском порту (заменом исправних информација за вашу околину - порт, брзину и подразумевани тип терминала):

У овом тренутку, требало би да видите позив за пријављивање на вашем терминалу. Можда ћете морати да повратите како бисте привукли пажњу терминала.

мгетти

"М" означава модем. Овај програм је првенствено за модеме, а од средине 2000. године ће захтевати поновно компајлирање да га користи за текст-терминале (осим ако не користите хардверску контролу протока - а то обично захтева ручни кабел). За документацију за директно прикључене терминале погледајте одељак "Директно" у приручнику: мгетти.теки.

Погледајте последње линије /етц/мгетти/мгетти.цонфиг за пример конфигурирања за терминал. Осим ако не кажете "тоггле-дтр но", помислиће вам да имате модем и испустите (негирати) ДТР пин на рачунару узалудан покушај ресетовања необичног модема. За разлику од других гетти-ова, мгетти се неће прикључити на терминал док неко не удари било који тастер тог терминала, па ћете видети? за терминал у врх или пс све док се ово не догоди. Дневници / вар / лог / мгетти / може приказати неколико порука упозорења које се примењују само на модеме које можете игнорисати.

Ево примера једноставне линије коју уносите / етц / иниттаб: