Texti-Terminals á Linux

14.1 Getty (notað í / etc / inittab)

Kynning á Getty

Til þess að hafa innskráningarferli keyrt á raðtengi (og tengingin sem tengd er við það) þegar tölvan hefst (eða skiptir um hlaupastig) verður að setja Getty skipun inn í / etc / inittab skrána. Að keyra getty frá stjórnarlínunni getur valdið vandræðum (sjá Ef getty hlaupa frá stjórn lína: Programs verða hætt til að sjá af hverju). Getty fær TTY (flugstöð) að fara. Hver flugstöðin þarf eigin getty stjórn. Það er einnig að minnsta kosti einn Getty stjórn fyrir vélinni í öllum / etc / inittab skrá. Finndu þetta og settu Getty skipanirnar fyrir alvöru skautanna við hliðina á henni. Þessi skrá kann að innihalda sýnishorn getty línur fyrir textaskilaboð sem eru athugasemd svo að allt sem þú þarft að gera er að uncomment þá (fjarlægðu leiðandi #) og breyttu nokkrum rökum.

Rökin sem leyft eru eru háð því hvaða getty þú notar:
Tveir gettys bestir fyrir beint tengdir skautanna eru:

Tveir gettys bestir til að hringja í mótald (koma í veg fyrir beint tengda skautanna) eru:

Einföld gettys að nota ef þú notar ekki alvöru textaskeyti. Flestir Linux notendur nota eitt af þessum á skjánum:

Linux dreifing þín getur komið með annaðhvort ps_getty eða agetty fyrir textastöðvum. Sumir dreifingar veita hvorki. Því miður kallast þau oft "Getty" svo þú gætir þurft að ákveða hverjir þú hefur þar sem rökin sem þú setur eftir það í / etc / inittab eru mismunandi. Debian notar agetty (í util-Linux pakkanum). RedHat og Fedora notuðu ps_getty sem er á: ps_getty

Sem síðasta úrræði til að reyna að ákvarða hvaða getty þú átt, gætirðu kannski kíkið á executable kóða þess (venjulega í / sbin). ps_getty hefur / etc / gettydefs embed in this code. Til að leita að því, farðu til / sbin og sláðu inn:
strings getty | grep getty
Ef getty er í raun agetty mun ofangreint leiða til ekkert. Hins vegar, ef þú ert með Agetty:
Getty -h
ætti að sýna valkostina [-hiLmw].

Ef þú ert ekki með getty vilt þú skoða aðra dreifingar og framandi forrit til að breyta á milli RPM og Debian pakka. Kóðinn má hlaða niður frá Getty Software.

Ef þú notar ekki mótaldsstýringar línur (til dæmis ef þú notar aðeins lágmarksfjölda þriggja leiðara: senda, taka á móti og algengt merki) skaltu láta Getty vita þetta með því að nota "staðbundin" fána. Snið þessa fer eftir því hvaða getty þú notar.

Getty hættir eftir innskráningu (og geta respawn)

Eftir að þú skráir þig inn verður þú að taka eftir (með því að nota "efst", "ps -ax" eða "ptree") sem getty ferlið er ekki lengur í gangi. Hvað gerðist við það? Hvers vegna byrjar Getty aftur ef skel er drepinn? Þess vegna.

Eftir að þú hefur slegið inn notandanafnið þitt tekur Getty það og kallar innskráningarforritið og segir það notandanafnið þitt. Getty ferlið er skipt út fyrir innskráningarferlið. Innskráningarferlið biður um lykilorðið þitt, stöðva það og byrjar hvað ferli er tilgreint í lykilorðaskránni þinni. Þetta ferli er oft bash skel. Ef svo er, byrjar bash og kemur í stað innskráningarferlisins. Athugaðu að eitt ferli kemur í stað annars og að bash skel aðferðin byrjaði upphaflega sem Getty ferlið. Afleiðingar þessarar verður að útskýra hér að neðan.

Nú í / etc / inittab skrá, Getty er ætlað að respawn (endurræsa) ef drap. Það segir svo á línunni sem kallar Getty. En ef bash skel (eða tenging aðferð) er drepinn, Getty respawns (endurræsa). Af hverju? Jæja, bæði innskráningarferlið og bash eru skipti fyrir getty og arfleifð

* Textaskilaboð Hvernig-Til Index

merki tengingar koma frá forverum þeirra. Í raun ef þú fylgist með upplýsingum sem þú munt taka eftir því að skiptaferlið mun hafa sömu ferli og upphaflega ferlið. Svona bash er eins konar Getty í dulargervi með sama ferli kennitölu. Ef bash er drepinn er það bara eins og Getty var drepinn (jafnvel þótt Getty sé ekki lengur í gangi). Þetta leiðir til þess að Getty sé í gangi.

Þegar maður skráir sig út, eru öll ferli þessarar raðhafnar drepnir þ.mt bash skel. Þetta getur líka gerst (ef kveikt er á því) ef tengismerki er sent í raðtengi með dropi af DCD spennu með mótaldinu. Annaðhvort logout eða drop í DCD mun leiða til Getty respawning. Maður getur þvingað Getty að respawn með því að handvirkt drepa bash (eða tenging) annaðhvort með því að slá á k lykil osfrv. Meðan á "topp" eða með "kill" stjórn. Þú munt líklega þurfa að drepa það með merki 9 (sem ekki er hægt að hunsa).

Ef getty hlaupa frá stjórn lína: Programs verða hætt

Þú ættir venjulega að keyra getty frá inni / etc / inittab og ekki frá stjórn línunnar eða annars er hægt að loka sumum forritum sem birtast á flugstöðinni óvænt (stöðvuð). Þess vegna (hoppa yfir í næsta kafla ef hvers vegna er ekki mikilvægt fyrir þig). Ef þú byrjar Getty fyrir að segja ttyS1 frá stjórnarlínu annars flugstöðvar, segðu tty1, þá mun það hafa tty1 sem "stýringarmiðstöð" þess, jafnvel þótt raunverulegur flugstöðin sem keyrir á er ttyS1. Þannig hefur það rangt stjórnstöð. En ef það er byrjað inni inittab skrá þá mun það hafa ttyS1 sem ráðandi flugstöðinni (rétt).

Jafnvel þó að stjórnstöðin sé rangt virkar innskráningin hjá ttyS1 fínt (þar sem þú gafst ttyS1 sem rök fyrir getty). Stöðluð inntak og framleiðsla er stillt á ttyS1 þó að stjórnstöðin sé tty11. Önnur forrit sem keyra á ttyS1 geta erft þetta staðlaða inntak / útgang (sem er tengt ttyS1) og allt er í lagi. En sum forrit geta gert mistök að reyna að lesa úr stjórnstöðinni (tty1) sem er rangt. Nú getur tty1 held að þessi forrit séu keyrð í bakgrunni með tty1 svo að reyna að lesa úr tty1 (það ætti að hafa verið ttyS1) úrslit í að stöðva ferlið sem reyndi að lesa. (A bakgrunnur ferli er ekki leyft að lesa úr stjórnstöðinni.). Þú getur séð skilaboð eitthvað eins og: " [1] + Stopped " á skjánum. Á þessum tímapunkti ertu fastur þar sem þú getur ekki haft samskipti við ferli sem er að reyna að eiga samskipti við þig um röngum flugstöðinni. Auðvitað að flýja frá þessu getur þú farið til annars flugstöðvar og drepið ferlið osfrv.

Agetty (má nefna Getty)

Dæmi lína í / etc / inittab:

S1: 23: respawn: / sbin / getty -L 19200 ttyS1 vt102

S1 er frá ttyS1. 23 þýðir að Getty er keyrt þegar hann er kominn inn í hlaupastig 2 eða 3. Gegndrætti þýðir að ef Getty (eða ferli sem skipt út fyrir það eins og bash) er drepið, mun Getty sjálfkrafa byrja aftur (respawn) aftur. / sbin / getty er getty stjórnin. The -L þýðir staðbundin (hunsa mótaldsstýringarmerki). -h (ekki sýnt í dæminu) gerir vélbúnaðarflæðistýringu (sama og stíftækni). 19200 er baud hlutfall. ttyS1 þýðir / dev / ttyS1 (COM2 í MS-DOS). vt102 er tegund flugstöðvarinnar og þessi getty mun setja umhverfisbreytu TERM að þessu gildi. Það eru engar stillingar skrár. Sláðu inn "init q" á stjórnarlínunni eftir að þú hefur breytt Getty og þú ættir að sjá innskráningartilboð.

Líklega sjálfvirk uppgötvun á jöfnuðum vandamálum

The agetty forritið mun reyna að sjálfkrafa uppgötva samkvæmni sett í flugstöðinni (þ.mt ekki sambærileg). Það styður ekki 8 bita gagna bæti auk 1-bita jöfnuður. Sjá 8-bita gagnabreytingar (auk jöfnuður). Ef þú notar stty til að stilla parity mun agetty sjálfkrafa aftengja það þar sem það vill fyrst að parity hluti komi fram eins og ef það væri gögn bitur. Þetta er vegna þess að það þarf að fá síðasta hluti (hugsanlega parity bit) eins og þú skrifar innskráningarnafnið þitt þannig að það geti sjálfkrafa uppgötvað samkvæmni. Þannig að ef þú notar samkvæmni, virkjaðu það aðeins innan textastöðvarinnar og láttu Agetty sjálfkrafa uppgötva það og stilla það á tölvunni. Ef flugstöðin styður móttekið samhengi mun innskráningartillingin líta út fyrir að þú skrifir eitthvað þannig að Getty geti greint

jafnrétti. The ruglaður hvetja mun hindra gesti, osfrv frá að reyna að skrá sig inn. Það gæti verið það sem þú vilt.

Það er stundum vandamál með sjálfvirkri greiningu á samkvæmni. Þetta gerist vegna þess að eftir að þú skrifaðir fyrst innskráningarnafnið þitt byrjar Agetty innskráningarforritið til að ljúka að skrá þig inn. Því miður getur innskráningarforritið ekki greint samsvörun, svo ef Getty forritið tókst ekki að ákvarða samkvæmni þá mun innskráning ekki vera hægt að ákvarða það heldur. Ef fyrsta innskráningartilraunin mistekst, leyfir innskráningar þig að reyna aftur, osfrv. (Allt með samhengi stillt rangt). Að lokum, eftir að fjöldi mistókst hefur verið reynt að skrá sig inn (eða eftir tímaskeið) mun Agetty byrja aftur og byrja innskráningarröðin aftur og aftur. Þegar getty er að keyra aftur getur verið að hægt sé að greina samkvæmni við seinni prófið svo að allt geti síðan starfað í lagi.

Með rétta samsvörun getur innskráningarforritið ekki rétt lesið það sem þú skrifar og þú getur ekki skráð þig inn. Ef símafyrirtækið styður móttekið samhengi heldurðu áfram að sjá skemmdir skjá. Ef getty tekst ekki að greina sambærilegan hátt er / / / / útgáfu skrá yfirleitt dregin á skjáinn rétt fyrir áður en hvetja, þannig að fleiri ruglaðir orð geta birst á skjánum.

Afhverju er ekki hægt að greina parity með fyrstu stafnum? Hér er dæmi: Segjum að það uppgötvar 8-bita bæti með jafnréttisbita sínum 0 (há-röð hluti) og með stakur fjöldi 1-bita. Hvaða jöfnuður er það? Jæja, stakur fjöldi 1 bita felur í sér að það er skrýtið samkvæmni. En það gæti líka verið 8-bita stafur án sambæris. Það er engin leið svo langt að ákveða hver. En svo langt höfum við útrýmt möguleikanum á jöfnu jafnvægi. Greining á samkvæmni fer þannig fram með brotthvarf.

Ef næsti bætastærð er svipað og fyrst og útilokar einnig möguleikann á jöfnu jafnvægi, er það enn ómögulegt að ákvarða samkvæmni. Þetta ástand getur haldið áfram ótímabundið og í sjaldgæfum tilvikum mun innskráning mistakast þangað til þú breytir innskráningarnafninu þínu. Ef agetty finnur parity hluti af 1 mun það gera ráð fyrir að þetta sé parity bit og ekki hár-röð hluti af 8-bita staf. Það gerir því ráð fyrir að þú notir ekki meta-stafi (hátt sett) í notendanafni þínu (þ.e. nafnið þitt er í ASCII).

Maður getur fengið í "innskráningarás" á ýmsa vegu. Segjum að þú skrifir aðeins eitt staf eða tvö fyrir innskráningarnafnið þitt og smelltu síðan á aftur. Ef þessi bréf eru ekki nægjanleg til að greina samsvörun, þá er innskráningin keyrð áður en jöfnuður hefur fundist. Stundum gerist þetta vandamál ef þú hefur ekki flugstöðina á og / eða tengd þegar agetty byrjar fyrst.

Ef þú festist í þessu "innskráningarlykkju" er leið út úr því að ýta á afturkóðann nokkrum sinnum þar til þú færð Getty innskráningartilboðið. Annar leið er að bara bíða í eina mínútu eða svo í tímann. Þá verður getty innskráningartillingin settur á skjáinn með getty forritinu og þú getur reynt aftur að skrá þig inn.

8 bita gagna bæti (plús jöfnuður)

Því miður, Agetty getur ekki greint þessa samkvæmni. Frá því í lok árs 1999 hefur það ekki möguleika á að gera sjálfvirka greiningu á samkvæmni óvirk og mun því uppgötva rangar samkvæmni. Niðurstaðan er sú að innskráningarferlið verður ruglast og samkvæmni verður stillt rangt. Þannig virðist það ekki vera hægt að reyna að nota 8-bita gagnabreytingar með jöfnu.

Getty (hluti af getty_ps)

(Mest af þessu er frá gamla Serial-HOWTO eftir Greg Hankins)
Fyrir þetta getty þarf maður bæði að setja færslur í stillingarskrá og bæta inn færslu í / etc / inittab . Hér eru nokkrar dæmi færslur til að nota fyrir flugstöðina þína sem þú setur inn í stillingaskrána / etc / gettydefs .

# 38400 bps Dumb Terminal innganga DT38400 # B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL # @ S @L innskráning: # DT38400 # 19200 bps Dumb Terminal innganga DT19200 # B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL # @ S @L tenging: # DT19200 # 9600 bps Dumb Terminal innganga DT9600 # B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL # @ S @L innskráningar: # DT9600

Athugaðu að DT38400, DT19200 osfrv séu bara merki og verða þau sömu sem þú notar í / etc / inittab .

Ef þú vilt getur þú gert Getty prenta áhugaverðar hluti í innskráningarbannanum. Í dæmunum mínum er ég með kerfisnafnið og raðnúmerið prentað. Þú getur bætt við öðrum hlutum: [blockquote

skuggi = já] @B Núverandi (metið á þeim tíma sem @B er séð) bps hlutfall. @D Núverandi dagsetning, í MM / DD / YY. @L Röðunarlínan sem Getty er tengdur við. @S Kerfisnafnið. @T Núverandi tími, í HH: MM: SS (24 klukkustundir). @U Fjöldi núverandi notenda sem skráðir eru. Þetta er fjöldi færslna í / etc / utmp skránni sem inniheldur utanaðkomandi reit. @V Verðmæti VERSION, eins og gefið er í sjálfgefið skrá. Til að sýna einni '@' staf, notaðu annað hvort '\ @' eða '@@'.

Þegar þú ert búinn að breyta / etc / gettydefs getur þú staðfest að setningafræði sé rétt með því að gera:

Linux # getty -c / etc / gettydefs

Gakktu úr skugga um að það sé engin önnur getty eða uugetty stillingarskrá fyrir raðtengi sem tengingin þín er tengd við ( /etc/default/{uu}getty.ttyS N eða /etc/conf.{uu}getty.ttyS N ) , þar sem þetta mun líklega trufla hlaupandi getty á flugstöðinni. Fjarlægðu slíkar andstæðar skrár ef þeir hætta.

Breyttu / etc / inittab skránni til að keyra getty á raðtengi (skipt í réttar upplýsingar um umhverfið þitt - höfn, hraði og sjálfgefið flugstöðartegund):

S1: 23: respawn: / sbin / getty ttyS1 DT9600 vt100 í því Linux # init q

Á þessum tímapunkti ættir þú að sjá innskráningartilboð á flugstöðinni þinni. Þú gætir þurft að komast aftur til að fá athygli flugstöðvarinnar.

mgetty

The "m" stendur fyrir mótald. Þetta forrit er fyrst og fremst fyrir mótald og frá miðjan 2000 mun það þurfa að endurheimta til að nota það fyrir textastöðvum (nema þú notir vélbúnaðarflæðistýringu - og það krefst venjulega handbúið kapal). Fyrir skjölin fyrir beint tengda skautanna, sjáðu "Bein" hluti handbókarinnar: mgetty.texi.

Horfðu á síðustu línurnar af /etc/mgetty/mgetty.config til dæmis til að stilla það fyrir flugstöðina. Nema þú segist "kveikja-dtr nei" mun það hugsa að þú hafir mótald og sleppur (negate) DTR pinna á tölvunni til einskis tilraun til að endurstilla ótengt mótald. Í mótsögn við aðra gettys mun mgetty ekki tengja sig við flugstöð þar til einhver smellir á einhvern lykil þessarar flugstöðvar þannig að þú sérð? fyrir flugstöðina í topp eða ps þar til þetta gerist. Skrárnar í / var / log / mgetty / kunna að sýna nokkrar viðvörunarskilaboð sem aðeins eiga við um mótald sem þú gætir hunsað.

Hér er dæmi um einfalda línuna sem þú setur í / etc / inittab:

s1: 23: respawn: / sbin / mgetty -r ttyS1