Téks-terminal dina Linux Ubuntu

14,1 Getty (dipaké di / jsb / inittab)

Bubuka keur Getty

Dina raraga boga proses login amprok dina port serial (jeung terminal nyambung ka dinya) nalika komputer dimimitian up (atawa saklar ngajalankeun tingkat) paréntah Getty kudu nempatkeun kana / jsb / file inittab. Ngajalankeun Getty tina garis paréntah bisa ngabalukarkeun masalah (tingali Mun Getty ngaji ti garis paréntah: Program neangan dieureunkeun ningali naha). Getty meunang TTY (terminal a) bade. Unggal terminal perlu paréntah Getty sorangan. Aya ogé sahanteuna hiji paréntah Getty pikeun konsol di unggal / jsb / inittab file. Neangan ieu teras nahan Paréntah Getty pikeun terminal nyata gigireun eta. file ieu bisa ngandung garis Getty sampel pikeun terminal téks nu commented kaluar ku kituna kabeh kudu maneh mun geus nepi uncomment aranjeunna (nyabut ngarah #) jeung ngarobah sababaraha alesan.

Dalil nu diijinkeun gumantung kana anu Getty Anjeun nganggo:
Dua gettys pangalusna pikeun terminal dihubungkeun langsung nyaéta:

Dua gettys pangalusna pikeun modem dial-di (ulah keur terminal dihubungkeun langsung) nyaéta:

gettys basajan ngagunakeun lamun teu ngagunakeun téks-terminal nyata. Paling pamaké Linux Ubuntu nganggo salah sahiji di monitor maranéhna:

Sebaran Linux Ubuntu Anjeun bisa datangna kalayan boh ps_getty atanapi agetty pikeun téks-terminal. Sababaraha sebaran nyadiakeun ngayakeun. Hanjakal, aranjeunna mindeng ngan nelepon deui "Getty" kitu anjeun kedah nangtukeun mana salah anjeun gaduh ti alesan anjeun tiasa nyimpen sanggeus eta di / jsb / inittab béda. Debian migunakeun agetty (dina paket util-linux). RedHat jeung Fedora dipaké ps_getty nu di: ps_getty

Salaku Resort panungtungan nyobian pikeun nangtukeun mana Getty anjeun boga, Anjeun bisa pariksa kaluar kode laksana na (biasana di / sbin). ps_getty boga / jsb / gettydefs study di kode ieu. Pikeun neangan eta, buka / jenis sbin na:
string Getty | grep Getty
Mun Getty sabenerna agetty di luhur bakal ngahasilkeun nanaon. Sanajan kitu lamun gaduh ketikan agetty:
Getty -h
kedah mintonkeun pilihan [-hiLmw].

Mun anjeun teu mibanda Getty nu rék pariksa sebaran sejenna jeung program alien pikeun ngarobah antara rpm jeung bungkusan Debian. Kodeu sumber bisa didownload tina Getty Software.

Lamun teu maké garis kontrol modem (contona lamun ukur make nomer minimum 3 konduktor: ngirimkeun, nampa, jeung sinyal umum taneuh) anjeun kudu ngantep Getty terang ku maké "lokal" bendera. The format ieu gumantung kana anu Getty Anjeun pake.

Getty kaluar sanggeus login (jeung bisa respawn)

Saatos Anjeun asup anjeun bakal aya bewara (ku ngagunakeun "luhur", "ps -ax", atawa "ptree") yén prosés Getty geus teu anéh ngajalankeun. Naon anu lumangsung nepi ka dinya? Naha teu Getty ngabalikan deui lamun cangkang anjeun tiwas? Di dieu téh naha.

Saatos Anjeun ngetik dina ngaran pamaké anjeun, Getty nyokot eta na nyaéta panggero program login sangkan eta ngaran pamaké anjeun. Prosés Getty diganti ku prosés login. Prosés login miwarang keur sandi anjeun, cek eta na dimimitian prosés naon anu dituliskeun dina file sandi anjeun. prosés ieu téh mindeng cangkang bash. Lamun kitu, bash dimimitian jeung ngagantikeun proses login. Catet yén hiji prosés ngagantikeun sejen tur yén prosés cangkang bash asalna dimimitian salaku prosés Getty. Implikasi ieu bakal dipedar di handap.

Ayeuna di / jsb / file inittab, Getty geus sakuduna dituju respawn (balikan deui) lamun tiwas. Nyebutkeun kitu dina garis anu nyebut Getty. Tapi lamun cangkang bash (atawa prosés login) geus ditelasan, respawns Getty (balikeun). Naha? Muhun, boh prosés login na bash anu Panggantian pikeun Getty na inherit

* Téks Terminal Kumaha-Ka Index

éta sambungan sinyal ngadegkeun ku ngaheulaan maranéhanana. Kanyataanna lamun niténan rinci anjeun bakal aya bewara yén prosés pergantian kudu prosés ID sami salaku prosés aslina. Kituna bash nyaeta nurun Getty di nyamur kalayan jumlah prosés ID sami. Mun bash geus ditelasan éta kawas Getty ieu ditelasan (sanajan Getty teu ngajalankeun deui). Ieu ngakibatkeun Getty respawning.

Nalika salah sahiji log kaluar, sadaya proses dina éta port serial téh tiwas kaasup cangkang bash. Ieu bisa ogé lumangsung (lamun diaktipkeun) lamun sinyal hangup geus dikirim ka port serial ku serelek ngeunaan tegangan DCD ku modem. Boh logout atawa serelek di DCD bakal ngahasilkeun Getty respawning. Hiji bisa maksa Getty mun respawn ku killing sacara manual bash (atawa login) boh ku nganiaya tombol k, jsb bari di "luhur" atanapi ku "maéhan" paréntah. Anjeun kamungkinan bakal perlu maéhan éta kalayan sinyal 9 (nu teu bisa dipaliré).

Mun Getty ngaji ti garis paréntah: Program neangan dieureunkeun

Anjeun normal kedah ngajalankeun Getty ti jero / jsb / inittab teu ti garis paréntah atawa sejenna sababaraha program ngajalankeun on terminal bisa jadi disangka ditunda (dieureunkeun). Di dieu téh naha (skip ka bagian salajengna upami naha teu penting ka anjeun). Lamun mimiti Getty pikeun sebutkeun ttyS1 tina garis komando terminal séjén, disebutkeun tty1, mangka kudu tty1 salaku "terminal ngadalikeun" na sanajan terminal sabenerna eta dijalankeun dina téh ttyS1. Ku sabab kitu eta boga terminal ngadalikeun salah. Tapi lamun ayeuna teh dimimitian di jero file inittab mangka kudu ttyS1 salaku terminal ngadalikeun (bener).

Sanajan terminal ngadalikeun anu salah, anu login di ttyS1 jalan halus (saprak anjeun masihan ttyS1 salaku hiji argumen pikeun Getty). Asupan baku sarta output nu disetel ka ttyS1 sanajan terminal ngadalikeun tetep tty11. program séjén ngajalankeun di ttyS1 bisa inherit ieu standar input / output (anu nyambung ka ttyS1) jeung sagalana is OK. Tapi sababaraha program bisa nyieun kasalahan tina nyobian maca tina ngadalikeun maranéhanana terminal (tty1) nu salah. Ayeuna tty1 bisa mikir yén program ieu ayeuna keur ngajalankeun di tukang ku tty1 jadi hiji usaha maca tina tty1 (sakuduna geus ttyS1) hasil dina stopping prosés nu nyoba maca. (A prosés tukang teu diwenangkeun maca ti terminal na ngadalikeun.). Anjeun bisa nempo hiji hal dipilampah kawas: "[1] + dieureunkeun" dina layar. Dina titik ieu anjeun nyangkut saprak anjeun teu tiasa interaksi sareng proses nu keur nyoba komunikasi sareng Anjeun liwat terminal salah. Tangtu kabur ti ieu anjeun bisa buka terminal séjén sarta maéhan prosesna, jsb

agetty (bisa jadi ngaranna Getty)

Hiji conto garis dina / jsb / inittab:

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

S1 ti ttyS1. 23 artina Getty geus ngajalankeun kana ngasupkeun tingkat amprok 2 atanapi 3. respawn hartina lamun Getty (atawa prosés anu diganti deui kayaning bash) geus ditelasan, Getty otomatis mimitian up (respawn) deui. / Sbin / Getty mangrupakeun paréntah Getty. -L hartina Lokal (malire sinyal kontrol modem). -h (teu ditémbongkeun dina conto) nyandak kadali aliran hardware (sarua salaku crtscts stty). 19200 nyaéta laju baud. ttyS1 hartina / dev / ttyS1 (COM2 dina MS-DOS). vt102 mangrupa tipe terminal sarta Getty ieu bakal nangtukeun lingkungan variabel istilah mun nilai ieu. Aya henteu file konfigurasi. Ketik "q init" dina garis paréntah sanggeus ngédit Getty jeung anjeun kedah tingali hiji ajakan login.

Agetty & # 39; s otomatis-beungeut masalah parity

Program agetty bakal nyobian otomatis-ngadetéksi parity diatur di jero terminal (kaasup henteu parity). Teu ngarojong 8-bit byte data tambah 1-bit parity. Tempo data 8-bit byte (tambah parity). Lamun make stty pikeun ngeset parity, agetty bakal otomatis unset eta saprak éta mimitina hayang bit parity datang thru saolah-olah ieu saeutik data. Ieu sabab perlu meunangkeun bit panungtungan (jigana saeutik parity) anjeun ngetik login-ngaran anjeun meh bisa otomatis-ngadeteksi parity. Kituna lamun make parity, ngaktipkeun dinya ukur di jero téks-terminal sarta ngantep agetty otomatis-ngadeteksi dinya tur nyetel eta dina komputer. Mun terminal Anjeun ngarojong parity ditampi, anu ajakan login bakal béda garbled dugi ka ngetik hal ambéh Getty bisa ngadeteksi di

parity. The ajakan garbled bakal ngahalangan datang, jsb ti nyobian login. Anu bisa jadi naon euy rék.

Aya kadang masalah kalayan beungeut otomatis tina parity. Ieu kajadian sabab sanggeus anjeun mimiti ngetik ngaran login anjeun, agetty dimimitian program login nepi ka rengse logging anjeun. Hanjakal, program login henteu bisa ngadeteksi parity jadi lamun program Getty gagal pikeun nangtukeun parity nu lajeng login moal bisa nangtukeun eta oge. Lamun usaha login heula gagal, login bakal ngantep anjeun cobian deui, jsb (kabeh jeung parity diatur salah). Antukna, sanggeus sababaraha usaha gagal mun login (atawa sanggeus seep a) agetty mimitian up deui tur ngamimitian urutan login sakuliah deui. Sakali Getty geus ngajalankeun deui, eta mungkin bisa ngadeteksi parity dina try kadua jadi sagalana bisa lajeng dianggo OK.

Kalawan parity salah, program login moal bisa neuleu maca naon ngetik jeung anjeun teu tiasa lebet. Upami terminal Anjeun ngarojong narima parity, anjeun bakal neruskeun pikeun nempo layar garbled. Mun Getty gagal pikeun ngadeteksi parity hiji / jsb / masalah file ieu biasana kasusun loba di ka layar ngan méméh méméh ajakan, kecap sangkan leuwih garbled bisa muncul dina layar.

Naha teu tiasa agetty ngadeteksi parity ku aksara awal diketik? Di dieu hiji conto: Anggap eta ngadeteksi hiji bait 8-bit jeung parity bit 0 (-urutan luhur bit) sarta kalawan jumlah ganjil 1-bit. Naon parity éta? Muhun, jumlah ganjil 1 bit ngakibatkeun yen éta parity ganjil. Tapi bisa oge ngan jadi hiji karakter 8-bit jeung euweuh parity. Aya no way jadi jauh pikeun nangtukeun mana. Tapi jadi jauh kami geus ngaleungitkeun kamungkinan malah parity. Beungeut parity sahingga proceeds ku prosés ilangna.

Lamun bait salajengna diketik téh sarupa jeung hiji mimiti na ogé ngan eliminates kamungkinan malah parity, éta masih mungkin keur nangtukeun parity. ieu kaayaan bisa neruskeun salamina sarta dina kasus nu jarang dipake login bakal gagal dugi ka ngarobah login-ngaran anjeun. Mun agetty manggih saeutik parity 1 éta bakal nganggap yén ieu téh saeutik parity teu saeutik-urutan luhur hiji karakter 8-bit. Eta sahingga nganggap yen anjeun teu make meta-karakter (bit set tinggi) dina ngaran pamaké anjeun (ie yén ngaran anjeun dina ASCII).

Hiji bisa meunang kana "login loop" dina sagala rupa cara. Anggap anjeun ngan ngetik surat tunggal atawa dua pikeun ngaran login Anjeun tur mulang lajeng pencét. Lamun hurup ieu henteu cukup pikeun deteksi parity, teras login ngalir saméméh parity geus kauninga. Kadangkala masalah ieu kajadian lamun teu boga terminal on jeung / atawa dihubungkeun nalika agetty munggaran dimimitian up.

Lamun perlu nyangkut dina ieu "loop login" cara kaluar tina éta ka pencét balik tombol sababaraha kali dugi ka meunang nu ajakan Getty login. Cara séjén nyaéta ka ngan antosan a menit kapayun pikeun seep a. Mangka Getty login ajakan bakal nempatkeun dina layar ku program Getty sarta anjeun bisa cobaan deui asup.

8-bit byte data (tambah parity)

Hanjakal, agetty teu tiasa ngadeteksi parity ieu. Salaku telat 1999 teu boga pilihan pikeun nganonaktipkeun nu otomatis-beungeut parity sahingga bakal ngadeteksi parity lepat. hasilna nyaeta yén prosés login bakal garbled na parity bakal nangtukeun salah. Kituna teu sigana meujeuhna mun cobian nganggo data 8-bit byte kalawan parity.

Getty (bagian tina getty_ps)

(Kalolobaan ieu ti heubeul Serial-HOWTO ku Nagreg Hankins)
Pikeun Getty kieu salah perlu duanana nempatkeun éntri dina file Konfigurasi sarta nambahan entri dina / jsb / inittab. Di dieu aya sababaraha conto eusi ngagunakeun pikeun terminal anjeun nu nempatkeun kana file konfigurasi / jsb / gettydefs.

# 38400 bps belet Éntri Terminal DT38400 # B38400 CS8 CLOCAL # B38400 waras -ISTRIP CLOCAL # @ S @L login: # DT38400 # 19200 bps belet Terminal Éntri DT19200 # B19200 CS8 CLOCAL # B19200 waras -ISTRIP CLOCAL # @ S @L login: # DT19200 # 9600 bps belet Terminal éntri DT9600 # B9600 CS8 CLOCAL # B9600 waras -ISTRIP CLOCAL # @ S @L login: # DT9600

Catetan yén DT38400, DT19200, jsb anu ngan labél jeung kudu sarua nu dipaké dina / jsb / inittab.

Upami anjeun hoyong, anjeun bisa nyieun Getty nyitak hal metot dina banner login. Dina conto abdi, abdi gaduh nami sistem jeung garis serial dicitak. Anjeun tiasa nambahkeun hal séjén: [blockquote

sahadé = yes] @B The ayeuna (dievaluasi dina waktos @B nu katempona) BPS laju. @D The tanggal ayeuna, dina MM / DD / YY. @L The serial garis nu Getty geus napel. @S Ngaran sistem. @T The ayeuna waktu, dina HH: MM: SS (24-jam). @U Jumlah ayeuna asup-on pamaké. Ieu count tina Jumlah ganda dina / jsb / file utmp nu boga sawah ut_name non-hypothesis. @V Nilai Vérsi, sakumaha dirumuskeun dina file ingkar. Pikeun nembongkeun hiji karakter '@' tunggal, make '\ @' atawa '@@'.

Lamun anjeun geus rengse ngédit / jsb / gettydefs, anjeun tiasa pariksa yen rumpaka na tina CMIIW aya ku lakukeun:

linux # Getty -c / jsb / gettydefs

Pastikeun aya Getty atanapi uugetty file config séjén pikeun port serial anu terminal anjeun napel kayaning (/etc/default/{uu}getty.ttyS N atanapi /etc/conf.{uu}getty.ttyS N) , sabab ieu meureun baris ngaganggu ngajalankeun Getty on terminal a. Dipiceun file conflicting misalna lamun aranjeunna kaluar.

Ngédit / jsb / inittab file anjeun pikeun ngajalankeun Getty dina port serial (ngaganti dina informasi anu bener keur lingkungan Anjeun - port, speed, sarta standar tipe terminal):

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

Dina tahap ieu, anjeun kudu ningali hiji ajakan login on terminal Anjeun. Aya kamungkinan Anjeun kudu pencét mulang ka meunang perhatian terminal urang.

mgetty

The "m" nangtung pikeun modem. program ieu téh utamana pikeun modem na sakumaha tina pertengahan 2000 éta bakal merlukeun recompiling ngagunakeun eta pikeun téks-terminal (iwal mun make kadali aliran hardware --and nu biasana merlukeun kabel leungeun-dijieun). Pikeun dokuméntasi pikeun terminal dihubungkeun langsung ningali "langsung" bagian tina manual teh: mgetty.texi.

Tingali di garis tukang tina /etc/mgetty/mgetty.config pikeun conto Konfigurasi eta pikeun terminal a. Iwal mun nyebut "toggle-dtr euweuh" éta bakal pikir nu boga modem na serelek (negate) pin DTR di PC dina usaha hawa ngareset modem non-existent. Kontras jeung gettys sejen, mgetty moal ngagantelkeun sorangan ka terminal a dugi batur hits wae konci terminal nu kitu maneh bakal ningali hiji? pikeun terminal di luhur atanapi ps dugi ieu kajadian. The log di / var / log / mgetty / bisa némbongkeun hiji pesen warning sababaraha nu ngan lumaku pikeun modem nu bisa Anjeun malire.

Di dieu téh conto garis basajan anjeun tiasa nyimpen di / jsb / inittab:

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