FreeBSD гарын авлага
Өмнөх | Бүлэг 26. Цуваа холбоонууд | Дараах

# 26.3. Терминалууд

Хувь нэмэр болгон оруулсан Шон Келли.

> Сануулга: FreeBSD 8.0-аас эхлээд цуваа портын төхөөрөмжийн цэгүүд `/dev/cuad`N``-с `/dev/cuau`N`` ба `/dev/ttyd`N``-с `/dev/ttyu`N`` болж өөрчлөгдсөн. FreeBSD 7.X хэрэглэгчид доорх баримтыг үзэхдээ эдгээрийг бодолцох хэрэгтэй.

Терминалууд нь таныг компьютерийнхаа консол дээр байхгүй үед эсвэл сүлжээнд холбогдоогүй байхад амархан, үнэ хямд аргаар FreeBSD систем уруу хандах боломжийг олгодог. Энэ хэсэг нь терминалуудыг FreeBSD-тэй хэрхэн ашиглах талаар тайлбарлана.

## 26.3.1. Терминалуудын хэрэглээ болон төрлүүд

Анхдагч UNIX® системүүдэд консол байгаагүй юм. Харин компьютерийн цуваа портуудад холбогдсон терминалуудаар хүмүүс нэвтрэн ороод програмууд ажиллуулдаг байсан байна. Энэ нь зөвхөн текст орчны ажил хийхийн тулд модем болон терминал програм хангамж ашиглан алсын системд залган орохтой бараг төстэй юм.

Одоогийн PC-үүд нь өндөр чанарын графикуудыг үзүүлж чадах консолуудтай боловч цуваа порт дээр нэвтрэх сесс үүсгэх чадвар өнөөгийн бараг бүх UNIX загварын үйлдлийн системд байдаг бөгөөд FreeBSD ч бас үүний нэгэн адил юм. Ашиглагдаагүй байгаа цуваа портод холбогдсон терминалыг ашиглан та нэвтрэн орж дурын текст програмыг консол эсвэл X цонхны систем дээр `xterm` цонхонд ажиллуулдаг байсан шигээр ажиллуулж болох юм.

Бизнесийн хэрэглэгчийн хувьд та FreeBSD системд олон терминалуудыг холбож тэдгээрийг өөрийн ажилтнуудынхаа ширээний компьютерууд дээр байрлуулж болох юм. Гэрийн хэрэглэгчийн хувьд хуучин IBM PC эсвэл Macintosh® зэрэг нөөц компьютер нь FreeBSD ажиллуулж байгаа илүү хүчтэй компьютерт холбогдсон терминал болж болох юм. Та ганц хэрэглэгчийн байсан компьютерийг хүчирхэг олон хэрэглэгчийн систем болгон хувиргаж болох юм.

FreeBSD-ийн хувьд гурван төрлийн терминал байдаг:

- Дүлий терминалууд

- Терминал маягаар ажиллаж байгаа PC-үүд

- X терминалууд

Дараах дэд хэсгүүд нь дээрх төрлүүдийг тайлбарлах болно.

### 26.3.1.1. Дүлий терминалууд

Дүлий терминалууд нь таныг компьютерууд уруу цуваа шугамуудаар холбогдохыг зөвшөөрөх тусгайлсан тоног төхөөрөмж юм. Тэдгээрийг “дүлий” гэдэг бөгөөд тэдгээр нь зөвхөн текст харуулах, илгээх, болон хүлээж авах хангалттай тооцооллын хүчин чадалтай учраас тэр юм. Та тэдгээр дээр ямар ч програм ажиллуулж чадахгүй. Текст засварлагчууд, эмхэтгэгчид, цахим захидал, тоглоомууд гэх зэргүүдийг ажиллуулах хүчин чадал бүхий таны компьютерт тэдгээрийг холбодог.

Digital Equipment Corporation-ий VT-100 болон Wyse-ийн WY-75 зэрэг олон үйлдвэрлэгчдийн хийсэн дүлий терминалуудын хэдэн зуун төрөл байдаг. Бараг бүх төрөл FreeBSD-тэй цуг ажиллана. Зарим нэг өндөр чанартай терминалууд график үзүүлж чаддаг боловч эдгээр дэвшилтэт боломжуудыг зөвхөн цөөн хэдэн програм хангамжийн багцууд ашиглаж чаддаг.

Ажилтнууд нь X цонхны системийн зэрэг график програмуудад хандах шаардлагагүй ажлын орчинд дүлий терминалууд нь түгээмэл байдаг.

### 26.3.1.2. Терминал маягаар ажиллаж байгаа PC-үүд

Хэрэв дүлий терминал нь текст харуулах, илгээж хүлээн авах чадвартай байдаг бол ямар ч нөөц персонал компьютер дүлий терминал болж чадна. Танд зөв кабель болон компьютер дээр ажиллах зарим нэг терминал эмуляц хийх програм хангамж хоёр л хэрэгтэй болох юм.

Ийм тохиргоо гэрт их нийтлэг байдаг. Жишээ нь хэрэв таны гэр бүлийн хүн FreeBSD системийн чинь консол дээр завгүй ажиллаж байвал та FreeBSD систем уруу терминал маягаар холбосон арай хүчин чадал багатай персонал компьютер дээрээс зарим нэг текст орчны ажил зэрэг хийж байж болох юм.

FreeBSD-ийн үндсэн системд цуваа холболтоор ажиллахад хэрэглэж болох хамгийн багаар бодоход хоёр хэрэгсэл байдаг: энэ нь cu(1) болон tip(1) юм.

FreeBSD ажиллаж байгаа клиент систем дээрээс өөр системийн цуваа холболт уруу холбогдохын тулд та дараах тушаалыг ашиглаж болно:

    # cu -l serial-port-device

Энд байгаа “serial-port-device” нь таны системийн цуваа портод зориулагдсан тусгай төхөөрөмжийн файлын нэр юм. Эдгээр төхөөрөмжийн файлууд нь `/dev/cuau`N`` гэж нэрлэгддэг.

Төхөөрөмжийн “N”-хэсэг нь цуваа портын дугаарыг илэрхийлнэ.

> Тэмдэглэл: FreeBSD дээр төхөөрөмжийн дугаарууд нь нэгээс биш тэгээс эхэлдэг (жишээ нь MS-DOS®-оос үүдэлтэй системүүд дээр байдаг шиг биш). Энэ нь юу гэсэн үг вэ гэхээр MS-DOS дээр тулгуурласан системүүдийн `COM1` гэж нэрлэдэг порт FreeBSD дээр ихэвчлэн `/dev/cuau0` гэгддэг.

> Тэмдэглэл: Зарим хүмүүс портын цуглуулгад байдаг өөр програмууд ашиглахыг илүүд үздэг. Портуудад cu(1) болон tip(1)-тэй төстэй ажилладаг `comms/minicom` зэрэг цөөнгүй хэдэн хэрэгслүүд байдаг.

### 26.3.1.3. X терминалууд

X терминалууд нь хамгийн төвөгтэй терминалуудын нэг юм. Цуваа порт уруу холбогдохын оронд тэдгээр нь ихэвчлэн Ethernet зэрэг сүлжээнд холбогддог. Зөвхөн текст орчны програмуудад зориулагдсан биш тэдгээр нь харин X програм үзүүлж чаддаг.

Энэ сэдвийг гүйцэд хамарч бүрэн бүтэн байлгах үүднээс бид X терминалуудыг танилцуулж байна. Гэхдээ энэ бүлэг X терминалуудыг суулгах, тохируулах болон тэдгээрийн хэрэглээг тайлбарлахгүй.

## 26.3.2. Тохиргоо

Энэ хэсэг нь терминал дээр нэвтрэх сесс идэвхжүүлэхийн тулд өөрийн FreeBSD систем дээр таныг юу тохируулах хэрэгтэйг тайлбарлах болно. Энэ нь цуваа порт дэмжихээр өөрийн цөмийг таныг аль хэдийн тохируулсан байгаа гэж үздэг. Цуваа порт уруу терминал холбогдсон бөгөөд таныг тэр терминал уруу холбогдсон байгаа гэж тооцдог.

`init` процесс нь бүх процессийн хяналт болон системийн эхлүүлэх үе дэх эхний тохиргоог хариуцдагийг Бүлэг 12-с санах хэрэгтэй. `init`-ийн хийдэг үйлдлүүдийн нэг нь `/etc/ttys` файлыг уншиж байгаа терминалууд дээр `getty` процессийг эхлүүлэх явдал юм. `getty` процесс нь нэвтрэх нэрийг уншиж `login` програмыг ажиллуулахыг хариуцдаг.

Тиймээс өөрийн FreeBSD системийн хувьд терминалуудыг тохируулахын тулд `root` хэрэглэгчээр дараах алхмуудыг гүйцэтгэх хэрэгтэй:

1. `/dev` сан дахь оруулгад зориулж `/etc/ttys` файлд хэрэв байхгүй бол цуваа портын мөрийг нэмнэ.

2. `/usr/libexec/getty` нь порт дээр ажиллахыг зааж `/etc/gettytab` файлаас тохирох `getty` төрлийг тохируулах хэрэгтэй.

3. Анхдагч терминалын төрлийг заана.

4. Портыг “on” болгоно.

5. Порт “secure” байх ёстой эсэхийг заана.

6. `init` тушаалаар `/etc/ttys` файлыг дахин уншуулна.

Нэмэлт алхам болгож хоёрдугаар алхам дээр та өөр `getty` төрлийг хэрэглээнд зориулан `/etc/gettytab`-д оруулан үүсгэж болох юм. Энэ бүлэг нь үүнийг хэрхэн хийхийг тайлбарлахгүй бөгөөд дэлгэрэнгүй мэдээллийг gettytab(5) болон getty(8) гарын авлагын хуудаснуудаас үзэхийг зөвлөж байна.

### 26.3.2.1. `/etc/ttys` уруу оруулгууд нэмэх нь

`/etc/ttys` файл нь нэвтрэлтүүдийг зөвшөөрөхийг хүссэн таны FreeBSD систем дээрх бүх портуудыг жагсаадаг. Жишээ нь эхний виртуал консол `ttyv0` нь энэ файлд өөрийн оруулгатай байна. Та энэ оруулгыг ашиглан консол дээр нэвтрэн орж чадна. Энэ файл нь бас бусад виртуал консолууд, цуваа портууд, болон псевдо tty-уудын оруулгуудыг бас агуулдаг. Хатуугаар холбогдсон терминалын хувьд цуваа портын `/dev` оруулгыг `/dev` хэсэггүйгээр (жишээ нь `/dev/ttyv0` нь `ttyv0` гэж жагсаагдах болно) жагсаадаг.

Анхдагч FreeBSD суулгац нь `/etc/ttys` файлыг эхний дөрвөн цуваа портын дэмжлэгтэйгээр агуулдаг: `ttyu0`-с `ttyu3` хооронд байна. Хэрэв та терминалыг эдгээр портуудын аль нэгэнд холбож байгаа бол өөр оруулга нэмэх шаардлагагүй юм.

Жишээ 26-1. `/etc/ttys` уруу терминалын оруулгууд нэмэх нь

Бид системд хоёр терминал холбохыг хүслээ гэж бодъё: Wyse-50 болон VT-100 терминалыг эмуляц хийх Procomm терминал програм хангамжийг ажиллуулж байгаа хуучин 286 IBM PC-г терминал маягаар ашиглая. Бид Wyse-ийг хоёр дахь цуваа порт уруу холбож 286-г зургаа дахь цуваа порт уруу холбоё (олон порттой цуваа картын порт). `/etc/ttys` файл дахь харгалзах оруулгууд нь иймэрхүү байна:

    ttyu1  "/usr/libexec/getty std.38400"  wy50  on  insecure
    ttyu5   "/usr/libexec/getty std.19200"  vt100  on  insecure

  Эхний талбар нь ихэвчлэн `/dev`-д байгаа терминалын тусгай файлын нэрийг заадаг.
  Хоёр дахь талбар нь энэ мөрийн хувьд ажиллах тушаал бөгөөд ихэвчлэн getty(8) байдаг. `getty` нь эхлүүлж шугамыг нээн хурдыг тохируулан хэрэглэгчийн нэрийг асууж login(1) програмыг ажиллуулдаг.

  `getty` програм нь нэг (нэмэлт) параметр `getty` төрлийг өөрийн тушаалын мөрөнд хүлээн авдаг. `getty` төрөл нь терминалын шугам дахь bps хурд болон parity зэрэг шинжүүдийг тохируулдаг. `getty` програм нь эдгээр шинжүүдийг `/etc/gettytab` файлаас уншдаг.

  `/etc/gettytab` файл нь хуучин болон шинэ терминалын шугамнуудад зориулсан олон мөрүүдийг агуулдаг. Бараг бүх тохиолдолд `std` текстээр эхэлсэн оруулгууд нь hardwired буюу хатуугаар холбогдсон терминалуудын хувьд ажилладаг. Эдгээр оруулгууд нь parity-г орхидог. 110-аас 115200 хүртэл bps хурд болгоны хувьд `std` оруулга байдаг. Мэдээж та өөрийнхөө оруулгыг энэ файлд нэмж болно. gettytab(5) гарын авлагын хуудас илүү дэлгэрэнгүй мэдээллийг өгөх болно.

  `getty` төрлийг `/etc/ttys` файлд тохируулахдаа терминал дахь холбооны тохируулгууд таарч байгаа эсэхийг шалгаарай.

  Бидний жишээн дээр Wyse-50 нь parity ашиглахгүй бөгөөд 38400 bps хурдаар холбогдоно. 286 PC нь parity ашиглахгүй бөгөөд 19200 bps хурдаар холбогдоно.

  Гурав дахь талбар нь тэр tty шугам уруу ихэвчлэн холбогдсон байдаг терминалын төрөл юм. Хэрэглэгч нь бараг л дурын терминалын төрөл эсвэл програм хангамжаар утасдан холбогдож болох учир dial-up портуудын хувьд `unknown` эсвэл `dialup` төрөл энэ талбарт ихэвчлэн ашиглагддаг. Хатуугаар холбогдсон терминалуудын хувьд терминалын төрөл өөрчлөгдөхгүй учраас та энэ талбарт termcap(5) мэдээллийн баазаас жинхэнэ терминалын төрлийг тавьж болно.

  Бидний жишээн дээр Wyse-50 нь жинхэнэ терминалын төрлийг ашиглах бол Procomm ажиллуулж байгаа 286 PC нь VT-100-г эмуляц хийхээр тохируулагдах болно.

  Дөрөв дэх талбар нь порт идэвхтэй байх ёстой эсэхийг заадаг. Энд `on` гэж тавихад `init` процесс хоёр дахь талбар дахь програм `getty`-г ажиллуулах болно. Хэрэв та энэ талбарт `off` гэж тавьбал `getty` үгүй болж порт дээр нэвтрэлт байхгүй болно.
  Сүүлийн талбар нь порт аюулгүй эсэхийг заахад хэрэглэгддэг. Портыг secure буюу аюулгүй болгох нь `root` бүртгэлийг (эсвэл хэрэглэгчийн ID 0 бүхий дурын бүртгэлийг) тэр портоос нэвтрэхийг зөвшөөрч хангалттай итгэнэ гэсэн үг юм. Insecure буюу аюулгүй биш портууд нь `root` нэвтрэлтүүдийг зөвшөөрдөггүй. Insecure буюу аюулгүй биш порт дээр хэрэглэгчид нь эрхгүй бүртгэлүүдээс нэвтрэн орж супер хэрэглэгчийн эрхүүдийг авахын тулд su(1) эсвэл өөр төстэй арга замыг ашиглах ёстой юм.

  Түгжээтэй хаалганы цаана байгаа терминалын хувьд ч гэсэн “insecure” тохируулгыг ашиглах нь хамгийн зөв зүйтэй юм. Хэрэв танд супер хэрэглэгчийн зөвшөөрлүүд хэрэгтэй бол нэвтрэн ороод `su` тушаалыг ашиглах нь их амархан байдаг.

### 26.3.2.2. `/etc/ttys`-г `init` тушаалаар дахин уншуулах

`/etc/ttys` файлд шаардлагатай өөрчлөлтүүдийг хийсний дараа `init` процесс уруу өөрийн тохиргооных нь файлыг дахин уншуулахын тулд SIGHUP (hangup) дохиог илгээх хэрэгтэй. Жишээ нь:

    # kill -HUP 1

> Тэмдэглэл: `init` нь үргэлж систем дээр ажиллаж байгаа эхний процесс байдаг учир энэ нь үргэлж PID 1-тэй байна.

Хэрэв бүгд зөв тохируулагдаж бүх кабелиуд нь байх ёстой газраа байж терминалууд нь ассан байгаа бол терминал бүр дээр `getty` процесс ажиллаж байх ёстой бөгөөд та энэ үед өөрийн терминалууд дээр нэвтрэлт хүлээх мөрүүдийг харах ёстой.

## 26.3.3. Өөрийн холболтод гарсан алдааг олж засварлах нь

Нягт нямбай анхаарал хандуулсан байлаа ч гэсэн терминалыг тохируулж байх явцад алдаа гарч буруутаж болох юм. Энд шинж тэмдгүүдийн жагсаалт болон зарим нэг санал болгосон засваруудыг үзүүлэв.

### 26.3.3.1. Нэвтрэлт хүлээх мөр гарч ирэхгүй байх

Терминал холбогдсон бөгөөд ассан байгаа эсэхийг шалгана. Энэ нь хэрэв терминал маягаар ажиллаж байгаа персонал компьютер бол зөв цуваа порт дээр терминал эмуляц хийх програм хангамж ажиллуулж байгаа эсэхийг шалгаарай.

Кабель терминал болон FreeBSD компьютерт сайн холбогдсон эсэхийг шалгах хэрэгтэй. Энэ нь зөв төрлийн кабель болохыг баталгаажуулж үзээрэй.

Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр тохирч байгаа эсэхийг шалгаарай. Хэрэв та видео дэлгэцийн терминалтай бол хар цагаан болон тод байдлын хяналтууд таарсан эсэхийг үзээрэй. Хэрэв энэ нь хэвлэх терминал бол цаас болон бэх сайн эсэхийг шалгаарай.

`getty` процесс ажиллаж терминалд үйлчилж байгаа эсэхийг үзнэ. Жишээ нь ажиллаж байгаа `getty` процессуудын жагсаалтыг `ps` тушаалаар авахын тулд доор дурдсаныг бичнэ:

    # ps -axww|grep getty

Та терминалын хувьд түүний оруулгыг харах ёстой. Жишээ нь дараах дэлгэц нь `getty` нь хоёр дахь цуваа порт `ttyu1` дээр ажиллаж `/etc/gettytab` файлд `std.38400` гэсэн оруулгыг ашиглаж байгааг харуулж байна:

    22189  d1  Is+    0:00.03 /usr/libexec/getty std.38400 ttyu1

Хэрэв ямар ч `getty` процесс ажиллахгүй байгаа бол `/etc/ttys` файлд та портыг идэвхжүүлсэн эсэхээ шалгаарай. Мөн `ttys` файлыг өөрчилснийхөө дараа `kill -HUP 1` тушаалыг ажиллуулахаа мартуузай.

Хэрэв `getty` процесс ажиллаж байгаа боловч терминал нь нэвтрэлт хүлээх мөрийг харуулахгүй байгаа, эсвэл энэ нь хүлээх мөрийг үзүүлж байгаа боловч танд бичихийг зөвшөөрөхгүй байгаа бол таны терминал эсвэл кабель тоног төхөөрөмжийн handshaking буюу харилцан зохицож холбогдох горимыг дэмжихгүй байна гэсэн үг юм. `/etc/ttys` файл дахь оруулгыг `std.38400`-с `3wire.38400` уруу болгож үзээрэй (`/etc/ttys` файлыг өөрчилснийхөө дараа `kill -HUP 1` тушаалыг ажиллуулахаа мартуузай). `3wire` оруулга нь `std`-тэй төстэй боловч тоног төхөөрөмжийн handshaking хийдэггүй. Магадгүй та хурдыг багасгаж эсвэл `3wire`-г ашиглаж байхдаа буфер дүүрэхээс сэргийлж програм хангамжийн урсгалын хяналтыг идэвхжүүлэх хэрэгтэй байж болох юм.

### 26.3.3.2. Нэвтрэлт хүлээх мөрийн оронд хог гарч ирвэл

Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр тохирч байгаа эсэхийг шалгана. Зөв `getty` төрлийг ашиглаж байгаа эсэхийг баталгаажуулж `getty` процессуудыг шалгах хэрэгтэй. Хэрэв үгүй бол `/etc/ttys`-г засварлаж `kill -HUP 1` тушаалыг ажиллуулна.

### 26.3.3.3. Тэмдэгтүүд хоёр удаа гарах; бичих үед нууц үг гарах

Терминалыг (эсвэл терминал эмуляц хийх програм хангамжийг) “half duplex” эсвэл “local echo” горимоос “full duplex” уруу шилжүүлнэ.

Өмнөх | Эхлэл | Дараах
Танилцуулга | Дээш | Dial-in буюу гаднаас залгах үйлчилгээ

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.