Nivîsîn-Terminals li Linux

14.1 Getty (bikaranîn di / etc / inittab)

Pîrozbahiya Getty

Ji bo ku pêvajoyek têketinê li ser portê ya serial (û girêdana termînalê) dibe ku dema ku komputer dest pê dike (an jî asta rêkûpêk) fermandareke giran divê divê pelê / etc / inittab bin. Gelekî ji xeta fermanê dibe ku dibe sedema pirsgirêkan (Binêre Heke zehf ji rêza fermanê bikişîne: Bernameyên ku werin xuya kirin) bibînin. Getty diçe TTY (a terminal). Her termînalek hewceyê hewceyê xwe ya xwe ya giran. Di nav konseya her / etc / inittab de konseya herî kêm a yekînek getty heye. Vê gihîştin û paşê ji bilî termînalên rastîn ên germî bigirin. Di vê pelê de dibe ku ji bo termînalên tekstên ku ji bo ku hûn hewceyê hewce ne, ew eşkere binivîsin.

Armancên ku destûr têne ser bingeha kîjan gavê hûn bikar bînin:
Du gettys best ji bo rasterast girêdanên termînal hene:

Du gettys best ji bo mod-in-modems (ji bo rasterast girêdanên termînal ên ji ber dûr ve têne):

Gettysên hêsan bikar bînin ku eger hûn nexşeya rastîn bikar bînin. Bikaranîna piraniya Linux-ê ji van çavdêriya xwe di nav wan de bikar tîne:

Dabeşkirina Linux ya xweya ps_getty an ji bo teknîkî-nivîsînalan bi hev re bêne. Hin çend destûra nexşandî ne. Mixabin, ew pir caran ew bi "getty" re dibêjin da ku hûn hewce bikin ku kîjan ji te re armancên ku hûn piştî / ê / inittab dihêle kirin de cûda bikin. Debian agarty bikar tîne (di nav bikaranîna lenguxê de). RedHat û Fedora ps_getty ku tê de ye: ps_getty

Wekî ku berevajoya dawîn ya ku hûn bizanin ka kîjan qehwekî we heye, hûn dikarin kodê xwe yê rêveberê kontrol bikin (bi gelemperî / sbin). ps_getty heye / etc / gettydefs di vê kodê de embedded. Ji bo lêgerîna lêgerîn, biçin / sbin biçin û binivîse:
kûçikên giran | grep
Ger heya zehmetî zehmet e ku jor hebe wê tiştek tiştek nabe. Lê heke heger te teşopî ye:
getty -h
Divê bijartî nîşan bide [-hiLmw].

Heke hûn neheq in ku hûn dixwazin dixwazin dabeşên din û bernameya biyanî kontrol bikin ku di navbera RPM û Debian veguherînin. Koda çavkaniyê ji Getty Software re bêne daxistin.

Heke hûn ne bi tenê rêbazên modem bikar bînin (wek mînak hûn tenê hejmareke herî kêm 3 bikarhêneran bikar bînin: veguherandin, wergirtin, û hevpeymaniya hevpeymaniyê) divê hûn gav ji vê yekê bi karanîna ala "herêmî" bikar bînin. Forma vê yekê girêdayî ye ku kîjan gavê hûn bikar tînin.

Getty piştî şîfreyê veguhestin (û jê rehêle)

Piştî ku hûn di navnîşanê de hûn ê hişyar bikin (bi rêya "top", "ps -ax", an "ptree") bi kar tîne ku pêvajoya gavê nema berdewam nabe. Wê çi bû? Çima tehlûkê mirî çima dîsa dîsa veguhestin? Va ye.

Piştî ku hûn navnîşê bikarhênerê te binivîse, getty digire û bernameyek têketina navnîşê navnîşê bikarhênerê bikar bînin. Pêvajoya getty ji aliyê pêvajoyê ve tê guhertin. Prosesa têketinê ji bo şîfreya we re dipirse, kontrol dike û her çi pêvajoyê di pelê şîfreya te de diyar e. Ev pêvajoyê gelek caran gelek şehîdê ye. Ger vî awayî, bash dest pê dike û pêvajoya têketinê veguherîne. Têbigirin ku pêvajoyek din veguherîne û pêvajoya pelê ya baskê bi dest bi pêvajoyê de dest pê kir. Pirsên vê jêr dê binçavkirin.

Now di pelê / / / inittab de, hûrguman tête ku bê kuştin. Ew dibêje ku li ser vê rêzê ku gavî digire. Lê heke hebê şehê (yan pêvajoya têketinê) tête kuştin, zehfî ye. Çima? Bi rastî, her du herdu pêvajoyê û bashê veguhestin ji bo hûrgelan û mîras in

* Indeksa Bermîliya Termînalê ya Termînalê

pêwendiyên sembolên bi hêsîrên xwe ava dikin. Di rastiyê de heger hûn agahdariya te binêrin ku hûn pêvajoyê bikin ku pêvajoya veguhestina heman nasnameyê dê wek pêvajoya bingehîn. Bi vî awayî cûreyek hûrgelê ye ku di nav heman nasnameya pêvajoyê de veguherîne. Heke pişk kuştî ev e, ew tenê mîna zehmet bûye (xweyê hêja neçar e). Vê encamên dilsoz ên giran.

Dema ku yek yek têketin, hemû pêvajoyên li ser portê serial di nav şelê de hatine kuştin. Ev dibe ku (eger çalak be) dibe ku heger pîşekek veşartî ji portê serial ve ji alîyê modem a DCD ya DCD ve şandiye şandin. Yan jî logout an di DCD de dikişîne wê encam bike. Yek dikare bi hişyariya hêza xwe bi destê xwe bi destûra (an jî têkevin) bikujin an jî bi kûçik, kûçikên ku li ser "top" an jî bi "kill" re bikuje bikuje. Hûn ê gengaz e ku ew bi sembolî 9 kesî bikuje (ku nikarin neyê dîtin).

Heke ji hêla germê vexwendin veguhestin: Bernameyên wê raweste

Hûn divê bi gelemperî ji hundur / etc / inittab diçin û ne ji ji rêza ferman an jî din jî hin bernameyên li ser termînalê vekirî ne dibe ku bêpisporî rawestandin (rawestandin). Li vir çima ye (eger beşa we ne girîng e) beşa paşê bikişînin). Heke hûn ji bo tirsa rêza din a termînalê din ttyS1 re dest pê bikin, wê tty1 bibêjin, wê wê wekî "kontrola termînal" dê tevî termînal tengal dibe ku ttyS1. Ji ber vê yekê ew tehlîmkirina kontrola çewt e. Lê heger heya pelê di hundirê hundirê hundirê inittab de wê wê ttyS1 bibe wekî wekî termînala kontrolkirinê (rastîn).

Her çiqas kontrolkirina termînalê çewt e, tête ttyS1 karên qenc (ji ber ku hûn ttyS1 wek argumentek zehmet kirin) da. Pêvaziya standard û hilber tête tty11 jî tevî ku teva kontrola termînalê tty11 dimîne. Hin bernameyên ku li ttyS1 têne derxistin ev input input / output (ku girêdayî ttyS1 ve girêdayî ye) û her tişt baş e. Lê hinek bernameyên ku çewtiyek hewl didin ku ji ji kontrola terminal (tty1) re çewtiyek bixwînin. Niha tty1 dikare difikirin ku ev bernameyên di paşê paşê de ji hêla tty1 ve têne veşartin, da ku hewldana hewldana ji çilê 1 bixwînin (ev ttyS1 divê dihatin) encama pêvajoyek ku hewl dixwînin. (Pêvajoya piçûk nabe ku ji ji hêla kontrola termînal ve bixwîne.). Hûn dikarin tiştek tiştek mîna we bibînin: " [1] + Barkirin 'li ser screenê. Di vê yekê de hûn ji ber ku hûn nikarin bi pêvajoyek pêwendiyê dikin ku hewl didin ku bi rêya termînal çewt re biaxivin. Bêguman ji bo vê yekê ji revê ve hûn dikarin diçe navenda termînek din û pêvajoyê, bikujin.

agetty (dibe ku zehfê binivîse)

Di rêza mînakê de / / etc / inittab:

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

S1 ji ttyS1 e. 23 wateya ku gavî li ser asta birçîbûnê dihêle 2 an jî 3. respawn tê wateya ku eger getty (an pêvajoyek ku ew wekî pişka veguherî ye) tê kuştin; / sbin / getty emrê gişt e. The -L wateya herêmî (nîşanên kontrola modem neyê kontrolkirin). -h (nimûne nimûne nîşan nabe) kontrolkirina pîşesaziya pargîdaniyê (wekhevên dirûşmetê). 1 9200 rêjeya baûd e. ttyS1 wateya / dev / ttyS1 (COM2 di MS-DOS). vt102 cureya termînal e û ev getty dê TERM bi rengek pîvana hawirdorê ava bike. Vebijêrk pelan tune. Vê binivîse "init q" li ser rêza rêza paşê veguhastina şîfreyê ye û hûn gavê lezgîn bibînin.

Auto-detection ya pirsgirêkên pirsgirêkên Agetty

Bernameya agetty dê hewce bike ku hebûna parîteya hundur a termînal (tevlîheviyek nabe) ava bike. Ew bi daneyên 8-bit bi hêla hev-1-bit bitikî piştgirî nake. Dîtinên 8-bit bitîtên (hevalbendî) bibînin. Heke hûn bi hevpeyivînek bisekînin bikar bînin, ewê wê bixweberê xwe xweş bike ku ji destpêkê re dixwaze hûrgelek bitikî wekî ku ew bitikir bû. Ji ber vê yekê divê hewceyê paşê bitikî (dibe ku dibe ku wekheviyeke bitik), ku hûn navnîşa nav-nameya xwe binivîsin da ku ew dikare wekheviya xweya xweser bike. Bi vî rengî heger hûn wekheviyê bikar bînin, tenê di hundurê tekstî-anîn de bicîh bikin û bihêle ku xweya xweya xweyî-lêgerîn wê binêrin û li ser komputer veguherînin. Heke piştevanîya we ya termînalê wateya wergirtiye, bextê têketinê dê heta ku hûn tiştek tiştî binivîse ku getty dikare bizanibin

wekheviyê Wê zûtirîn berbiçav, mêvanên xwe bikişînin, û ji hewl didin hewl bikin. Ew dikare ku hûn dixwazin dixwazin.

Gelek pirsgirêkek bi detektoriya otomatî ya yekîtiyê heye. Ji ber vê yekê dibe ku ji ber ku hûn cara yekem navnîşa navnîşa xwe binivîse, agarty bernameyek têketinê dest pê dike ku hûn di binpêkirinê da. Bi xemgîniyê , bernameyek têketin nikare pêvajoya neyê naskirin, eger eger bernameyek getty bernameyek hevgirtî nabe ku hûn têkevin an jî. Heke gerîlêdanê ya yekemîn têk anî, têketin dê dîsa ji te re dîsa biceribînin, (hemî bi hevalbendiyek çewt e). Di dawiyê de, piştî çend hewldanên hewldanên têkildarî (an jî piştî demjimêr) agarty dê dîsa dest pê bikin û her tiştî têketin dest pê bikin. Dema ku gavî dîsa dîsa bikişîne, ew dikare bikaribe ku wekheviya duyemîn hewl bike, da ku her tişt dikare wê baş bike.

Bi hevalbendiyek çewt, hûn bernameyek têketin nikare xwendin ka hûn çi binivîsin û hûn nikarin têkevin. Gava ku hûrgelê nabe ku hûrgelan nas bike / / pelê pirsgirêkek bi gelemperî berî berî zûtirîn veşartî ye, bi awayekî bêtir xeletî dikarin li ser ekranê nîşan bidin.

Çima ji hêla nameyek yekemîn ve tête parîteyê tête peyda dibe? Li vir nimûne ye: Dibe ku ew bi 8-bit byte wekheviyek bitikîne 0 ((nîqaşek bilindtir) û hejmareke nifûsa 1-bîtên din hene. Çiqas e? Bi rastî, hejmareke bêkêmahî 1 bît e ku ew wekheviyek e. Lê ev yek jî wekheviyek bi 8-bit kesek dikare bibe. Vê awayî hêdî ne diyar e ku kîjan kîjan. Lê heta niha em hema hema hema wekheviyê derxistin. Vebijêrin wekheviya vê yekê bi rêya pêvajoya hilweşandinê.

Ger heya pêşî ya pêşî ye ku yekem yekem e û tenê hema hema hema wekheviyê hilweşîne, ev jî hîn nabe ku bihevreheq bike. Ev rewşê dikare herdem demek berdewam bike û di rewşên kêmînan de têkevin dê heta ku hûn bi navê-nav xwe biguherînin. Heke agarty bitekheviyek yek bibîne, wê wateya ku ev yek wekheviyek e û ne nimûneyeke hûrgelê ya 8-bit bitik e. Bi vî awayî fêm dike ku hûn ne navê bikarhêner (meta bilindtir) ye ku ne navê nav ASCII ye.

Yek dikare di gelek awayan de "loop-login" bigihîjin. Dibe ku hûn tenê nameyek navnîşa xwe an nameyek yek an du tenê binivîse û paşê vegerin. Heke ev nameyan ji bo meseleyek ji bo têgihîştinê ne bes e, hingê beriya hûrgelan berfireh bike. Gelek pirsgirêk ev pirsgirêk dibe ku hûn tengal û / an ve girêdayî ne, gava ku gava yekem de destpêkê dest pê dike.

Heke hûn di vê riya "loop-login" de ji rê ve tête standin, heta ku hûn gavê gavê gavî bigire. Riyeke din jî tenê ji bo demekê an jî soza benda bisekinin. Piştre têketinê gavê gav dibe ku li ser bernameya gettyê ve bête kirin û hûn dikarin dîsa dîsa biceribînin ku têkeve log-in.

8-bit data bytes (plus parity)

Mixabin, tengahiyê ev agir nikare peyda bike. Di destpêka 1999ê de neyê ku ji bo xweseriya xweseriya xweseriyê veqetîne tune ye û ji ber vê yekê wekheviyek çewt e. Di encamê de ev encam e ku pêvajoyê têketin xemgîn kirin û wekheviyê wê bêne çewt kirin. Ji ber vê yekê ew nerazî dibe ku hewce dike ku daneyên 8-bit bi hêla paraletê re bikar bînin.

getty (part of getty_ps)

(Piraniya vê ji ji hêla Greg Hankins-ê Serial-HOWTO)
Ji bo vê yekê pir hewce ye ku her du navnîşan di pelê danûstandinên danûstandinan de binivîse û di nav / etc / inittab de zêde bike . Li vir hinek navnîşên nimûne hene ku ji bo termînera xwe bikar bînin ku hûn di nav pelê veguhastinê de / etc / gettydefs bikar bînin .

# 38004 bps Dumb Termin Enter DT38400 # B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #: DT38400 # 19200 bps Dumb Terminal Entrance DT19200 # B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL # @ S @L login: # DT19200 # 9600 bps Dumb Terminal Entrance DT9600 # B9600 CS8 CLOCAL # B9600 BERSÎVAN-KIRKÎ CLOCAL # @ S @L login: # DT9600

Têbînî ku DT38400, DT19200, etc. tenê tenê labels in û ew eynî heman yekê ku hûn di / etc / inittab bikar bînin.

Ger hûn bixwazin, hûn dikarin tiştên ku di binê barkêşê de tiştek balkêş bikin. Di nimûneyên min de, navê min heye û pergala serial. Hûn dikarin tiştên din bikin: [blockquote

shade = yes] @B Niha (dema dema @B binçavkirin) rêjeya bpsê ye. @D Dîroka niha, li MM / DD / YY. @L Rêzeya serial ya ku pir zehf girêdayî ye. @S Pergalê navê @T Niha niha, li HH: MM: SS (24-hour). @U Numreya ku niha bikarhênerên li ser îmze kirin. Ew hejmareke hejmarek navnîşên di / etc / utmp pelê ye ku di navnîşana ut_name de ne-null e. @V Nirxa VERSION, wek ku di pelên pelan de hatine dayîn. Ji bo xala taybetmendiyê '@' nîşan bide, \ 'an' an '@@' bikar bînin.

Dema ku hûn guhertin / etc / gettydefs têne kirin , hûn dikarin piştrast bikin ku syntax bi destê xwe rast e:

linux # getty -c / etc / gettydefs

Bawer bikin ku pelê seriyekî din tune û neugereyek ji bo porta serial ya ku we girêdayî ye ( /etc/default/{uu}getty.ttyS N an /etc/conf.{uu}getty.ttyS N ) , wekî ev ê dibe ku li ser germî li ser termînal veguhestin. Dema ku derkevin holê pelên wendakirinê bistînin.

Guherandina we / / / inittab pelê li ser veguhestina portê ya serial veguherîne (agahdariya rastîn ya ji bo hawirdora xwe - port, lezgeh, û terminal terminal default) veguherîne:

S1: 23: respawn: / sbin / getty ttyS1 DT9600 vt100 init linux # init q

Di vê yekê de, divê hûn li ser termînek zûtirîn bibînin. Hûn dikarin vegerî bikişînin ku baldarî berbi terminal.

mgetty

"M" ji bo modemeyê tête rawestandin. Ev bernameya sereke ji bo modem û ji 2ê nîvê pêşîn e, ew ê hewce dike ku ji bo tekst-termînalan bikar bînin (heta ku hûn bikarhênerê kontrola pîşesaziyê bikar bînin - û ew gelemperî kelek destekek hewceyê hewce dike). Çimkî belgeyên ji bo rasterast girêdanên terminals ji "beşa derhêner" ji bo destûra mgetty.texi bibînin.

Di rêzên dawîn de /etc/mgetty/mgetty.config ji bo nimûne nimûne nimûne ji bo termînalê veguherîne. Heta ku hûn dibêjin "tenga-dtr no" wê wisa difikire ku hûn modem heye û dorpêç bikin (NTR). DTR di hewldana hewldanê de pêdivî ye ku modem non-exista veguherîne. Berevajî ku ji gettysên din, mfettî dê xwe bi xwe bi termînalek nabe ku heta ku kesek kûreyek tehlîlan bikişîne, hûn ê bibînin? ji bo ku di vê yekê de tête çêkirin, di binav an jî ps . Têketin di / var / log / mgetty / ê dikarin hin peyamên hişyariyê nîşan bidin ku tenê bi modemên ku hûn nebaxşînin ne.

Li vir e ku nimûneya xuyakirina hêsan e ku hûn di / etc / inittab de têne kirin:

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