Text-Terminals on Linux

141 Getty (ໃຊ້ໃນ / etc / inittab)

ແນະນໍາໃຫ້ Getty

ເພື່ອໃຫ້ມີຂະບວນການເຂົ້າສູ່ລະບົບຢູ່ໃນສະ Serial Port (ແລະເທີມິນັດທີ່ເຊື່ອມຕໍ່ກັບມັນ) ເມື່ອຄອມພິວເຕີເລີ່ມຕົ້ນ (ຫລືປ່ຽນລະດັບການດໍາເນີນງານ) ຄໍາສັ່ງ getty ຕ້ອງຖືກໃສ່ໃນ / etc / inittab. ການແລ່ນ getty ຈາກບັນທັດຄໍາສັ່ງສາມາດເຮັດໃຫ້ເກີດບັນຫາ (ເບິ່ງຖ້າ getty ແລ່ນຈາກຄໍາສັ່ງ: Programs get stopped to see why). Getty ໄດ້ຮັບ TTY (ປາຍທາງ) ໄປ. ສະຖານີແຕ່ລະຕ້ອງມີຄໍາສັ່ງ getty ຂອງຕົນເອງ. ນອກຈາກນີ້ຍັງມີຄໍາສັ່ງ getty ຢ່າງຫນ້ອຍຫນຶ່ງສໍາລັບ console ໃນທຸກໆລະ / etc / inittab. ຊອກຫານີ້ແລະເອົາຄໍາສັ່ງ getty ສໍາລັບຕົວຈິງທີ່ຢູ່ໃກ້ກັບມັນ. ໄຟລ໌ນີ້ອາດຈະມີຕົວຢ່າງຂອງສາຍສັນຍານຂໍ້ຄວາມສໍາລັບປາຍທາງຂໍ້ຄວາມທີ່ຖືກສະແດງອອກດັ່ງນັ້ນທັງຫມົດທີ່ທ່ານຕ້ອງການແມ່ນເພື່ອບໍ່ໃຫ້ຄໍາຄິດຄໍາເຫັນໃຫ້ພວກເຂົາ (ເອົາຫົວຂໍ້ # ອອກ) ແລະປ່ຽນແປງການໂຕ້ຖຽງຈໍານວນຫນ້ອຍ.

ການໂຕ້ຖຽງທີ່ຖືກອະນຸຍາດແມ່ນຂຶ້ນກັບທີ່ທ່ານໃຊ້:
ສອງ gettys ທີ່ດີທີ່ສຸດສໍາລັບການເຊື່ອມຕໍ່ທີ່ເຊື່ອມຕໍ່ໂດຍກົງແມ່ນ:

ສອງ gettys ທີ່ດີທີ່ສຸດສໍາລັບໂມເດັມໃນຄອມພິວເຕີ້ (ຫຼີກລ້ຽງການເຊື່ອມຕໍ່ທີ່ເຊື່ອມຕໍ່ໂດຍກົງ) ແມ່ນ:

gettys ງ່າຍດາຍທີ່ຈະນໍາໃຊ້ຖ້າຫາກວ່າທ່ານບໍ່ໄດ້ນໍາໃຊ້ຕົວອັກສອນທີ່ແທ້ຈິງ. ຜູ້ໃຊ້ Linux ສ່ວນໃຫຍ່ໃຊ້ຫນຶ່ງໃນສິ່ງເຫລົ່ານີ້ຢູ່ໃນຈໍຂອງພວກເຂົາ:

ການແຜ່ກະຈາຍ Linux ຂອງທ່ານອາດຈະມາພ້ອມກັບ ps_getty ຫຼື agetty ສໍາລັບ text-terminals. ການແຜ່ກະຈາຍບາງຢ່າງບໍ່ສະຫນອງ. ແຕ່ຫນ້າເສຍດາຍ, ພວກເຂົາມັກຈະເອີ້ນມັນວ່າ "getty" ດັ່ງນັ້ນທ່ານຈໍາເປັນຕ້ອງໄດ້ກໍານົດວ່າທ່ານມີຂໍ້ໂຕ້ແຍ້ງທີ່ທ່ານໃສ່ຫຼັງຈາກມັນຢູ່ໃນ / etc / inittab ແຕກຕ່າງກັນ. Debian ໃຊ້ agetty (ໃນຊຸດການໃຊ້ linux). RedHat ແລະ Fedora ໃຊ້ ps_getty ທີ່ຢູ່: ps_getty

ໃນຖານະເປັນລີ້ນສຸດທ້າຍທີ່ຈະພະຍາຍາມກໍານົດທີ່ມີ getty ທ່ານມີ, ທ່ານອາດຈະກວດສອບລະຫັດປະຕິບັດການຂອງມັນ (ປົກກະຕິແລ້ວໃນ / sbin). ps_getty ມີ / etc / gettydefs ທີ່ຝັງຢູ່ໃນລະຫັດນີ້. ເພື່ອຄົ້ນຫາມັນ, ໄປທີ່ / sbin ແລະພິມ:
strings getty | grep getty
ຖ້າ getty ແມ່ນ agetty ແທ້ໆຂ້າງເທິງຈະເຮັດໃຫ້ບໍ່ມີຫຍັງ. ຢ່າງໃດກໍ່ຕາມຖ້າທ່ານມີການພິມແບບ agetty:
getty -h
ຄວນສະແດງທາງເລືອກ [-hiLmw].

ຖ້າທ່ານບໍ່ມີ getty ທ່ານຕ້ອງການກວດສອບການແຈກຢາຍອື່ນໆແລະໂຄງການ ຄົນຕ່າງດ້າວ ທີ່ຈະປ່ຽນລະຫວ່າງ RPM ກັບ Debian. ລະຫັດຕົ້ນສະບັບອາດຈະໄດ້ຮັບການດາວໂຫຼດຈາກ Getty Software.

ຖ້າທ່ານບໍ່ໃຊ້ສາຍຄວບຄຸມໂມເດັມ (ຕົວຢ່າງເຊັ່ນຖ້າທ່ານໃຊ້ຈໍານວນຕໍາ່ສຸດທີ່ຂອງ 3 conductors: ສົ່ງ, ຮັບແລະພື້ນທີ່ສັນຍານທົ່ວໄປ) ທ່ານຄວນໃຫ້ getty ຮູ້ນີ້ໂດຍໃຊ້ຫມາຍ "ທ້ອງຖິ່ນ". ຮູບແບບຂອງການນີ້ແມ່ນຂຶ້ນກັບການທີ່ທ່ານໃຊ້ getty.

Getty ອອກຈາກພາຍຫຼັງທີ່ເຂົ້າສູ່ລະບົບ (ແລະສາມາດ respawn)

ຫຼັງຈາກທີ່ທ່ານເຂົ້າສູ່ລະບົບທ່ານຈະສັງເກດເຫັນ (ໂດຍໃຊ້ "ທາງເທີງ", "ps -ax" ຫຼື "ptree") ວ່າຂະບວນການ getty ບໍ່ສາມາດເຮັດວຽກໄດ້. ສິ່ງທີ່ເກີດຂຶ້ນກັບມັນ? ເປັນຫຍັງ getty restart ອີກເທື່ອຫນຶ່ງຖ້າຫາກວ່າແກະຂອງທ່ານຖືກຂ້າຕາຍ? ນີ້ແມ່ນເຫດຜົນ.

ຫຼັງຈາກທີ່ທ່ານພິມຊື່ຜູ້ໃຊ້ຂອງທ່ານ, getty ເອົາມັນແລະໂທຣເຂົ້າສູ່ລະບົບບອກຊື່ຜູ້ໃຊ້ຂອງທ່ານ. ຂະບວນການ getty ແມ່ນທົດແທນໂດຍຂະບວນການເຂົ້າສູ່ລະບົບ. ຂະບວນການເຂົ້າສູ່ລະບົບຮ້ອງຂໍໃຫ້ລະຫັດຜ່ານຂອງທ່ານ, ກວດເບິ່ງມັນແລະເລີ່ມຕົ້ນຂະບວນການທີ່ລະບຸໄວ້ໃນໄຟລ໌ລະຫັດຜ່ານຂອງທ່ານ. ຂະບວນການນີ້ມັກຈະເປັນແກະ bash. ຖ້າເປັນດັ່ງນັ້ນ, bash ຈະເລີ່ມຕົ້ນແລະແທນທີ່ຂະບວນການເຂົ້າສູ່ລະບົບ. ໃຫ້ສັງເກດວ່າຫນຶ່ງໃນຂະບວນການທົດແທນຄົນອື່ນແລະວ່າຂະບວນການແກະຂີ້ເຫຍື້ອເລີ່ມຕົ້ນເປັນຂະບວນການ getty. ຜົນກະທົບຂອງສິ່ງນີ້ຈະຖືກອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້.

ຕອນນີ້ຢູ່ໃນ / etc / inittab file, getty ແມ່ນ supposed respawn (restart) ຖ້າຖືກຄ່າ. ມັນເວົ້າດັ່ງນັ້ນໃນສາຍທີ່ເອີ້ນວ່າ getty. ແຕ່ຖ້າເປືອກ bash (ຫຼືຂະບວນການເຂົ້າສູ່ລະບົບ) ຖືກຂ້າຕາຍ, getty respawns (restarts). ເປັນຫຍັງ? ດີ, ທັງຂະບວນການເຂົ້າສູ່ລະບົບແລະ bash ແມ່ນການທົດແທນສໍາລັບ getty ແລະມໍລະດົກ

* Text Terminal How-To Index

ການເຊື່ອມຕໍ່ສັນຍານທີ່ຖືກສ້າງຂຶ້ນໂດຍຜູ້ລ້າຂອງພວກເຂົາ. ໃນຄວາມເປັນຈິງຖ້າທ່ານສັງເກດເບິ່ງລາຍລະອຽດທ່ານຈະສັງເກດເຫັນວ່າຂະບວນການທົດແທນຈະມີ ID ຂະບວນການດຽວກັນເປັນຂະບວນການຕົ້ນສະບັບ. ດັ່ງນັ້ນ bash ແມ່ນປະເພດຂອງ getty ໃນ disguise ກັບຈໍານວນ ID ຂະບວນການດຽວກັນ. ຖ້າຫາກວ່າ bash ຖືກຂ້າມັນກໍ່ຄືກັບ getty ໄດ້ຖືກຂ້າຕາຍ (ເຖິງແມ່ນວ່າ getty ບໍ່ໄດ້ແລ່ນອີກຕໍ່ໄປ). ນີ້ຜົນໄດ້ຮັບໃນ getty respawning.

ໃນເວລາທີ່ຫນຶ່ງອອກຈາກລະບົບ, ຂະບວນການທັງຫມົດທີ່ຢູ່ໃນປະຕູຮົ້ວ serial ນັ້ນຖືກປະຫານລວມທັງແກະ bash. ນີ້ອາດຈະເກີດຂື້ນ (ຖ້າເປີດ) ຖ້າສັນຍານ hangup ຖືກສົ່ງໄປທີ່ port serial ໂດຍການຫຼຸດລົງຂອງແຮງດັນ DCD ໂດຍໂມເດັມ. ການອອກຫຼືຫຼຸດລົງໃນ DCD ຈະສົ່ງຜົນສະທ້ອນຕໍ່ການປ່ຽນແປງຂອງ getty. ຫນຶ່ງສາມາດບັງຄັບ getty ກັບ respawn ໂດຍການຂ້າ bash (ຫຼືເຂົ້າສູ່ລະບົບດ້ວຍຕົນເອງ) ໂດຍການກົດປຸ່ມ k, ແລະອື່ນໆໃນຂະນະທີ່ຢູ່ໃນ "ເທິງ" ຫຼືມີຄໍາສັ່ງ "ຂ້າ". ທ່ານອາດຈະຕ້ອງໄດ້ຂ້າມັນດ້ວຍສັນຍານ 9 (ເຊິ່ງບໍ່ສາມາດຖືກລະເວັ້ນ).

ຖ້າ getty ແລ່ນຈາກບັນທັດຄໍາສັ່ງ: Programs get stopped

ທ່ານມັກຈະດໍາເນີນການ getty ຈາກພາຍໃນ / etc / inittab ແລະບໍ່ແມ່ນມາຈາກບັນທັດຄໍາສັ່ງຫຼືບາງໂຄງການບາງຢ່າງທີ່ໃຊ້ຢູ່ໃນທ່າທາງອາດຈະຖືກຢຸດໂດຍບໍ່ໄດ້ຄາດຫວັງ. ນີ້ແມ່ນເຫດຜົນ (ຂ້າມໄປຫາພາກຕໍ່ໄປຖ້າຫາກວ່າເປັນຫຍັງບໍ່ເປັນສິ່ງສໍາຄັນຕໍ່ທ່ານ). ຖ້າທ່ານເລີ່ມ getty ສໍາລັບເວົ້າ ttyS1 ຈາກບັນທັດຄໍາສັ່ງຂອງທ່າທາງອື່ນ, ບອກ tty1, ແລ້ວມັນຈະມີ tty1 ເປັນ "terminal ຄວບຄຸມ" ເຖິງແມ່ນວ່າປາຍ terminal ຕົວຈິງມັນແມ່ນ ttyS1. ດັ່ງນັ້ນມັນມີການຄວບຄຸມທີ່ຜິດພາດ. ແຕ່ຖ້າມັນເລີ່ມຕົ້ນພາຍໃນໄຟລ໌ inittab ແລ້ວມັນຈະມີ ttyS1 ເປັນຊ່ອງຄວບຄຸມ (ທີ່ຖືກຕ້ອງ).

ເຖິງແມ່ນວ່າທ່າທາງຄວບຄຸມແມ່ນບໍ່ຖືກຕ້ອງ, ການເຂົ້າສູ່ລະບົບທີ່ ttyS1 ເຮັດວຽກໄດ້ດີ (ນັບຕັ້ງແຕ່ທ່ານໃຫ້ ttyS1 ເປັນການໂຕ້ຖຽງກັບ getty). ການປ້ອນຂໍ້ມູນແລະຜົນຜະລິດມາດຕະຖານແມ່ນກໍານົດໃຫ້ ttyS1 ເຖິງວ່າຈະມີ terminal tty11. ບັນດາໂຄງການອື່ນໆທີ່ດໍາເນີນຢູ່ ttyS1 ອາດຈະໄດ້ຮັບຜົນປະໂຫຍດມາດຕະຖານ / ປະສິດທິພາບນີ້ (ເຊິ່ງເຊື່ອມຕໍ່ກັບ ttyS1) ແລະທຸກສິ່ງທຸກຢ່າງແມ່ນ OK. ແຕ່ບັນດາໂຄງການບາງຢ່າງອາດເຮັດຜິດພາດໃນການພະຍາຍາມທີ່ຈະອ່ານຈາກທ່າທີ່ຄວບຄຸມຂອງພວກເຂົາ (tty1) ທີ່ຜິດພາດ. ໃນປັດຈຸບັນ tty1 ອາດຄິດວ່າບັນດາໂຄງການເຫຼົ່ານີ້ກໍາລັງຖືກດໍາເນີນຢູ່ໃນພື້ນຖານໂດຍ tty1 ດັ່ງນັ້ນຄວາມພະຍາຍາມທີ່ຈະອ່ານຈາກ tty1 (ມັນຄວນຈະມີ ttyS1) ຈະຢຸດການຂະບວນການທີ່ພະຍາຍາມອ່ານ. (ຂັ້ນຕອນພື້ນຖານບໍ່ໄດ້ອະນຸຍາດໃຫ້ອ່ານອອກຈາກບ່ອນຄວບຄຸມຂອງມັນ). ທ່ານອາດຈະເຫັນຂໍ້ຄວາມທີ່ຄ້າຍຄື: " [1] + ຢຸດ " ໃນຫນ້າຈໍ. ໃນຈຸດນີ້ທ່ານຈະຖືກຕິດຕັ້ງຕັ້ງແຕ່ທ່ານບໍ່ສາມາດພົວພັນກັບຂະບວນການທີ່ພະຍາຍາມຕິດຕໍ່ສື່ສານກັບທ່ານຜ່ານທາງປາຍທາງຜິດ. ແນ່ນອນທີ່ຈະຫນີຈາກນີ້ທ່ານສາມາດໄປຫາທ່າເຮືອອື່ນແລະຂ້າຂະບວນການ, ແລະອື່ນໆ.

agetty (ອາດຈະມີຊື່ getty)

ຕົວຢ່າງເສັ້ນໃນ / etc / inittab:

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

S1 ແມ່ນມາຈາກ ttyS1. 23 ຫມາຍຄວາມວ່າ getty ແມ່ນໄລຍະເວລາທີ່ຈະເຂົ້າລະດັບລະດັບ 2 ຫຼື 3. ການຕອບແທນແມ່ນຫມາຍຄວາມວ່າຖ້າ getty (ຫຼືຂະບວນການທີ່ຖືກແທນທີ່ເຊັ່ນ bash) ຖືກຂ້າຕາຍ, getty ຈະເລີ່ມອັດຕະໂນມັດອີກເທື່ອຫນຶ່ງ (respawn). / sbin / getty ແມ່ນຄໍາສັ່ງ getty. ຫມາຍ -L ຫມາຍທ້ອງຖິ່ນ (ບໍ່ສົນໃຈສັນຍານຄວບຄຸມໂມເດັມ). -h (ບໍ່ໄດ້ສະແດງໃນຕົວຢ່າງ) ເຮັດໃຫ້ການຄວບຄຸມການໄຫລຂອງຮາດແວ (ເຊັ່ນດຽວກັນກັບ crtescts). 19200 ແມ່ນອັດຕາພາລະ. ttyS1 ຫມາຍຄວາມວ່າ / dev / ttyS1 (COM2 ໃນ MS-DOS). vt102 ແມ່ນຊະນິດຂອງເທີມິນັນແລະ getty ນີ້ຈະຕັ້ງຄ່າຕົວແປ TERM ກັບຄ່ານີ້. ບໍ່ມີໄຟລ໌ການຕັ້ງຄ່າ. ພິມ "init q" ໃນບັນທັດຄໍາສັ່ງຫຼັງຈາກແກ້ໄຂ getty ແລະທ່ານຄວນຈະເຫັນຄໍາແນະນໍາເຂົ້າສູ່ລະບົບ.

Agetty 's ການຊອກຄົ້ນຫາຕົວເອງຂອງບັນຫາຂອງ parity

ໂຄງການ agetty ຈະພະຍາຍາມຄົ້ນຫາອັດຕະໂນມັດໃນການຕັ້ງຄ່າ parity ທີ່ຢູ່ໃນ ທ່າມກາງ (ລວມທັງບໍ່ມີຄູ່ສົມລົດ). ມັນບໍ່ສະຫນັບສະຫນູນຂໍ້ມູນ bytes 8 ບິດບວກກັບຄວາມສົມດູນ 1 ບິດ. ເບິ່ງ octets ຂໍ້ມູນ 8 ບິດ (ບວກກັບຄວາມເທົ່າທຽມກັນ). ຖ້າທ່ານໃຊ້ stty ເພື່ອກໍານົດ parity, agetty ຈະ ປົດຕໍາແຫນ່ງ ມັນໂດຍອັດຕະໂນມັດເນື່ອງຈາກວ່າມັນໃນເບື້ອງຕົ້ນຕ້ອງການ bit parity ທີ່ຈະມາຜ່ານເຊັ່ນວ່າມັນແມ່ນຂໍ້ມູນນ້ອຍ. ນີ້ແມ່ນຍ້ອນວ່າມັນຕ້ອງໄດ້ຮັບຄວາມໄວສຸດທ້າຍ (ອາດເປັນບິດຂະຫນານ) ເມື່ອທ່ານພິມຊື່ເຂົ້າລະບົບຂອງທ່ານເພື່ອມັນຈະສາມາດກວດຫາຄວາມສົມດູນຂອງອັດຕະໂນມັດໄດ້. ດັ່ງນັ້ນ, ຖ້າທ່ານໃຊ້ຄວາມເທົ່າທຽມກັນ, ໃຫ້ມັນເຂົ້າໃນຂໍ້ຄວາມຢູ່ປາຍແລະໃຫ້ agetty ກວດພົບມັນແລະຕັ້ງມັນໄວ້ໃນຄອມພິວເຕີ. ຖ້າສະຖານີໂທລະສັບຂອງທ່ານສະຫນັບສະຫນູນການມີຄວາມເທົ່າທຽມກັນ, ໂປແກມເຂົ້າສູ່ລະບົບຈະເບິ່ງຂື້ນຈົນກວ່າທ່ານຈະພິມບາງສິ່ງບາງຢ່າງເພື່ອໃຫ້ getty ສາມາດກວດສອບໄດ້

parity ຄໍາເຕືອນທີ່ລົ້ມລະລາຍຈະເຮັດໃຫ້ຜູ້ມາຢ້ຽມຢາມ, ແລະອື່ນໆ, ຈາກການພະຍາຍາມເຂົ້າສູ່ລະບົບ. ນັ້ນອາດຈະເປັນສິ່ງທີ່ທ່ານຕ້ອງການ.

ບາງຄັ້ງກໍ່ມີບັນຫາກັບການຊອກຫາອັດຕະໂນມັດຂອງຄູ່ສົມລົດ. ນີ້ເກີດຂື້ນຍ້ອນວ່າຫຼັງຈາກທີ່ທ່ານພິມຊື່ເຂົ້າລະຫັດຂອງທ່ານຄັ້ງທໍາອິດ, agetty ຈະເລີ່ມຕົ້ນໂປລແກລມ ເຂົ້າສູ່ລະບົບ ເພື່ອສໍາເລັດການເຂົ້າສູ່ລະບົບຂອງທ່ານ. ແຕ່ຫນ້າເສຍດາຍ, ໂປແກຼມ ເຂົ້າລະບົບ ບໍ່ສາມາດກວດພົບຄວາມສົມເຫດສົມຜົນໄດ້ດັ່ງນັ້ນຖ້າວ່າໂປລແກລມ getty ບໍ່ສາມາດກໍານົດ parity ແລ້ວ login ຈະບໍ່ສາມາດກໍານົດ ມັນກໍ່ແມ່ນ. ຖ້າຄວາມພະຍາຍາມເຂົ້າສູ່ລະບົບຄັ້ງທໍາອິດລົ້ມເຫລວ, ການ ເຂົ້າສູ່ລະບົບ ຈະຊ່ວຍໃຫ້ທ່ານພະຍາຍາມອີກເທື່ອຫນຶ່ງ, ແລະອື່ນໆ. (ທັງຫມົດທີ່ມີຄວາມຖືກຕ້ອງຖືກກໍານົດໄວ້). ໃນທີ່ສຸດ, ຫຼັງຈາກຄວາມພະຍາຍາມທີ່ບໍ່ສາມາດເຂົ້າສູ່ລະບົບ (ຫຼືຫຼັງຈາກຫມົດເວລາ) ຈະເລີ່ມຕົ້ນອີກເທື່ອຫນຶ່ງແລະເລີ່ມຕົ້ນລະບົບເຂົ້າສູ່ລະບົບອີກເທື່ອຫນຶ່ງ. ເມື່ອ getty ເຮັດວຽກອີກເທື່ອຫນຶ່ງ, ມັນອາດຈະສາມາດກວດພົບຄວາມສົມດຸນໃນການທົດລອງທີສອງດັ່ງນັ້ນທຸກສິ່ງທຸກຢ່າງອາດເຮັດວຽກໄດ້ດີ.

ມີຄວາມສົມເຫດສົມຜົນທີ່ບໍ່ຖືກຕ້ອງ, ໂປແກຼມ ເຂົ້າລະບົບ ບໍ່ສາມາດອ່ານຂໍ້ມູນທີ່ທ່ານພິມແລະທ່ານບໍ່ສາມາດເຂົ້າສູ່ລະບົບໄດ້. ຖ້າທ່າທາງຂອງທ່ານສະຫນັບສະຫນູນຄວາມເທົ່າທຽມກັນ, ທ່ານຈະສືບຕໍ່ເບິ່ງຫນ້າຈໍທີ່ແຕກຫັກ. ຖ້າ getty ບໍ່ສາມາດກວດຫາ parity ໄຟລ໌ / etc / issue ເປັນປົກກະຕິແລ້ວຖືກສົ່ງໄປຫາຫນ້າຈໍກ່ອນທີ່ຈະ prompt, ດັ່ງນັ້ນຄໍາສັບຕ່າງໆທີ່ແຕກຫັກອາດຈະປາກົດຢູ່ຫນ້າຈໍ.

ເປັນຫຍັງຈຶ່ງບໍ່ສາມາດກວດພົບຄວາມຫຍຸ້ງຍາກຕາມຕົວອັກສອນທໍາອິດ? ຕົວຢ່າງ: ສົມມຸດວ່າມັນກວດພົບ octet 8 bit ດ້ວຍ bit ນ້ອຍ 0 (bit ຄໍາສັ່ງສູງ) ແລະມີຈໍານວນຄີ່ 1 ບິດ. ມັນແມ່ນຫຍັງເທົ່າທຽມກັນ? ດີ, ຈໍານວນຄີກຂອງ 1 ບິດຫມາຍຄວາມວ່າມັນເປັນຄວາມສົມດູນກັນ. ແຕ່ມັນຍັງສາມາດເປັນຕົວເລກ 8 ບິດທີ່ບໍ່ມີຄວາມສົມເຫດສົມຜົນ. ມີວິທີການທີ່ບໍ່ມີເພື່ອແນໃສ່ທີ່ຈະເປັນແນວໃດ. ແຕ່ເຖິງຕອນນັ້ນພວກເຮົາໄດ້ລົບລ້າງຄວາມເປັນໄປໄດ້ຂອງການທຽບເທົ່າ. ການຊອກຄົ້ນຫາຄວາມສົມດູນດັ່ງກ່າວຈຶ່ງເຮັດຕາມຂັ້ນຕອນການກໍາຈັດ.

ຖ້າວ່າ byte ຖີ້ມຕໍ່ໄປນີ້ຄ້າຍຄືກັບຄັ້ງທໍາອິດແລະຍັງສາມາດລົບລ້າງຄວາມເປັນໄປໄດ້ຂອງ parity ເຖິງແມ່ນວ່າມັນຍັງບໍ່ສາມາດກໍານົດຄວາມສົມເຫດສົມຜົນໄດ້. ສະຖານະການນີ້ສາມາດສືບຕໍ່ບໍ່ຈໍາກັດແລະໃນກໍລະນີທີ່ຫາຍາກຈະເຂົ້າສູ່ລະບົບຈົນກວ່າທ່ານຈະປ່ຽນຊື່ເຂົ້າລະບົບຂອງທ່ານ. ຖ້າ agetty ພົບ bit de parity 1 ມັນຈະສົມມຸດວ່ານີ້ເປັນ bit parity ແລະບໍ່ແມ່ນຄໍາສັ່ງສູງຂອງຕົວແປ 8 bit. ດັ່ງນັ້ນ, ມັນຄາດວ່າທ່ານບໍ່ໃຊ້ລັກສະນະ meta (set bit) ໃນຊື່ຜູ້ໃຊ້ຂອງທ່ານ (ຕົວຢ່າງວ່າຊື່ຂອງທ່ານຢູ່ໃນ ASCII).

ຫນຶ່ງອາດຈະເຂົ້າສູ່ "loop ເຂົ້າສູ່ລະບົບ" ໃນຫລາຍວິທີ. ສົມມຸດວ່າທ່ານພຽງແຕ່ພິມຈົດຫມາຍດຽວຫຼືສອງສໍາລັບຊື່ເຂົ້າສູ່ລະບົບຂອງທ່ານແລະຫຼັງຈາກນັ້ນກົດໃສ່ຄືນ. ຖ້າຕົວອັກສອນເຫຼົ່ານີ້ບໍ່ພຽງພໍສໍາລັບການຊອກຫາຄວາມສົມເຫດສົມຜົນ, ຫຼັງຈາກນັ້ນເຂົ້າສູ່ລະບົບກ່ອນທີ່ຈະພົບຄວາມສົມດູນກັນ. ບາງຄັ້ງບັນຫານີ້ຈະເກີດຂື້ນຖ້າທ່ານບໍ່ມີປາຍທາງແລະ / ຫຼືເຊື່ອມຕໍ່ເມື່ອມີການເລີ່ມຕົ້ນທໍາອິດ.

ຖ້າທ່ານໄດ້ຮັບການຕິດຂັດໃນ "loop ເຂົ້າສູ່ລະບົບ" ນີ້, ວິທີການອອກຈາກມັນແມ່ນເພື່ອກົດປຸ່ມ Return several times ຈົນກວ່າທ່ານຈະໄດ້ຮັບຄໍາສັ່ງເຂົ້າສູ່ລະບົບ getty. ວິທີການອື່ນແມ່ນການລໍຖ້າເວລາຫນຶ່ງນາທີສໍາລັບເວລາຫມົດເວລາ. ຫຼັງຈາກນັ້ນ, ໂປແກຼມເຂົ້າສູ່ລະບົບ getty ຈະຖືກໃສ່ໃນຫນ້າຈໍໂດຍໂຄງການ getty ແລະທ່ານອາດຈະພະຍາຍາມອີກເທື່ອຫນຶ່ງເພື່ອເຂົ້າສູ່ລະບົບ.

octets ຂໍ້ມູນ 8 ບິດ (ບວກກັບຄວາມສົມເຫດສົມຜົນ)

ແຕ່ຫນ້າເສຍດາຍ, ການກັ່ນຕອງບໍ່ສາມາດກວດພົບຄວາມສົມດູນນີ້ໄດ້. ໃນທ້າຍປີ 1999, ມັນບໍ່ມີທາງເລືອກສໍາລັບການປິດການກວດສອບອັດຕະໂນມັດຂອງຄວາມເທົ່າທຽມກັນແລະດັ່ງນັ້ນຈະພົບຄວາມສົມເຫດສົມຜົນທີ່ບໍ່ຖືກຕ້ອງ. ຜົນໄດ້ຮັບແມ່ນວ່າຂະບວນການເຂົ້າສູ່ລະບົບຈະຖືກຂັດຂວາງແລະຄວາມສົມເຫດສົມຜົນຈະຖືກກໍານົດຜິດ. ດັ່ງນັ້ນ, ມັນບໍ່ເບິ່ງຄືວ່າເປັນໄປໄດ້ທີ່ຈະພະຍາຍາມໃຊ້ໄບຕ໌ຂໍ້ມູນ 8 ບິດດ້ວຍຄວາມສົມເຫດສົມຜົນ.

getty (ສ່ວນຫນຶ່ງຂອງ getty_ps)

(ສ່ວນໃຫຍ່ນີ້ແມ່ນມາຈາກ Serial-HOWTO ເກົ່າໂດຍ Greg Hankins)
ສໍາລັບ getty ນີ້ຕ້ອງການໃຫ້ທັງສອງເຂົ້າໃນການຕັ້ງຄ່າໄຟລ໌ແລະເພີ່ມການເຂົ້າໃນ / etc / inittab . ຕໍ່ໄປນີ້ແມ່ນບາງຕົວຢ່າງການນໍາໃຊ້ເພື່ອນໍາໃຊ້ສໍາລັບການຢູ່ປາຍຍອດຂອງທ່ານທີ່ທ່ານເອົາເຂົ້າໄປໃນເອກະສານ / etc / gettydefs .

# 38400 bps Dumb Terminal entry DT38400 # B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL # @ S @L login: # DT38400 # 19200 bps Dumb Terminal entry DT19200 # B19200 CS8 CLOCAL # B19200 SANE-ISTRIP CLOCAL # @ S @L login: # DT19200 # 9600 bps Dumb Terminal entry DT9600 # B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL # @ S @L login: # DT9600

ໃຫ້ສັງເກດວ່າ DT38400, DT19200, ແລະອື່ນໆແມ່ນພຽງແຕ່ປ້າຍຊື່ແລະຕ້ອງຄືກັນທີ່ທ່ານໃຊ້ໃນ / etc / inittab .

ຖ້າທ່ານຕ້ອງການ, ທ່ານສາມາດເຮັດສິ່ງຕ່າງໆທີ່ຫນ້າສົນໃຈໃນປ້າຍໂຄສະນາເຂົ້າສູ່ລະບົບ. ໃນຕົວຢ່າງຂອງຂ້ອຍ, ຂ້ອຍມີຊື່ລະບົບແລະເສັ້ນທາງ serial ພິມ. ທ່ານສາມາດເພີ່ມສິ່ງອື່ນໆ: [blockquote

ເງົາ = ແມ່ນ] @B ປັດຈຸບັນ (ປະເມີນເວລາທີ່ @ B ເຫັນ) ອັດຕາ bps. @D ວັນທີ່ປະຈຸບັນ, ໃນ MM / DD / YY. @L ເສັ້ນສາຍທີ່ທີ່ getty ຖືກຕິດຢູ່. @S ຊື່ຂອງລະບົບ. @T ທີ່ໃຊ້ເວລາໃນປະຈຸບັນ, ໃນ HH: MM: SS (24 ຊົ່ວໂມງ). @U ຈໍານວນຜູ້ໃຊ້ທີ່ເຂົ້າໃຊ້ໃນປະຈຸບັນ. ນີ້ແມ່ນການນັບຈໍານວນຂອງລາຍະການໃນແຟ້ມ / etc / utmp ທີ່ມີ field ut_name ທີ່ບໍ່ແມ່ນ null. @ V ມູນຄ່າຂອງ VERSION, ຕາມຂໍ້ມູນໃນຕອນຕົ້ນ. ເພື່ອສະແດງຕົວອັກສອນ '@' ດຽວ, ໃຫ້ໃຊ້ '\ @' ຫຼື '@@'.

ເມື່ອທ່ານໄດ້ເຮັດການແກ້ໄຂ / etc / gettydefs , ທ່ານສາມາດກວດສອບວ່າ syntax ແມ່ນຖືກຕ້ອງໂດຍການເຮັດ:

linux # getty -c / etc / gettydefs

ກວດສອບໃຫ້ແນ່ໃຈວ່າບໍ່ມີໄຟລ໌ config config getty ຫຼື uugetty ອື່ນ ສໍາລັບ port ທີ່ເຊື່ອມຕໍ່ກັບ terminal ຂອງທ່ານເຊັ່ນ: ( /etc/default/{uu}getty.ttyS N ຫຼື /etc/conf.uu}getty.ttyS N ) , ຍ້ອນວ່ານີ້ອາດຈະແຊກແຊງການແລ່ນ getty ຢູ່ປາຍຍອດ. ລົບໄຟລ໌ທີ່ຂັດແຍ້ງດັ່ງກ່າວຖ້າພວກເຂົາອອກຈາກ.

ແກ້ໄຂ / etc / inittab ໄຟລ໌ຂອງທ່ານເພື່ອດໍາເນີນການ getty ເທິງພອດອະນຸກົມ (ແທນທີ່ຈະໃຫ້ຂໍ້ມູນທີ່ຖືກຕ້ອງສໍາລັບສະພາບແວດລ້ອມຂອງທ່ານ - ປະຕູ, ຄວາມໄວແລະປະເພດຂອງສັນຍາລັກຕົ້ນສະບັບ):

S1: 23: respawn: / sbin / getty ttyS1 DT9600 vt100 ໃນ​ມັນ linux # init q

ໃນຈຸດນີ້, ທ່ານຄວນຈະເຫັນຄໍາແນະນໍາໃນການເຂົ້າສູ່ລະບົບຢູ່ປາຍສຸດຂອງທ່ານ. ທ່ານອາດຈະຕ້ອງຕີກັບຄືນເພື່ອໃຫ້ໄດ້ຮັບຄວາມສົນໃຈຂອງທ່າເຮືອ.

mgetty

"m" stands for modem. ໂຄງການນີ້ແມ່ນຕົ້ນຕໍສໍາລັບໂມເດັມແລະໃນລະຫວ່າງກາງປີ 2000 ມັນຈະຕ້ອງໃຊ້ recompiling ເພື່ອນໍາໃຊ້ມັນສໍາລັບ terminal terminals (ເວັ້ນເສຍແຕ່ວ່າທ່ານໃຊ້ການຄວບຄຸມການໄຫລຂອງຮາດແວ - ແລະມັນກໍ່ຕ້ອງມີສາຍໄຟທີ່ເຮັດດ້ວຍມື). ສໍາລັບເອກະສານສໍາລັບການເຊື່ອມຕໍ່ທີ່ເຊື່ອມຕໍ່ໂດຍກົງເບິ່ງພາກສ່ວນ "Direct" ຂອງຄູ່ມື: mgetty.texi.

ເບິ່ງເສັ້ນທາງສຸດທ້າຍຂອງ /etc/mgetty/mgetty.config ສໍາລັບຕົວຢ່າງຂອງການ configure ມັນສໍາລັບ terminal. ເວັ້ນເສຍແຕ່ວ່າທ່ານເວົ້າວ່າ "toggle-dtr no" ມັນຈະຄິດວ່າທ່ານມີ modem ແລະຫຼຸດລົງ (ລົບ) PIN DTR ຢູ່ໃນຄອມພິວເຕີ້ໃນຄວາມພະຍາຍາມທີ່ບໍ່ມີການຕັ້ງຄ່າ modem ທີ່ບໍ່ມີຢູ່. ໃນທາງກົງກັນຂ້າມກັບ gettys ອື່ນໆ, mgetty ຈະບໍ່ຕິດຕົວມັນໄປຫາບ່ອນຢູ່ປາຍຍອດຈົນກ່ວາຜູ້ໃດຜູ້ຫນຶ່ງຈະກົດປຸ່ມໃດຫນຶ່ງທີ່ຢູ່ໃນສະຖານີດັ່ງກ່າວເພື່ອທ່ານຈະເຫັນ? ສໍາລັບຢູ່ປາຍຍອດຫຼື ps ຈົນກ່ວານີ້ເກີດຂຶ້ນ. ບັນທຶກໃນ / var / log / mgetty / ອາດສະແດງຂໍ້ຄວາມເຕືອນຈໍານວນຫນ້ອຍທີ່ສາມາດນໍາໃຊ້ກັບໂມເດັມທີ່ທ່ານອາດຈະບໍ່ສົນໃຈ.

ນີ້ແມ່ນຕົວຢ່າງຂອງເສັ້ນງ່າຍໆທີ່ທ່ານໃສ່ໃນ / etc / inittab:

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