FreeBSD гарын авлага
Prev | Chapter 7 Мультимедиа | Next

# 7.6 Дүрс скан хийгчид

Бичсэн Марк Фонвил.

## 7.6.1 Танилцуулга

FreeBSD дээр дүрс скан хийгчдэд хандах боломжийг FreeBSD-ийн портын цуглуулгад байдаг SANE (Scanner Access Now Easy буюу Скан хийгчид хандах Хандалт Одоо Амархан гэгдэх) API олгодог. SANE нь FreeBSD-ийн зарим төхөөрөмжийн драйверууд ашиглан скан хийгчийн техник хангамжид ханддаг.

FreeBSD нь SCSI болон USB скан хийгчдийг дэмждэг. Ямар нэг тохиргоо хийхээсээ өмнө таны скан хийгч SANE-ээр дэмжигдсэн эсэхийг шалгаарай. SANE нь скан хийгчийн дэмжлэг болон түүний төлвийн тухай мэдээллээр таныг хангах дэмжигдсэн төхөөрөмжүүдийн жагсаалттай байдаг. uscanner(4) гарын авлагын хуудас нь дэмжигдсэн USB скан хийгчдийн жагсаалтыг бас агуулдаг.

## 7.6.2 Цөмийн тохиргоо

Дээр дурдсанаар SCSI болон USB интерфэйсүүд нь дэмжигдсэн байдаг. Таны скан хийгчийн интерфэйсээс болоод өөр өөр төхөөрөмжийн драйверууд шаардагддаг.

### 7.6.2.1 USB интерфэйс

`GENERIC` цөм нь анхдагчаар USB скан хийгчдийг дэмжихэд шаардлагатай төхөөрөмжийн драйверуудыг агуулдаг. Цөмийг өөрөө тохируулан ашиглах бол дараах мөрүүд өөрийн цөмийн тохиргооны файлд байгаа эсэхийг шалгах хэрэгтэй:

    device usb
    device uhci
    device ohci
    device uscanner

Таны эх хавтан дээрх USB бичил схемээс хамаарч танд зөвхөн `device uhci` юм уу эсвэл `device ohci` мөрийн аль нэг хэрэгтэй болно. Гэхдээ хоёуланг нь цөмийн тохиргоондоо байлгах нь аюулгүй юм.

Хэрэв та өөрийн цөмийг дахин бүтээхийг хүсэхгүй байгаа бөгөөд таны цөм чинь `GENERIC` байгаа бол kldload(8) тушаал ашиглан uscanner(4) төхөөрөмжийн драйверийг шууд дуудаж болно:

    # kldload uscanner

Энэ модулийг систем эхлэх болгонд дуудахын тулд дараах мөрийг `/boot/loader.conf` файлд нэмнэ:

    uscanner_load="YES"

Зөв цөмөөр дахин ачаалсны дараа юм уу эсвэл шаардлагатай модулийг дуудсаны дараа өөрийн USB скан хийгчийг залгана. Таны скан хийгчийг таньж байгааг үзүүлэх мөр системийн мэдэгдлийн буферт (dmesg(8)) гарч ирэх ёстой:

    uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2

Энэ нь бидний скан хийгч `/dev/uscanner0` төхөөрөмжийн цэгийг ашиглаж байгааг харуулж байна.

### 7.6.2.2 SCSI интерфэйс

Хэрэв таны скан хийгч SCSI интерфэйстэй ирсэн бол ямар SCSI хянагч хавтанг ашиглахаа мэдэх нь чухал юм. Ашиглагдах SCSI бичил схемээс хамаараад та өөрийн цөмийн тохиргооны файлаа тааруулах хэрэгтэй болно. `GENERIC` цөм нь хамгийн түгээмэл SCSI хянагчуудыг дэмждэг. `NOTES` файлыг уншиж өөрийн цөмийн тохиргооны файлд зөв мөрийг нэмсэн эсэхээ шалгаарай. SCSI хувиргагч драйвераас гадна та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдтэй байх хэрэгтэй:

    device scbus
    device pass

Таны цөм зөв эмхэтгэгдэж суулгагдсаны дараа ачаалах үед та системийн мэдэгдлийн буферт төхөөрөмжийг харж чадаж байх ёстой:

    pass2 at aic0 bus 0 target 2 lun 0
    pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
    pass2: 3.300MB/s transfers

Таны скан хийгч системийг ачаалах үед асаагүй байсан ч гэсэн гараар camcontrol(8) тушаалын тусламжтай SCSI шугамын хайлтыг хийж илрүүлэх боломжтой байдаг:

    # camcontrol rescan all
    Re-scan of bus 0 was successful
    Re-scan of bus 1 was successful
    Re-scan of bus 2 was successful
    Re-scan of bus 3 was successful

Дараа нь скан хийгч SCSI төхөөрөмжүүдийн жагсаалтад гарч ирэх болно:

    # camcontrol devlist
    <IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
    <IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
    <AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
    <PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

SCSI төхөөрөмжүүдийн тухай дэлгэрэнгүй мэдээлэл scsi(4) болон camcontrol(8) гарын авлагын хуудаснуудад байдаг.

## 7.6.3 SANE тохиргоо

SANE систем нь хоёр хэсэгт хуваагддаг: эдгээр нь арын хэсэг (`graphics/sane-backends`) болон урд хэсэг (`graphics/sane-frontends`) юм. Арын хэсэг нь скан хийгчид өөрт нь хандах хандалтыг олгодог. SANE-ий дэмжигдсэн төхөөрөмжүүдийн жагсаалт таны дүрс скан хийгчийг ямар арын хэсэг дэмжихийг заадаг. Та өөрийн төхөөрөмжийг ашиглаж чаддаг байхын тулд өөрийн скан хийгчийн хувьд зөв арын хэсгийг тодорхойлох нь зайлшгүй шаардлагатай юм. Урд хэсэг нь график хайлт хийх интерфэйсийн боломжийг олгодог (xscanimage).

Эхний алхам нь `graphics/sane-backends` порт юм уу эсвэл багцыг суулгах явдал юм. Дараа нь `sane-find-scanner` тушаал ашиглан SANE системээр скан хийгчийн илрүүлэлтийг шалгана:

    # sane-find-scanner -q
    found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

Гаралт нь скан хийгчийн интерфэйсийн төрөл болон системд скан хийгчийг залгахад хэрэглэгдсэн төхөөрөмжийн цэгийг үзүүлэх болно. Үйлдвэрлэгч болон бүтээгдэхүүний загвар гарч ирэхгүй байж болох бөгөөд энэ нь тийм чухал биш юм.

> Note: Зарим USB скан хийгчид нь танаас firmware дуудаж ачаалахыг шаарддаг бөгөөд энэ нь арын хэсгийн гарын авлагын хуудсанд тайлбарлагдсан байгаа. Та sane-find-scanner(1) болон sane(7) гарын авлагын хуудаснуудыг бас унших хэрэгтэй юм.

Одоо бид скан хийгчийг скан хийх урд хэсгээр танигдах эсэхийг нь шалгах хэрэгтэй. Анхдагчаар SANE арын хэсгүүд нь scanimage(1) гэгддэг тушаалын мөрийн хэрэгсэлтэй ирдэг. Энэ тушаал нь танд төхөөрөмжүүдийг жагсааж тушаалын мөрөөс дүрс эзэмшилтийг хийхийг зөвшөөрдөг. `-L` тохируулга нь скан хийгчийн төхөөрөмжүүдийг жагсаахад хэрэглэгддэг:

    # scanimage -L
    device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner

Гаралт байхгүй юм уу эсвэл скан хийгч танигдсангүй гэсэн мэдэгдэл нь scanimage(1) нь скан хийгчийг таньж чадаагүйг харуулна. Хэрэв ингэсэн бол та арын хэсгийн тохиргооны файлыг засварлаж ашиглагдах скан хийгч төхөөрөмжийг тодорхойлох хэрэгтэй. `/usr/local/etc/sane.d/` сан бүх арын хэсгийн тохиргооны файлуудыг агуулдаг. Энэ танилтын асуудал зарим нэг USB скан хийгчдийн хувьд тохиолддог.

Жишээ нь Section 7.6.2.1-д хэрэглэгдсэн USB скан хийгчтэй байхад `sane-find-scanner` тушаалыг ажиллуулахад дараах мэдээллийг бидэнд өгөх болно:

    # sane-find-scanner -q
    found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0

Скан хийгч нь зөв олдсон бөгөөд USB интерфэйсийг ашиглан `/dev/uscanner0` төхөөрөмжийн цэгт залгагдсан байна. Одоо бид скан хийгч зөв танигдсан эсэхийг шалгаж болно:

    # scanimage -L

    No scanners were identified. If you were expecting something different,
    check that the scanner is plugged in, turned on and detected by the
    sane-find-scanner tool (if appropriate). Please read the documentation
    which came with this software (README, FAQ, manpages).

Скан хийгч нь танигдаагүй болохоор бид `/usr/local/etc/sane.d/epson.conf` файлыг засварлах хэрэгтэй болно. Ашиглагдсан скан хийгчийн загвар нь EPSON Perfection® 1650 байсан, тэгэхээр бид `epson` арын хэсгийг скан хийгчийг ашиглахыг мэдлээ. Арын хэсгүүдийн тохиргооны файлууд дахь туслах тайлбаруудыг уншихаа мартуузай. Мөрийн өөрчлөлтүүд нь их энгийн: таны скан хийгчийн хувьд буруу интерфэйстэй бүх мөрүүдийг тайлбар болгоно (бидний хувьд, бидний скан хийгч USB интерфэйсийг ашигладаг болохоор `scsi` гэсэн үгээс эхэлсэн бүх мөрүүдийг тайлбар болгоно), дараа нь файлын төгсгөлд ашиглагдах интерфэйс болон төхөөрөмжийн цэгийг заасан мөрийг нэмнэ. Энэ тохиолдолд бид дараах мөрийг нэмнэ:

    usb /dev/uscanner0

Илүү дэлгэрэнгүй мэдээлэл болон хэрэглээний зөв синтаксын талаар арын хэсгийн тохиргооны файлд байгаа тайлбарууд болон арын хэсгийн гарын авлагын хуудаснаас уншихаа мартуузай. Бид одоо скан хийгч танигдсан эсэхийг шалгаж болно:

    # scanimage -L
    device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner

Бидний USB скан хийгч танигдлаа. Үйлдвэрлэгч болон загвар нь скан хийгчийнхтэй таарахгүй байвал энэ нь тийм чухал биш юм. Бодолцож үзэх гол түлхүүр зүйл нь бидэнд зөв арын хэсгийн нэр болон зөв төхөөрөмжийн цэгийг өгдөг ``epson:/dev/uscanner0'` талбар юм.

`scanimage -L` тушаал скан хийгчийг харж чаддаг болсны дараа тохиргоо дуусна. Төхөөрөмж нь одоо скан хийхэд бэлэн болсон байна.

scanimage(1) нь дүрс эзэмшилтийг тушаалын мөрөөс хийхийг бидэнд зөвшөөрдөг боловч дүрс скан хийхдээ график хэрэглэгчийн интерфэйс ашиглахыг эрхэмлэх нь зүйтэй юм. SANE нь хялбар боловч үр ашигтай график интерфэйсийг санал болгодог: энэ нь xscanimage (`graphics/sane-frontends`) юм.

Xsane (`graphics/xsane`) нь өөр нэг алдартай график скан хийгч урд хэсэг юм. Энэ урд хэсэг нь төрөл бүрийн скан хийгч горим (фото хуулбар хийх, факс, гэх мэт), өнгөний засвар, бөөнөөр скан хийх гэх мэт дэвшилтэт боломжуудыг санал болгодог. Эдгээр програмууд нь GIMP залгаас болж ашиглагдах боломжтой байдаг.

## 7.6.4 Бусад хэрэглэгчдэд скан хийгчид хандах боломжийг өгөх

Өмнөх бүх үйлдлүүдийг `root` зөвшөөрлүүдээр хийсэн билээ. Гэхдээ өөр хэрэглэгчдэд скан хийгчид хандах боломжийг өгөх хэрэг танд байж болох юм. Скан хийгчийн ашигладаг төхөөрөмжийн цэгт хандахад унших болон бичих зөвшөөрлүүд хэрэглэгчид хэрэгтэй болно. Жишээ нь бидний USB скан хийгч `operator` бүлгийн эзэмшдэг `/dev/uscanner0` төхөөрөмжийн цэгийг ашиглаж байна. Хэрэглэгч ``joe``-г `operator` бүлэгт нэмэх нь скан хийгчийг ашиглахыг түүнд зөвшөөрөх болно:

    # pw groupmod operator -m joe

Илүү дэлгэрэнгүйг pw(8) гарын авлагын хуудаснаас уншина уу. Та `/dev/uscanner0` төхөөрөмжийн цэгт бичих зөвшөөрлүүдийг (0660 эсвэл 0664) бас тохируулах хэрэгтэй. Анхдагчаар зөвхөн `operator` бүлэг нь төхөөрөмжийн цэгийг уншиж чаддаг. `/etc/devfs.rules` файлд дараах мөрүүдийг нэмж үүнийг хийж болно:

    [system=5]
    add path uscanner0 mode 660

Дараа нь дараах мөрийг `/etc/rc.conf` файлд нэмж машиныг дахин ачаална:

    devfs_system_ruleset="system"

Эдгээр мөрнүүдийн тухай дэлгэрэнгүй мэдээллийг devfs(8) гарын авлагын хуудаснаас олж болно.

> Note: Мэдээж аюулгүй байдлын шалтгаануудаас болоод та хэрэглэгчийг ямар нэгэн бүлэг уруу ялангуяа `operator` бүлэг уруу нэмэхээсээ өмнө дахин бодох хэрэгтэй.

Prev | Home | Next
ТВ картуудыг тохируулах | Up | FreeBSD цөмийг тохируулах нь

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

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