Энэ хэсэгт онцгой загварчлагдсан файлыг шүүгчид, хуудасны толгой хэсэг, сүлжээгээр хэвлэх мөн хэвлэгчийг хэрэглэх эрх болон хязгаарлалт гэсэн зүйлүүдийн тухай зааварлах болно.
Хэдийгээр LPD нь сүлжээний протокол, дараалал, хандалтын хяналт гэх мэтчилэн хэвлэлтийн асуудлуудыг хариуцдаг ч жинхэнэ ажлыг нь шүүлтүүрүүд хийдэг. Шүүлтүүрүүд нь тусгай програмууд бөгөөд хэвлэгчийн төхөөрөмжүүд болон онцгой шаардлагуудыг нь хариуцаж байдаг. Бид хамгийн энгийн суулгац хийх үед их амархан бөгөөд бараг бүх хэвлэгчид тохирдог текст шүүлтүүр суулгасан билээ. (Текст шүүлтүүр суулгах нь хэсэгт).
Хэвлэх төрлийн хувиргалт, хэвлэгчийн онцгой шинж чанар зэрэг давуу чанаруудыг нь хэрэглэхийн тулд танд шүүлтүүрийг зөв ойлгох шаардлага гарна. Ийм ажлуудыг зөвхөн шүүлтүүр хийдэг. Тэгээд муу мэдээ нь юу вэ гэхээр тэдгээр бүгдийг та тодорхойлж өгөх ёстой. Сайн мэдээ нь юу вэ гэхээр тэдгээрийн ихэнх нь боломжтой бэлэн байдаг бөгөөд хэрэв бичихээр бол тун амархан бичигддэг юм.
Мөн түүнчлэн FreeBSD
/usr/libexec/lpr/lpf
гэдэг нэртэй, бараг бүх хэвлэгчид
ердийн текст хэвлэж чаддаг шүүлтүүртэй ирдэг. (энэ нь файл дотор байгаа
зай болон том зай авалтуудыг таньдаг бөгөөд мөн эрх үүсгэх гээд түүний
чаддаг бүх зүйл нь үүгээр дуусдаг)
FreeBSD-н портын цуглуулга дотор хэд хэдэн шүүлтүүр болон шүүлтүүрийн
бүрдэл хэсгүүд байдаг.
Энэ хэсэгт танд танилцуулах зүйлсүүдийг харуулъя:
Шүүлтүүр хэрхэн ажилладаг вэ хэсэгт хэвлэх явцад шүүлтүүр ямар үүрэг гүйцэтгэдэг талаар тайлбарлахыг оролдох болно. LPD хэвлэх үедээ шүүлтүүрийг «хөшигний цаана» хэрхэн ашигладаг талаар та энд ойлгох болно. Үүнийг мэдсэнээр хэрэв өөр үед та олон шүүлтүүр суулгах үед хүндрэл гарвал даван туулахад тань хэрэг болно.
LPD нь хэвлэгч бүрийг анхны тохируулгаараа ердийн текстийг хэвлэж чадна гэж авч үздэг. Энэ нь ердийн текстийг шууд хэвлэж чаддаггүй PostScript® хэвлэгчид (эсвэл бусад програмын хэл дээр үндэслэсэн хэвлэгчид ) дээр хүндрэл гаргадаг. PostScript® хэвлэгчид дээр ердийн текст хэвлэдэг болох хэсэгт иймэрхүү хүндрэлийг даван туулах талаар хэлэх болно. Хэрэв танд PostScript® хэвлэгч байдаг бол энэ хэсгийг уншаарай.
PostScript® нь маш олон програмын гаралт болж байдаг. Тэр бүү хэл зарим хүмүүс шууд PostScript® бичиж чаддаг. Харамсалтай нь PostScript® хэвлэгч нар үнэтэй. PostScript® биш төрлийн хэвлэгчийг PostScript® мэт хэрэглэх хэсэгт танд PostScript® өгөгдлийг PostScript® биш төрлийн хэвлэгч дээр хэвлэж болдог талаар зааварлах болно. Хэрэв танд PostScript® хэвлэгч байхгүй бол энэ хэсгийг та уншаарай.
Хувиргагч шүүлтүүрүүд
хэсэг танд онцгой төрлийн файлууд болох график эсвэл
өөр төрлийн бичиглэлтэй файлуудыг хэрхэн таны хэвлэгчийн ойлгодог
төрөл рүү хувиргаж хэвлэх талаар өгүүлэх болно.
Энэ хэсгийг уншсаны дараа, та жишээ нь хэрэглэгчид
lpr
тушаал өгөн troff өгөгдөл хэвлэх
эсвэл -t
lpr
тушаал өгөн TeX DVI өгөгдөл
хэвлэх эсвэл -d
lpr
тушаал өгөн зураг төрлийн файл хэвлэх зэрэг
зүйлүүдийг мэдэх болно. Энэ хэсгийг заавал унших хэрэгтэй гэж танд
зөвлөж байна. -v
Гаралтын шүүлтүүр хэсэг нь LPD-н нэг их хэрэглэгддэг шинж чанарууд болох гаралтын шүүлтүүрүүдийн тухай өгүүлэх болно: Та хуудасны толгой хэсгийг хэвлэж болж л байвал (Хуудасны толгой хэсэг хэсэгт харна уу) энэ хэсгийг та алгасаж болно.
lpf: текст шүүлтүүр
хэсэгт FreeBSD-тэй хамт нэлээн төгс ажиллагаатай
мөрөөр нь хэвлэдэг (лазер хэвлэгч нар мөр мөрөөр нь хэвлэдэг
туузан хэвлэгч шиг ажилладаг) lpf
текст шүүлтүүрийн
тухай өгүүлэх болно. Хэрэв та хэвлэгчийнхээ эрхийг түргэн бэлэн
болгох эсвэл таны хэвлэгч хоосон зайг утаа байна гэж хүлээж
аваад байвал та яах аргагүй lpf
-тэй
ажиллах хэрэг гарна.
Доорх хэсэгт харуулах янз бүрийн скриптийн хуулбарыг /usr/share/examples/printing
сангаас
олж болно.
Өмнө дурдсанаар шүүлтүүр нь хэвлэгчтэй холбогдох төхөөрөмжөөс чөлөөтэй хэсгийг зохицуулах LPD-ээр эхлүүлэгдэн ажилладаг програм юм.
Ажил дахь файлыг LPD хэвлэхийг
хүсэхдээ шүүлтүүр програмыг эхлүүлдэг. Энэ нь шүүлтүүрийн стандарт оролтыг
хэвлэх файл уруу, өөрийн стандарт гаралтыг хэвлэгч уруу, өөрийн стандарт алдааг
алдаа бүртгэх файл (/etc/printcap
файл
дахь lf
боломжид эсвэл анхдагчаар
/dev/console
) уруу тохируулдаг.
LPD аль шүүлтүүрийг эхлүүлэх болон
/etc/printcap
файлд юу байгаа болон
lpr(1) тушаалын мөр дэх ажилд зориулж хэрэглэгч ямар нэмэлт өгөгдлүүд
зааснаас шүүлтүүрийн нэмэлт өгөгдлүүд хамаардаг. Жишээ нь хэрэв хэрэглэгч
lpr
тушаал бичсэн бол
LPD нь хүрэх хэвлэгчийн -t
tf
боломжид жагсаагдсан troff шүүлтүүрийг эхлүүлэх болно. Хэрэв хэрэглэгч
цэвэр текстийг хэвлэхийг хүссэн бол энэ нь if
шүүлтүүрийг эхлүүлэх байсан (энэ нь бараг л үнэн юм: дэлгэрэнгүйг Гаралтын шүүлтүүрүүд хэсгээс
үзнэ үү).
/etc/printcap
файлд зааж өгч болох гурван
төрлийн шүүлтүүр байдаг:
текст шүүлтүүр буюу оролтын шүүлтүүр гэж LPD баримтад толгой эргүүлмээр нэрлэгдсэн шүүлтүүр нь ердийн текст хэвлэлтийг зохицуулдаг. Үүнийг анхдагч шүүлтүүр гэж бодох хэрэгтэй. LPD нь хэвлэгч бүрийг цэвэр текстийг анхдагчаар хэвлэж чаддаг гэж тооцдог бөгөөд устгах тэмдэгтүүд, tab-ууд эсвэл бусад тусгай тэмдэгтүүд хэвлэгчийг будлиулахгүй байлгахад санаа тавих нь текст шүүлтүүрийн ажил юм. Хэрэв та хэвлэгчийн хэрэглээний хувьд бүртгэлтэй тийм орчинд байгаа бол текст шүүлтүүр нь хэвлэгдсэн мөрүүдийн тоог тоолж тэр тоогоо хэвлэгчийн дэмждэг нэг хуудсан дахь мөрийн тоотой жишиж хэвлэсэн хуудаснуудыг бас бүртгэх ёстой. Текст шүүлтүүрийг дараах нэмэлт өгөгдлийн жагсаалттай эхлүүлдэг:
filter-name
[-c] -w width
-l length
-i indent
-n login
-h host
acct-file
энд байгаа
-c
нь ажил lpr
тушаалаар илгээгдсэн бол гарч ирнэ-l
width
нь /etc/printcap
файлд
заагдсан pw
(хуудасны өргөн) боломжийн
утга юм. Анхдагчаар 132 байна
length
нь pl
(хуудасны урт)
боломжийн утга бөгөөд анхдагчаар 66 байна
indent
нь lpr
тушаалаас өгөгдөх догол мөрний хэмжээ юм.
Анхдагчаар 0 байна-i
login
нь файлыг хэвлэж байгаа хэрэглэгчийн бүртгэл юм
host
нь ажлыг илгээсэн хостын нэр юм
acct-file
нь af
боломжийн
бүртгэлийн файлын нэр юм.
Хувиргах шүүлтүүр нь тусгай файлын хэлбэршилтийг хэвлэгчийн цаасан дээр амилуулж чадах хэлбэршилт уруу хувиргадаг. Жишээ нь ditroff маяг хийгдсэн өгөгдлийг шууд хэвлэж болдоггүй боловч ditroff өгөгдлийг хэвлэгчийн ойлгож хэвлэх хэлбэр уруу хувиргах ditroff файлуудад зориулсан хувиргах шүүлтүүрийг та суулгаж болох юм. Тэдгээрийн талаар бүгдийг Хувиргах шүүлтүүрүүд хэсэг хэлж өгдөг. Хэрэв танд хэвлэгчийн бүртгэл хийлт хэрэгтэй бол хувиргах шүүлтүүрүүд бас бүртгэл хийх хэрэгтэй болно. Хувиргах шүүлтүүрүүдийг дараах нэмэлт өгөгдлүүдтэй эхлүүлдэг:
filter-name
-x pixel-width
-y pixel-height
-n login
-h host
acct-file
энд байгаа pixel-width
нь
px
боломжийн утга (анхдагчаар 0) бөгөөд
pixel-height
нь py
боломжийн утга юм (анхдагчаар 0).
Гаралтын шүүлтүүр нь шүүх текст байхгүй байх юм уу эсвэл толгой хуудаснууд идэвхтэй байх тохиолдолд зөвхөн ашиглагддаг. Бидний туршлага дээрээс харахад гаралтын шүүлтүүрүүд ховор ашиглагддаг. Гаралтын шүүлтүүрүүд хэсэг тэдгээрийг тайлбарладаг. Гаралтын шүүлтүүрт зөвхөн хоёр нэмэлт өгөгдөл байдаг:
filter-name
-w width
-l length
эдгээр нь текст шүүлтүүрийн -w
болон
-l
нэмэлт өгөгдлүүдтэй адил юм.
Шүүлтүүрүүд нь бас дараах гарах төлөвтэйгөөр гарах ёстой:
Шүүлтүүр файлыг амжилттай хэвлэсэн тохиолдолд.
Шүүлтүүр файлыг хэвлэж чадаагүй боловч LPD-гээр файлыг дахин хэвлүүлэхээр оролдохыг хүссэн. LPD нь шүүлтүүр энэ төлөвтэй гарсан бол түүнийг дахин эхлүүлэх болно.
Шүүлтүүр файлыг хэвлэж чадаагүй бөгөөд LPD-гээр файлыг дахин хэвлүүлэхийг хүсээгүй. LPD-нь файлыг гаргаж хаях болно.
FreeBSD хувилбартай цуг ирдэг текст шүүлтүүр /usr/libexec/lpr/lpf
нь
хуудасны өргөн болон уртын нэмэлт өгөгдлүүдийг ашиглан хэзээ form feed илгээх
болон хэвлэгчийн хэрэглээг хэрхэн бүртгэхийг тодорхойлдог. Энэ нь бүртгэлийн оруулгуудыг
бичихийн тулд нэвтрэлт, хост болон файлын нэмэлт өгөгдлүүдийн бүртгэл хийлтийг
ашигладаг.
Хэрэв та шүүлтүүр худалдаж авахыг хүсэж байгаа бол тэдгээр нь LPD-тэй нийцтэй эсэхийг нь үзээрэй. Хэрэв тийм бол тэдгээр нь дээр тайлбарласан нэмэлт өгөгдлийн жагсаалтуудыг дэмжих ёстой. Та ердийн хэрэглээнд зориулж шүүлтүүрүүд бичих төлөвлөгөөтэй байгаа бол дээрх нэмэлт өгөгдлийн жагсаалт болон гарах кодуудыг дэмждэгээр тэдгээрийг хийгээрэй.
Та өөрийн компьютер болон PostScript® (эсвэл бусад хэлэн дээр суурилсан) хэвлэгчийнхээ зөвхөн цорын ганц хэрэглэгч бөгөөд өөрийн хэвлэгч уруугаа цэвэр текстийг хэзээ ч илгээхгүй, таны хэвлэгч уруу цэвэр текстийг илгээхийг хүсдэг төрөл бүрийн програмуудын боломжуудыг хэзээ ч ашиглахгүй гэж амлах юм бол та энэ хэсгийн талаар санаа ерөөсөө зовох хэрэггүй юм.
Гэхдээ та PostScript® болон цэвэр текст ажлуудыг хэвлэгч уруу илгээхийг
хүсэж байгаа бол өөрийн хэвлэгчийн тохиргоог нэн даруй нэмэх хэрэгтэй юм. Ингэхийн
тулд ирж байгаа ажил цэвэр текст үү эсвэл PostScript® үү гэдгийг илрүүлэх
текст шүүлтүүртэй байна. Бүх PostScript® ажлууд %!
-аар
(бусад хэвлэгчийн хэлнүүдийн хувьд өөрийн хэвлэгчийн баримтыг үзнэ үү) эхлэх ёстой.
Хэрэв тэдгээр нь ажил дахь эхний хоёр тэмдэгт байгаа бол бид PostScript®-ийг
ашиглаж ажлын үлдсэн хэсгийг шууд дамжуулж болно. Хэрэв тэдгээр нь файл дахь
эхний хоёр тэмдэгт биш бол шүүлтүүр текстийг PostScript® уруу хувиргаж
үр дүнг хэвлэх болно.
Үүнийг бид хэрхэн хийх вэ?
Хэрэв танд цуваа хэвлэгч байгаа бол үүнийг хийх агуу арга нь
lprps
-г суулгах явдал юм. lprps
нь хэвлэгчтэй хоёр талын холбоог хийдэг PostScript® хэвлэгчийн шүүлтүүр юм.
Энэ нь хэвлэгчийн төлвийн файлыг хэвлэгчийн дэлгэрэнгүй мэдээллээр шинэчилдэг.
Ингэснээр хэрэглэгчид болон администраторууд хэвлэгчийн төлөвийг яг ямар байгааг
(toner low эсвэл paper jam
гэх зэрэг) харах боломжтой болох юм. Гэхдээ илүү чухал зүйл бол энэ нь
ирж байгаа ажлыг цэвэр текст эсэхийг илрүүлж PostScript® уруу хөрвүүлэх
textps
(lprps
-тэй цуг ирдэг
өөр програм) тушаалыг дууддаг psif
гэгддэг програмыг агуулдаг явдал юм. Дараа нь хэвлэгч уруу ажлыг илгээхийн тулд
lprps
тушаалыг энэ нь ашигладаг.
lprps
нь FreeBSD-ийн портын цуглуулгад
байдаг (Портын цуглуулга бүлгийг үзнэ үү).
Ашиглах цаасны хэмжээний дагуу print/lprps-a4
болон print/lprps-letter
портын аль нэгийг
суулгаж та болно. lprps
-г суулгасны дараа
lprps
-ийн хэсэг болох psif
програмд замыг зааж өгөх хэрэгтэй. Хэрэв та lprps
-г
портын цуглуулгаас суулгасан бол доор дурдсаныг /etc/printcap
файл дахь цуваа PostScript® хэвлэгчийн оруулгад ашиглах хэрэгтэй:
/usr/local/libexec/psif
:LPD-д хэвлэгчийг унших-бичих горимоор
онгойлгох боломж олгохын тулд rw
боломж нь бас
орсон байх шаардлагатай.
Хэрэв танд зэрэгцээ PostScript® хэвлэгч байгаа (бөгөөд
тиймээс lprps
-д хэрэгтэй хоёр талын холбоог хэвлэгчтэй
цуг ашиглаж чадахгүй байгаа) бол та дараах бүрхүүлийн
скриптийг текст шүүлтүүр маягаар ашиглаж болно:
Дээрх скрипт дээр байгаа textps
нь цэвэр текстийг
PostScript® уруу хувиргахаар бидний тусдаа суулгасан програм юм.
Та дурын текстээс-PostScript® уруу хувиргадаг хүссэн програмаа ашиглаж болно.
FreeBSD-ийн портын цуглуулга (Портын цуглуулга
бүлгийг үзнэ үү) нь өргөн боломжтой текстээс-PostScript® уруу хувиргадаг
a2ps
гэгддэг програмыг агуулдаг бөгөөд та магадгүй үүнийг
судлахыг хүсэж болох юм.
PostScript® нь өндөр чанарын маяг тохируулалт болон хэвлэлтэд зориулагдсан албан ёсны стандарт юм. PostScript® нь гэхдээ үнэтэй стандарт юм. Aladdin Enterprises-ийн ачаар харин чөлөөтэй PostScript®-тэй төстэй, FreeBSD дээр ажилладаг Ghostscript гэгддэг програм байдаг. Ghostscript нь ихэнх PostScript® файлуудыг уншиж чаддаг бөгөөд тэдгээрийн хуудаснуудыг PostScript® биш хэвлэгчдийн олон загваруудыг оролцуулаад төрөл бүрийн төхөөрөмжүүд рүү амилуулж чаддаг. Ghostscript-г суулгаж өөрийн хэвлэгчийн хувьд тусгай текстийн шүүлтүүрийг ашиглан та өөрийн PostScript® биш хэвлэгчийг жинхэнэ PostScript® хэвлэгч шигээр ажиллуулах боломжтой байдаг.
Ghostscript нь FreeBSD-ийн портын цуглуулгад байдаг.
Олон хувилбар байдаг бөгөөд хамгийн ихээр ашиглагддаг хувилбар нь
print/ghostscript-gpl
юм.
PostScript® шиг дүр үзүүлэхийн тулд PostScript® файл хэвлэж байна уу гэдгийг илрүүлэх текст шүүлтүүр бидэнд байна. Хэрэв энэ нь тийм биш бол шүүлтүүр нь файлыг хэвлэгч уруу шууд дамжуулна; үгүй бол энэ нь файлыг хэвлэгчийн ойлгодог хэлбэр уруу эхлээд хувиргах Ghostscript-г ашиглах болно.
Энд жишээ байна: дараах скрипт нь Hewlett Packard DeskJet 500
хэвлэгчдэд зориулсан текст шүүлтүүр юм. Бусад хэвлэгчдийн хувьд
-sDEVICE
нэмэлт өгөгдлийг сольж gs
(Ghostscript)
тушаал уруу өгөх хэрэгтэй. (Ghostscript-ийн тухайн үеийн суулгацын дэмждэг төхөөрөмжүүдийн
жагсаалтыг авахын тулд gs
гэж бичих хэрэгтэй.)-h
Төгсгөлд нь та шүүлтүүрийн LPD-д
if
боломжийн тусламжтай мэдэгдэх хэрэгтэй:
/usr/local/libexec/ifhp
:Ингээд л боллоо. Та lpr
болон
plain.text
lpr
гэж бичиж болох бөгөөд
хоюулаа амжилттайгаар хэвлэгдэх болно.whatever.ps
Хэвлэгчийн энгийн тохиргоо хэсэгт тайлбарласан энгийн тохиргоог дуусгасны дараа магадгүй таны хамгийн эхэнд хийхийг хүссэн зүйл чинь өөрийн дуртай файлын хэлбэршилтүүдэд (цэвэр ASCII текстээс гадна) зориулж хувиргах шүүлтүүрүүдийг суулгах явдал байж болох юм.
Хувиргах шүүлтүүрүүд нь төрөл бүрийн файлуудыг хэвлэхэд амар болгодог. Жишээ нь бид TeX хэв маяг тохируулах системтэй их ажилладаг бөгөөд бидэнд PostScript® хэвлэгч байна гэж бодъё. TeX-ээс DVI файлыг үүсгэх болгонд бид DVI файлыг PostScript® уруу хувиргалгүйгээр шууд хэвлэж чадахгүй. Тушаалын дараалал иймэрхүү хийгдэнэ:
%
dvips seaweed-analysis.dvi
%
lpr seaweed-analysis.ps
DVI файлуудад зориулсан хувиргах шүүлтүүрийг суулгаж LPD-ээр өөрсөддөө зориулан хийлгэж бид гараар хувиргах алхмыг алгасаж болно. Одоо, DVI файлыг авах болгонд бидэнд хэвлэхэд нэг алхам дутуу байх болно:
%
lpr -d
seaweed-analysis.dvi
Бидэнд зориулж DVI файлын хувиргалтыг хийх LPD
програмд -d
тохируулгыг зааж өгнө.
Хэлбэршүүлэх болон хувиргах
тохируулгууд хэсэг хувиргах тохируулгуудыг жагсаасан байгаа.
Таны хүсэх хэвлэгчийн дэмжих хувиргах тохируулга бүрт зориулж
хувиргах шүүлтүүр суулгаж түүний замыг
/etc/printcap
файлд зааж өгнө.
Хувиргах шүүлтүүр нь энгийн хэвлэгчийн тохиргоон дахь
(Текст шүүлтүүрийг
суулгах нь хэсгийг үзнэ үү) текст шүүлтүүртэй төстэй. Ялгаа нь
цэвэр текст хэвлэхийн оронд энэ шүүлтүүр нь файлыг хэвлэгчийн ойлгодог
хэлбэршилт уруу хувиргадаг.
Та ашиглах хувиргах шүүлтүүрүүдээ суулгах ёстой. Хэрэв та маш их DVI өгөгдлийг хэвлэх бол DVI хувиргах шүүлтүүр хэрэглэгдэнэ. Хэрэв танд маш их troff хэвлэх хэрэгтэй бол та troff шүүлтүүрийг суулгахыг хүсэх байх.
Дараах хүснэгтэд LPD-ийн
ажилладаг шүүлтүүрүүд, тэдгээрийн /etc/printcap
файл дахь боломжийн оруулгууд болон тэдгээрийг lpr
тушаалаар хэрхэн дуудах талаар дурдсан болой:
Файлын төрөл | /etc/printcap боломж | lpr тохируулга |
---|---|---|
cifplot | cf | -c |
DVI | df | -d |
plot | gf | -g |
ditroff | nf | -n |
FORTRAN текст | rf | -f |
troff | tf | -f |
raster | vf | -v |
цэвэр текст | if | none, -p , or
-l |
Бидний жишээн дээрх lpr
тушаалыг ашиглах нь
хэвлэгчийн хувьд -d
/etc/printcap
файл дахь түүний
оруулгад df
боломж хэрэгтэй гэсэн үг юм.
Бусад хүмүүс магадгүй маргаж болох юм. Гэхдээ FORTRAN текст болон
plot зэрэг хэлбэршилтүүд нь магадгүй хуучирсан хэлбэршилтүүд юм.
Та өөрийн талдаа эдгээр шинэ ойлголтууд юм уу эсвэл ердөө л
өөрчлөн тохируулсан шүүлтүүрүүдийг суулгаж аль нэг хэлбэршилтийн
сонголтуудыг өгч болох юм. Жишээ нь та Printerleaf файлуудыг
(Interleaf ширээний хэвлэх програмаас гарах файлууд) шууд хэвлэхийг
хүсчээ. Гэхдээ plot файлуудыг хэзээ ч хэвлэхгүй гэж бодъё.
Тэгвэл та gf
боломжийн доор
Printerleaf хувиргах шүүлтүүрийг суулгаж lpr
тушаал нь «Printerleaf файлуудыг хэвлэх»
гэсэн үг болохыг өөрийн хэрэглэгчиддээ сургах хэрэгтэй болох юм.-g
Хувиргах шүүлтүүрүүд нь үндсэн FreeBSD суулгацаас гадна суулгах програмууд
бөгөөд /usr/local
сан дотор байрлана.
/usr/local/libexec
сан нь түгээмэл хэрэглэгддэг
байрлал юм. Учир нь тэдгээр нь LPD-ийн
зөвхөн ажиллуулах тусгай програмууд юм; ердийн хэрэглэгчид нь тэдгээрийг
хэзээ ч ажиллуулах хэрэггүй юм.
Хувиргах шүүлтүүрийг идэвхжүүлэхийн тулд /etc/printcap
файлд хүрэх хэвлэгчийн хувьд тохирох боломжийн доор түүний замыг зааж өгөх
явдал юм.
Бидний жишээн дээр bamboo
гэж нэрлэгдсэн хэвлэгчийн
оруулгад DVI хувиргах шүүлтүүрийг бид нэмэх болно. bamboo
хэвлэгчийн хувьд шинэ df
боломжийг оруулсан
/etc/printcap
файлын жишээг энд дахин
үзүүлэв:
/var/spool/lpd/rattan
:\
:lp=/dev/lpt0
:\
:if=/usr/local/libexec/if-simple
:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo
:\
:lp=/dev/ttyu5
:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif
:\
:df=/usr/local/libexec/psdf
:DVI шүүлтүүр нь /usr/local/libexec/psdf
гэж нэрлэгдсэн бүрхүүлийн скрипт юм. Энд тэр скриптийг үзүүлэв:
Энэ скрипт нь dvips
-г шүүлтүүрийн горимд
(-f
нэмэлт өгөгдөл) хэвлэх ажил болох стандарт
оролт дээр ажиллуулдаг. Дараа нь PostScript® хэвлэгчийн шүүлтүүр
lprps
-г (PostScript® хэвлэгчид
дээр текст ажлуудыг тааруулах нь хэсгийг үзнэ үү)
LPD-ийн
энэ скрипт уруу дамжуулсан нэмэлт өгөгдлүүдтэй цуг эхлүүлнэ.
lprps
тушаал нь хэвлэсэн хуудаснуудыг
бүртгэхийн тулд тэдгээр нэмэлт өгөгдлүүдийг ашиглах болно.
Хувиргах шүүлтүүрүүдийг суулгах тогтмол алхмууд байдаггүй болохоор энэ хэсэгт зарим нэг ажилладаг жишээнүүдийг энд дурдъя. Эдгээрийг өөрийн шүүлтүүрийг хийхдээ заавар болгон ашиглаарай. Тохирохоор бол шууд ашиглах хэрэгтэй.
Энэ жишээ скрипт нь Hewlett Packard LaserJet III-Si хэвлэгчид зориулсан raster (яг үнэндээ GIF файл) хувиргах шүүлтүүр юм:
Энэ нь GIF файлыг зөөгдөх anymap уруу, гарсныг нь зөөгдөх graymap уруу, гарсныг нь зөөгдөх bitmap уруу, тэр гарсныг нь LaserJet/PCL-тэй нийцтэй өгөгдөлд хувиргаж ажилладаг.
Дээрх шүүлтүүрийг ашиглаж байгаа хэвлэгчид зориулсан оруулгатай
/etc/printcap
файлыг энд үзүүлэв:
/dev/lpt0
:sh:sd=/var/spool/lpd/teak
:mx#0:\
:if=/usr/local/libexec/hpif
:\
:vf=/usr/local/libexec/hpvf
:Дараах скрипт нь bamboo
гэж нэрлэгдсэн
PostScript® хувилагчийн groff маяг тохируулах системээс troff
өгөгдөлд зориулсан хувиргах шүүлтүүр юм:
Дээрх скрипт нь хэвлэгчтэй хийх холбоог зохицуулахын тулд
lprps
-г дахин ашигладаг. Хэрэв хэвлэгч
зэрэгцээ порт дээр байгаа бол бид энэ скриптийг харин ашиглах болно:
Ингээд л боллоо. Шүүлтүүрийг идэвхжүүлэхийн тулд бид
дараах оруулгыг /etc/printcap
файлд
нэмэх хэрэгтэй:
/usr/local/libexec/pstf
:Хуучин гаруудыг FORTRAN-с ичихэд хүргэх жишээг энд үзүүлэв.
Энэ нь цэвэр текстийг шууд хэвлэж чадах дурын хэвлэгчид зориулсан
FORTRAN-текст шүүлтүүр юм. Бид үүнийг teak
хэвлэгчид зориулж суулгах болно:
Тэгээд бид энэ шүүлтүүрийг идэвхжүүлэхийн тулд
teak
хэвлэгчид зориулж
/etc/printcap
файлд энэ мөрийг
нэмэх болно:
/usr/local/libexec/hprf
:Энд сүүлийн бөгөөд зарим талаараа төвөгтэй жишээ байна. Бид DVI шүүлтүүрийг
өмнө танилцуулсан LaserJet хэвлэгч teak
-д
нэмэх болно. Эхлээд амархан хэсэг нь: /etc/printcap
файлыг DVI шүүлтүүрийн байрлалаар шинэчлэх явдал юм:
/usr/local/libexec/hpdf
:Одоо хэцүү хэсэг нь: шүүлтүүр хийх явдал юм. Үүний тулд бидэнд
DVI-ээс-LaserJet/PCL уруу хувиргах програм хэрэгтэй. FreeBSD-ийн
портын цуглуулгад (see Портын цуглуулга)
нэг байдаг: print/dvi2xx
.
Энэ портыг суулгах нь бидэнд хэрэгтэй програм dvilj2p
-г
өгдөг. Энэ нь DVI-г LaserJet IIp, LaserJet III, болон LaserJet 2000-тай
нийцтэй кодууд уруу хувиргадаг.
dvilj2p
нь шүүлтүүр hpdf
-г
нэлээн төвөгтэй болгодог. Учир нь dvilj2p
нь
стандарт оролтоос уншиж чаддаггүй. Энэ нь файлын нэртэй ажиллахыг хүсдэг.
Юу нь бүр муу вэ гэхээр файлын нэр нь .dvi
гэж
төгсөх ёстой. Тэгэхээр /dev/fd/0
-г
стандарт оролтод зориулж ашиглах нь асуудалтай болно.
Бид түр зуурын файлын нэрийг (.dvi
-аар төгссөн)
/dev/fd/0
уруу болгож холбоос үүсгэн энэ асуудлыг
тойрон гарч болох юм. Ингэснээр dvilj2p
тушаалыг
стандарт оролтоос уншуулах юм.
Асуудалтай нэг зүйл нь бид /tmp
-г түр зуурын
холбоост ашиглаж болохгүй явдал юм. Симболын холбоосуудыг
bin
хэрэглэгч болон бүлэг эзэмшдэг. Тэгээд
/tmp
санд наалттай (sticky) бит тохируулагдсан
байдаг. Шүүлтүүр нь холбоос үүсгэж чадах боловч холбоос нь өөр хэрэглэгчид
харьяалагдах болохоор дууссаныхаа дараа цэвэрлэж устгаж чаддаггүй юм.
Харин шүүлтүүр нь түр хадгалах сан (/etc/printcap
файлд
sd
боломжоор заагдсан) болох одоо ажиллаж
байгаа санд симболын холбоос үүсгэх болно . Энэ нь шүүлтүүрийн ажлаа хийх
төгс газар юм. Ялангуяа илүү их чөлөөтэй дискний зай /tmp
сан
доторхоос илүү түр хадгалах санд (заримдаа) байдаг.
Ингээд эцэст нь шүүлтүүр энэ байна:
Эдгээр бүх хувиргагч шүүлтүүрүүд нь таны хэвлэх орчинд тань маш олон ажлыг гүйцэтгэж өгдөг ч хэрэглэгчдийг тэднээс аль нэгийг нь хэрэглэхийг шаарддаг (lpr(1)-н тушаалын мөрөн дээр). Хэрэв таны хэрэглэгчид компьютер дээр сайн гаршаагүй хүмүүс бол иймэрхүү шүүлтүүрийн сонголтууд тэд нарыг залхаах болно. Бүр муудаж болох нөхцөл юу гэвэл буруу сонгосон шүүлтүүрийг буруу файлд хэрэглэснээр хэвлэгчээр олон зуун хуудас үр дүнгүй хэвлэгдэх явдал юм.
Анхнаасаа хувиргагч шүүлтүүрүүдийг суулгахаасаа өмнө
эхлээд та энгийн текст шүүлтүүрийг суулгаад (анхдагч
шүүлтүүр ) хэвлэгдэх файлын төрлийг нь таниад хэрэгтэй
шүүлтүүрийг хэрэглэх нь зүйтэй. file
гэх мэтийн хэрэгслүүд иймэрхүү зүйлд ашиглагдаж болох юм.
Мэдээж зарим файлын төрлийг хооронд нь
ялгахад бэрх боловч мэдээж тэдэнд зориулж та шүүлтүүр үүсгэж
болно.
FreeBSD-н портын цуглуулга дотор apsfilter
(print/apsfilter
)
нэртэй автомат хувиргалт хийдэг текст шүүлтүүр бий. Энэ шүүлтүүр нь
энгийн текст, PostScript®, DVI болон бараг бүх л төрлийн файлуудыг таньж тэдэнд
тохирсон шүүлтүүрийг нь автоматаар ажиллуулдаг.
LPD түр хадгалагч системд бид нарын нээгээгүй бас нэг шүүлтүүрийн төрөл бий. Гаралтын шүүлтүүр гэгч нь текст шүүлтүүр шиг зөвхөн энгийн текст хэвлэх зориулалттай бөгөөд маш олон зүйлийг хялбаршуулсан байдаг. Хэрэв та текст шүүлтүүр хэрэглээгүй мөртлөө гаралтын шүүлтүүр хэрэглэж байгаа бол:
LPD нь хэвлэгдэх файл болгонд шүүлтүүр ажиллуулалгүйгээр гаралтын шүүлтүүрийг нэг удаа л эхлүүлдэг.
LPD нь гаралтын шүүлтүүрт зориулж файлын эхлэл болон төгсгөлийг мэдээлэх алба байхгүй.
LPD нь хэрэглэгчийн болон компьютерийн нэвтрэх эрхийг дамжуулдаггүй болохоор бүртгэл хийх зориулалт байдаггүй. Үнэн хэрэгтээ бол энэ нь ердөө хоёр утга авдаг:
шүүлтүүрийн-нэр
-wөргөн
-lурт
Энд өргөн
нь
pw
-н шинж чанар бөгөөд
урт
нь
pl
-н шинж чанар юм.
Гаралтын шүүлтүүрийн амарчлалд бас найдах хэрэггүй. Хэрэв хэвлэгдэх файлуудыг тусдаа хуудаснаас эхлүүлэхийг та хүсэж байгаа бол гаралтын шүүлтүүр ажиллахгүй. Үүнд текст шүүлтүүр (бас оролтын шүүлтүүр гэж нэрлэдэг) хэрэглэх хэрэгтэй ба Текст шүүлтүүрийг суулгах нь хэсгээс харна уу. Мөн цаашлаад үнэн чанартаа бол гаралтын шүүлтүүрүүд нь байт хэлбэрээр урсаж байгаа хэвлэгдэх зүйлсээс онцгой тэмдэгтүүдийг ялгаж LPD-н нэрийн өмнөөс дохио илгээх маягаар ажилладаг нэлээн төвөгтэй систем юм.
Хэрэв та толгой хуудаснуудыг хэвлэхийг хүсэж escape дарааллууд юм уу эсвэл эхлүүлэх мөрүүдийг илгээх хэрэгтэй бол гарах шүүлтүүр нь шаардлагатай юм. (Гэхдээ хэрэв та толгой хуудаснуудыг хүсэж байгаа хэрэглэгчийн бүртгэлээс төлбөр авах хүсэлтэй байгаа бол энэ нь дэмий зүйл юм. Учир нь LPD нь гаралтын шүүлтүүрт ямар ч хэрэглэгч юм уу эсвэл хостын мэдээллийг өгдөггүй юм.)
Нэг хэвлэгч дээр LPD нь гаралтын
шүүлтүүр болон текст эсвэл бусад шүүлтүүрүүдийг зөвшөөрдөг. Ийм тохиолдолд
LPD нь зөвхөн толгой хуудсыг хэвлэхийн тулд
гаралтын шүүлтүүрийг эхлүүлэх болно (Толгой хуудаснууд
хэсгийг үзнэ үү). Тэгээд LPD нь хоёр байтыг
шүүлтүүр рүү илгээж гаралтын шүүлтүүр нь өөрийгөө зогсооно
гэж тооцдог: эдгээр хоёр байт нь ASCII 031 дараа нь ASCII 001 юм.
Гаралтын шүүлтүүр нь эдгээр хоёр байтыг (031, 001) хараад өөртөө SIGSTOP
илгээж зогсох ёстой. LPD бусад шүүлтүүрийг
ажиллуулж дууссаны дараа гаралтын шүүлтүүрт SIGCONT
илгээж түүнийг дахин эхлүүлэх болно.
Хэрэв гаралтын шүүлтүүр байгаа боловч текст шүүлтүүр байхгүй бөгөөд LPD цэвэр текст ажил дээр ажиллаж байгаа бол LPD нь ажлыг хийхийн тулд гаралтын шүүлтүүрийг ашигладаг. Өмнө хэлсэнчлэн гаралтын шүүлтүүр нь ажлын файл бүрийг дарааллаар form feed-үүд эсвэл бусад цаасны дэвшилт зэрэг хөндлөнгийн оролцоогүйгээр хэвлэх бөгөөд энэ нь таны хүсэж байгаа зүйл биш байж болох юм. Бараг бүх тохиолдолд танд текст шүүлтүүр хэрэгтэй.
lpf
гэж танд урьд нь текст шүүлтүүр хэмээн
танилцуулсан шүүлтүүр бас гаралтын шүүлтүүр болон ажилладаг.
Хэрэв танд ямар нэгэн урсгалаас байт таньж код илгээх гаралтын
шүүлтүүр бичилгүйгээр түргэн-боловч-бултар шүүлтүүр хэрэгтэй
бол lpf
-г хэрэглээрэй. Та мөн бүрхүүл дээр
скрипт бичиж хэвлэгчид шаардлагатай анхдагч утгуудыг нь
lpf
-аар тохируулж бас болно.
FreeBSD хоёртын түгээлттэй цуг ирдэг /usr/libexec/lpr/lpf
програм нь гаралтад (lpr
тушаалаар илгээгдсэн ажил) догол гаргах,
үсгэн тэмдэгтүүдийг дамжуулахыг зөвшөөрөх (-i
lpr
тушаалаар
илгээгдсэн ажил), ажил дахь устгах тэмдэгтүүд болон tab-уудад зориулж хэвлэх байрлалыг
тааруулах болон хэвлэсэн хуудаснуудыг бүртгэж чаддаг текст шүүлтүүр (оролтын шүүлтүүр) юм.
Энэ нь бас гаралтын шүүлтүүр шиг ажиллаж чаддаг.-l
lpf
нь олон хэвлэх орчнуудад тохирдог. Хэдийгээр
энэ нь хэвлэгч уруу эхлүүлэх дарааллуудыг илгээх боломжгүй боловч хэрэгтэй эхлүүлэлтийг
хийж lpf
-г ажиллуулах бүрхүүлийн скрипт бичихийг хялбар
болгодог.
Хуудсын бүртгэлийг lpf
-ээр зөв хийлгэхийн тулд
/etc/printcap
файл дахь
pw
болон pl
боломжуудад
зөв утгуудыг оруулах хэрэгтэй. Хуудсанд хичнээн текст багтах болон хэрэглэгчийн
ажилд хичнээн хуудас байгааг тодорхойлохын тулд энэ нь эдгээр утгуудыг ашигладаг.
Хэвлэгчийн бүртгэлийн тухай дэлгэрэнгүй мэдээллийг Хэвлэгчийн хэрэглээг бүртгэх нь
хэсгээс үзнэ үү.
Хэрэв та маш их хэрэглэгчтэй бөгөөд бүгд төрөл бүрийн хэвлэгч ашиглаж байгаа бол та магадгүй толгой хуудаснуудыг ашиглахыг хүсэж болох юм.
Толгой хуудаснууд, бас сурталчилгаа эсвэл тэсрэх хуудаснууд гэгддэг хуудаснууд нь хуудсууд хэвлэгдсэний дараа ажлууд нь хэнд хамаарахыг тодорхойлдог. Тэдгээр нь ихэвчлэн том, тод үсгээр, магадгүй чимсэн хүрээнүүдтэйгээр хэвлэгддэг. Ингэснээр хэвлэсэн олон хуудаснууд дотроос хэрэглэгчдийн ажлуудыг багтаасан жинхэнэ баримт болон ялгардаг. Энэ нь хэрэглэгчдэд өөрсдийн ажлуудыг хурдан олох боломжийг олгодог. Толгой хуудасны илэрхий сул тал нь ажил болгоны хувьд илүү хуудас хэвлэгддэг явдал бөгөөд тэдний түр зуурын ашиг хэдхэн минут үргэлжилж тун удалгүй тэдгээрийг хогийн сав эсвэл хогийн овоон дотор орохыг харж болох юм. (Толгой хуудаснууд нь файл болгонтой биш, ажил болгонтой цуг явдгийг санаарай. Тэгэхээр цаас дэмий үрэх нь тийм ч их муу биш байж болох юм.)
Хэрэв таны хэвлэгч цэвэр текстийг шууд хэвлэж чаддаг бол LPD систем нь таны хэвлэсэн зүйлүүдэд толгой хуудаснуудыг автоматаар өгч чаддаг. Хэрэв танд PostScript® хэвлэгч байгаа бол толгой хуудсыг үүсгэхийн тулд танд гадаад програм хэрэгтэй болох юм; PostScript® хэвлэгчид дээрх толгой хуудаснууд хэсгийг үзнэ үү.
Хэвлэгчийн энгийн тохиргоо
хэсэгт бид /etc/printcap
файлд
sh
-ийг («suppress header» буюу толгойг дарах
гэсэн утгатай) зааж өгөн толгой хуудаснуудыг болиулсан. Хэвлэгчийн хувьд толгой хуудаснуудыг
идэвхжүүлэхийн тулд ердөө л sh
боломжийг устгах хэрэгтэй.
Хэтэрхий амархан санагдаж байна, тийм үү?
Таны зөв. Та хэвлэгч уруу эхлүүлэх мөрүүдийг илгээхийн тулд гаралтын шүүлтүүрийг өгөх хэрэгтэй болж болох юм. Энд Hewlett Packard PCL-тэй нийцтэй хэвлэгчдэд зориулсан жишээ гаралтын шүүлтүүр байна:
Гаралтын шүүлтүүрийн замыг of
боломжид
зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг Гаралтын шүүлтүүрүүд
хэсгээс үзнэ үү.
Бидний урьд нь танилцуулсан teak
хэвлэгчид
зориулсан жишээ /etc/printcap
файл энд байна;
бид толгой хуудаснуудыг идэвхжүүлж дээрх гаралтын шүүлтүүрийг нэмсэн:
/dev/lpt0
:sd=/var/spool/lpd/teak
:mx#0:\
:if=/usr/local/libexec/hpif
:\
:vf=/usr/local/libexec/hpvf
:\
:of=/usr/local/libexec/hpof
:Одоо хэрэглэгч teak
уруу ажлуудаа хэвлэхэд
ажил болгонтой толгой хуудас хүлээн авах болно. Хэрэв хэрэглэгчид өөрсдийн
хэвлэсэн зүйлсээ хайхад цаг зарцуулахыг хүсэж байгаа бол толгой хуудаснуудыг
дарж ажлаа lpr
тушаалаар илгээж болно;
lpr(1)-ийн тохируулгуудын талаар дэлгэрэнгүйг Толгой хуудасны тохируулгууд
хэсгээс үзнэ үү.-h
LPD нь толгой хуудасны дараа
form feed тэмдэгт хэвлэдэг. Хэрэв таны хэвлэгч хуудсаа гаргахын
тулд өөр тэмдэгт юм уу эсвэл өөр тэмдэгтүүдийн дараалал ашигладаг
бол тэдгээрийг /etc/printcap
файлд
ff
боломжоор зааж өгөх хэрэгтэй.
Толгой хуудаснуудыг идэвхжүүлснээр LPD
нь хэрэглэгч, хост, болон ажлыг таниулах том үсгүүдтэй урт
толгой бүхий хуудсыг үүсгэх болно. Энд жишээ байна (kelly
нь
«outline» гэсэн нэртэй ажлыг rose
-с хэвлэжээ):
LPD нь ажлыг шинэ хуудсан дээр
эхлүүлэхийн тулд энэ текстийн дараа form feed-г нэмдэг
(/etc/printcap
дахь хүрэх хэвлэгчийн оруулгад
sf
(form feed-г дарах) байхгүй бол).
Хэрэв та хүсэж байгаа бол LPD нь
богино толгой хийж чаддаг; /etc/printcap
файлд sb
-г (short banner буюу богино сурталчилгаа)
зааж өгөх хэрэгтэй. Толгой хуудас иймэрхүү харагдах болно:
Бас анхдагчаар LPD нь эхлээд толгой
хуудсыг дараа нь ажлыг хэвлэдэг. Эсрэгээр болгохын тулд
/etc/printcap
файлд hl
-г
(header last буюу толгой сүүлд) зааж өгөх хэрэгтэй.
LPD-н өөрт нь суугдсан толгой хуудаснууд нь хэвлэлтэд бүртгэл тооцоо хийх шаардлагатай үед үнэгүй байх зарчмыг шаарддаг.
Яагаад?
Учир нь гаралтын шүүлтүүр бол толгой хуудас
хэвлэгдэх үед ажилладаг тусдаа биеэ даасан гадаад
програм бөгөөд бүртгэл хийж болох юм шиг боловч
хэрэглэгч юм уу компьютерийн тухай
ямар ч бүртгэлийн мэдээллээр хангагддаггүй учир
хэн дээр ямар тооцоо бүртгэл хийхээ мэдэж чаддаггүй.
Зөвхөн текст шүүлтүүрийг өөрчилж «хуудасны тоог нэгээр нэмэх»
юм уу эсвэл хувиргах ямар нэгэн шүүлтүүрийг (хэрэглэгч юм уу
компьютерийн мэдээлэлтэй) хэрэглэгч lpr
гэсэн тушаалаар дарж болдог.
Дарагдсан ч гэсэн тэдгээр толгой хуудаснууд бүртгэл
тооцоо хийж байдаг. Үндсэндээ орчны хувьсагчдад дассан хэрэглэгчдэд
-h
lpr
тушаал илүү аятайхан байж болох боловч
шаардлагатай гэсэн үг биш билээ.
-h
Шүүлтүүр бүр өөрсдийн гэсэн толгой хуудас
үүсгэх нь тийм хангалттай шийдэл бас биш
(хэдийгээр тус бүрдээ төлбөр тооцоо хийж чадах байсан ч ).
Хэрэв хэрэглэгч lpr
тушаалаар
толгой хуудсыг дарсан ч LPD
нь шүүлтүүрүүд рүү -h
-h
гэсэн сонголтын талаар
ямар ч мэдээлэл явуулдаггүй болохоор төлбөр тооцоо хийгдсээр байх
болно.
Тэгэхээр танд ямар сонголтууд байна вэ?
Та дараах зүйлсийг хийх боломжтой:
LPD-н зарчмыг хүлээн зөвшөөрч толгой хуудсанд төлбөр тооцохгүй болох.
LPRng гэх мэтийн LPD-н ижил төрлийн түр хадгалагчдыг хэрэглэх. Түр хадгалагчидтай ижил төрлийн хадгалагчид хэсэгт LPD-г орлуулж болох түр хадгалагчдын талаар өгүүлсэн буй.
Гайгүй сэргэлэн гаралтын
шүүлтүүр бичих. Гаралтын шүүлтүүр гэдэг нь ердийн үед бол
хэвлэгчийг тохируулах юм уу эсвэл энгийн тэмдэгт хувиргуур
хийдэг програм юм. Ийм шүүлтүүр нь
толгой хуудас болон энгийн текст зэрэгт тун таардаг (
хэрэв тэнд ямар ч текст (оролтын) шүүлтүүр байхгүй бол).
Гэхдээ хэрэв тэнд энгийн текст хэвлэх текст шүүлтүүр байгаа
бол LPD нь гаралтын шүүлтүүрийг
зөвхөн толгой хуудсанд ажиллуулдаг. Тэгээд
гаралтын шүүлтүүр нь толгой хуудаснаас
LPD-н үүсгэсэн хэрэглэгч болон
компьютерт тооцсон тооцоог салгаж авч чаддаг. Энэ арганд
буй нэг хүндрэл бол гаралтын шүүлтүүр нь ямар бүртгэлийн
файл хэрэглэхээ мэдэхгүйд байгаа юм (энэ файл нь
af
тохиргоогоор дамжигддаггүй). Гэвч
хэрэв танд бэлэн бүртгэл файл байгаа бол тэдгээрийг
гаралтын шүүлтүүр дотор бичиж өгч болно. Тооцоог салгаж авах
хэсэгт нэмэр болгохын тулд sh
(short header буюу
богино толгой) тохиргоог /etc/printcap
файл дотор оруулах нь зүйтэй. Тэгээд ч энэ бүхэн танд төвөгтэй санагдаж магадгүй бөгөөд
хэрэглэгчид толгой хуудсанд төлбөр тооцдоггүй
өгөөмөр сүлжээ зохицуулагчийг илүүд үзэж бас болох юм.
Өмнө өгүүлснээр LPD нь маш олон хэвлэгчдэд зориулж энгийн текст толгой хуудас үүсгэж чаддаг. Мэдээж PostScript® нь энгийн текстийг шууд хэвлэж чаддаггүй болохоор LPD-н энэ шинж чанар бараг хэрэггүй билээ.
Толгой хуудас байлгах нэг арга бол хувиргах шүүлтүүр болгон
толгой хуудас үүсгэх юм. Ингэхийн тулд шүүлтүүрүүд нь
хэрэглэгч болон компьютерийн мэдээллийг хүлээж аваад толгой
хуудас үүсгэдэг байхаар зохицуулах хэрэгтэй. Энэ аргын нэг
муу тал нь хэрэглэгчид lpr
тушаал ашигласан ч толгой хуудастай хуудас
хэвлээд байх болно.-h
Энэ аргыг жаахан судалж үзэцгээе. Дараах скрипт гурван утга хүлээж аваад(хэрэглэгчийн нэвтрэх нэр, компьютерийн нэр, хэвлэгдэх ажлын нэр) PostScript® толгой хуудас үүсгэж байна:
Одоо ямар ч хувиргах шүүлтүүр болон текст шүүлтүүрүүд нь энэ скриптийг дуудаж толгой хуудас үүсгэж хэвлэж болно. Энд одоо өмнө үзүүлж байсан DVI хувиргах шүүлтүүрийг жаахан өөрчилж толгой хуудас үүсгэхийг харуулав:
Хэрэглэгчийн нэр болон компьютерийн нэрийг хэрхэн салгаж авч байгааг анхаарах хэрэгтэй. Бусад шүүлтүүр дээр ийм салгалт хийх нь ижилхэн. Текст шүүлтүүр нь хэрэглэгчийн нэр болон компьютерийн нэрийг арай өөр аргаар салгаж авдаг. (Шүүлтүүр хэрхэн ажилладаг вэ хэсгээс харна уу).
Өмнө өгүүлсний дагуу дээр үзүүлсэн энэ загвар нь
хэдийгээр тун энгийн бүтээгдсэн ч гэсэн
«suppress header page» сонголтыг (
-h
сонголт) lpr
дээр хорьдог.
Хэрэв хэрэглэгчид жаахан хэмнэхийг хүссэн ч (эсвэл
толгой хуудасны төлбөрт өгөх хэдэн төгрөгөө)
шүүлтүүр болгон толгой хуудас хэвлэдэг болохоор
дээрх аргыг хэрэглээд үр дүн өгөхгүй.
Хэвлэгдэх бүр толгой хуудсыг хорихын тулд
Толгой хуудасны
тооцоо бүртгэл хэсэгт үзүүлсэн дараах бяцхан аргыг хэрэглэнэ:
гаралтын шүүлтүүр бичээд түүгээрээ LPD-н үүсгэсэн
толгой хэсгийг салгаж аван PostScript® хувилбарыг нь үүсгэх.
Хэрэв хэрэглэгч lpr
тушаал хэрэглэвэл
LPD толгой хэсэг үүсгэхгүй бөгөөд
бас таны гаралтын шүүлтүүрийг ажиллуулахгүй. Бусад үед
гаралтын шүүлтүүр нь LPD-с текстийг
уншаад түүнд тохирсон PostScript® толгой хуудсыг
хэвлэгчид өгдөг.-h
Хэрэв танд цуваа холболттой PostScript® хэвлэгч
байгаа бол lprps
-г та хэрэглэж болох
бөгөөд энэ нь дээр ярьсан зүйлийг гүйцэтгэж чаддаг
psof
нэртэй гаралтын шүүлтүүртэй хамт
ирдэг. Тэмдэглэж хэлэхэд, psof
нь
толгой хуудсанд тооцоо боддоггүй.
FreeBSD нь хэвлэх ажлыг алсад буй компьютер руу илгээж сүлжээгээр хэвлэхийг бас дэмждэг. Сүлжээгээр хэвлэх нь хоёр зүйлийг хамарч байдаг.
Алсад буй компьютерт залгагдсан хэвлэгч рүү хандах. Та нэг хэвлэгчийг нэг компьютер дээр тохирох цуваа юм уу зэрэгцээ холболтоор хэвлэгчийг залгана. Дараа нь та LPD-г суулгаж алсад буй компьютер уг хэвлэгч залгагдсан компьютер руу хандаж болохыг тохируулна. Алсад буй компьютерт залгагдсан хэвлэгч хэсэгт үүнийг хэрхэн хийх талаар зааварласан бий.
Шууд сүлжээнд залгагдсан хэвлэгч рүү хандах. Ийм хэвлэгч нь ердийн цуваа юм уу эсвэл зэрэгцээ холболтын интерфэйсээс гадна (эсвэл оронд нь) сүлжээний залгууртай байдаг. Ийм хэвлэгч дараах маягаар ажилладаг:
Хэвлэгч LPD-н дамжуулах протоколыг таньж ойлгох ба алсаас ирүүлсэн ажлуудад дараалал үүсгэж чаддаг. Ийм тохиолдолд уг хэвлэгч нь өөр дээрээ LPD суулгасан ердийн компьютер шиг ажиллах болно. Алсад буй компьютерт залгагдсан хэвлэгчид хэсэгт иймэрхүү хэвлэгчийг хэрхэн тохируулах талаар харна уу.
Хэвлэгч нь сүлжээгээр өгөгдлийг урсгал мэт хүлээж авдаг тийм төрлийн холболт дэмждэг байж болох юм. Энэ тохиолдолд та нэг компьютерт уг хэвлэгчийг «залгаад» суулгасан компьютер нь ирж буй ажлуудыг түр хадгалах хариуцлагыг нь дааж хэвлэгч рүүгээ өгөгдлийг урсгаж байхаар тохируулах хэрэгтэй. Сүлжээний өгөгдлийн урсгал холболтын төхөөрөмжтэй хэвлэгчид хэсэгт ийм төрлийн хэвлэгчийг хэрхэн суулгах талаар зааварласан байгаа.
LPD-д өөрт нь өөр газар LPD (эсвэл LPD-тэй зохимжтой) ажиллаж байгаа машин руу хэвлэх ажлыг илгээж чаддаг ажиллагаа байдаг. Энэ шинж чанарыг ашиглаж та өөр компьютерт хэвлэгчээ залгаад түүнд өөр газраас хандаж болох боломж нээж өгч байна. Энэ арга нь мөн LPD дамжуулах протоколыг ойлгодог хэвлэгчид дээр бас ажиллана .
Иймэрхүү алсаас хэвлэх ажиллагааг гүйцэтгэхийн тулд эхлээд хэвлэгчээ хэвлэгчийн эзэн болгож нэг машинд Хэвлэгч суулгах энгийн явц хэсэгт заасны дагуу залгах хэрэгтэй. Шаардлагатай бол Хэвлэгчийн нэмэлт тохиргоо хэсэгт заасан тохиргоог хийж болно. Хэвлэгчээ хэвлэж байгааг нь магадлаад LPD тохиргоог зөвшөөрсөн эсэхийг шалгах хэрэгтэй. Мөн remote host дотор local host нь LPD үйлчилгээг хэрэглэх эрхтэй эсэхийг шалгаарай (Алсад буй хостод хэвлэх хязгаарлалт хийх хэсэгт харна уу).
Хэрэв та сүлжээний карттай бөгөөд LPD протокол дэмждэг хэвлэгч хэрэглэж байгаа бол дээр өгүүлснээр хэвлэгчийн эзэн болон хэвлэгчийн нэр нь уг тохируулж буй хэвлэгчийн нэр байх ёстой. Хэвлэгчтэй хамт ирсэн үйлдвэрлэгчийнх нь гарын авлагаас хэвлэгчийнх нь тухай эсвэл сүлжээний төхөөрөмжийнх нь тухай мэдээллийг хараарай.
Хэрэв та Hewlett Packard Laserjet хэвлэгч хэрэглэж байгаа
бол text
нэртэй хэвлэгч нь автоматаар
LF-г CRLF руу хувиргадаг болохоор hpif
скрипт
хэрэглэх шаардлагагүй.
Дараа нь хэвлэгч рүү хандах гэж буй нөгөө машины
/etc/printcap
файл дотор дараах зүйлсийг
оруулж өгдөг:
Хүссэн нэрээ оруулна. Алсад буй компьютерийн нэрэнд давхар нэр өгч оруулан амарчилж болох юм.
lp
тохиргоог хоосон орхино.
(:lp=:
).
Түр хадгалах сан үүсгэж түүний байршлыг sd
хэсэгт
зааж өгдөг. LPD нь алсад буй
хэвлэгч рүү ажлуудыг илгээхээсээ өмнө энэ санд хадгалдаг.
Хэвлэгчийн эзний нэрийг rm
хэсэгт
бичиж өгнө.
Хэвлэгчийн эзэнд холбогдсон
хэвлэгчийн нэрийг rp
хэсэгт оруулна.
Ингээд болох нь тэр. Та хувиргах шүүлтүүр, цаасны хэмжээ гэх мэтийг
/etc/printcap
файл дотор оруулах шаардлагагүй.
Энд нэг жишээ татъя. rose
нэртэй машин
bamboo
болон rattan
гэсэн
хоёр хэвлэгчтэй.
Бид одоо orchid
машиныг уг хэвлэгчид рүү хандаж болдог
болгож тохируулцгаая.
Энд ( Толгой хуудсыг
зөвшөөрөх хэсгээс дахин авав)
orchid
машины /etc/printcap
файл
хэрхэн харагдаж байгааг харуулав. Уг машинд өмнө нь
teak
нэртэй машин тохируулагдсан байгаа бөгөөд
бид rose
машины хоёр хэвлэгчийг нэмэх болно:
/dev/lpt0
:sd=/var/spool/lpd/teak
:mx#0:\
:if=/usr/local/libexec/ifhp
:\
:vf=/usr/local/libexec/vfhp
:\
:of=/usr/local/libexec/ofhp
:
#
# rattan is connected to rose; send jobs for rattan to rose:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan
:
#
# bamboo is connected to rose as well:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo
:Дараа нь бид orchid
дээр түр хадгалах
сан нэмэх хэрэгтэй:
#
mkdir -p
/var/spool/lpd/rattan
/var/spool/lpd/bamboo
#
chmod 770 /var/spool/lpd/rattan
/var/spool/lpd/bamboo
#
chown daemon:daemon /var/spool/lpd/rattan
/var/spool/lpd/bamboo
Одоо orchid
дээрх хэрэглэгчид
rattan
болон bamboo
хэвлэгчдийг
хэрэглэж чадна. Жишээ нь orchid
дээрх хэрэглэгч
дараах тушаал өгвөл:
%
lpr -P
bamboo -d
sushi-review.dvi
orchid
дээрх LPD
систем хэвлэх ажлуудыг /var/spool/lpd/bamboo
гэсэн түр хадгалагч руу хуулна. Энэ хэвлэгдэх ажил нь
DVI файл байсныг та анзаарна уу. rose
машинд
bamboo
түр хадгалах сан үүсэнгүүт
хоёр машины LPD-ууд хоорондоо
уг файлыг rose
машин уруу дамжуулдаг.
Дараа нь уг файл rose
-н дараалалд очиж зогсоод
хэвлэгдэх хүртлээ хүлээгдэнэ. Энэ файл DVI-с
PostScript® уруу (bamboo
нь PostScript® хэвлэгч учир)
rose
дээр хувиргагдана.
Ихэнх тохиолдолд, хэвлэгчдэд зориулж сүлжээний төхөөрөмж авах үед танд хоёр сонголт бий: түр хадгалагчтай (илүү үнэтэй), эсвэл цуваа юм уу зэрэгцээ холболтоор холбогдсон мэт өгөгдлийг хэвлэгч рүү шууд илгээдэг (хямд үнэтэй). Энэ хэсэгт хямд үнэтэйг нь авч хэлэлцэнэ. Үнэтэйг нь Алсад буй компьютерт холбогдсон хэвлэгчид хэсгээс хараарай.
/etc/printcap
файлд
ямар цуваа юм уу эсвэл ямар зэрэгцээ холболт хэрэглэхийг зааж өгдөг
бөгөөд (хэрэв та цуваа холболтоор холбосон бол ) ямар
давтамжаар илгээх, ямар урсгал хянагч ашиглах, илгээх
завсарлагаа, шинэ мөр тэмдгийг хэрхэн хувиргах гэх мэтчилэн
маш олон зүйлийг тохируулж болно. Хэрэв хэвлэгч TCP/IP порт
юм уу эсвэл өөр сүлжээний порт чагнаж байгаа хэвлэгчийг энд
зааж өгөх боломжгүй.
Сүлжээнд холбогдсон хэвлэгч рүү илгээхийн тулд
текст болон хувиргах шүүлтүүрээр дуудагдаж болдог
холболтын програм та бичих хэрэгтэй.
Энд нэг жишээ үзүүлье.
netprint
нэртэй скрипт нь
бүх өгөгдлийг ердийн оролтоос аваад сүлжээнд холбогдсон
хэвлэгч рүү илгээх болно. Хэвлэгч холбогдсон компьютерийн нэрийг нь
эхний утгаар авах бөгөөд хоёр дахь утгаараа чагнаж буй
портын дугаарыг netprint
-д өгнө. Тэмдэглэж хэлэхэд,
энэ нь зөвхөн нэг чиглэлтэй холболт (FreeBSD-с хэвлэгч рүү) бөгөөд
ихэнх сүлжээний хэвлэгчид хоёр тийш чиглэсэн холболтыг дэмждэг
болохоор тэр чанарыг нь та мөн ашиглаж болох юм
(хэвлэгчийн төлөв байдлыг мэдэх, бүртгэл хийх гэх мэт).
Дараа нь бид энэ скриптийг янз бүрийн шүүлтүүртэй хамт хэрэглэж болно.
Сүлжээнд
Diablo 750-N туузан хэвлэгч холбогдсон байна гэж авч үзье.
Хэвлэгч хэвлэгдэх өгөгдлийг 5100 гэсэн портын дугаар дээр хүлээж авна.
Хэвлэгчийн холбогдсон компьютерийн нэр нь scrivener
.
Одоо энэ хэвлэгчид дараах текст шүүлтүүр хэрэглэе:
Энэ хэсэгт хэвлэгч хэрэглэлтийг хязгаарлах талаар өгүүлэх болно. LPD систем хэвлэгчийг гадаад сүлжээ юм уу дотоодоос хэн олон хувилах, хэр зэрэг том хэмжээний ажил хэвлэж болох, хэвлэгчийн дараалал хэр урт байх ёстой зэргийг зааж өгч болно.
LPD нь хэрэглэгчдэд нэг файлыг олон
хэвлэхийг амарчилж өгдөг. Хэрэглэгч нар lpr
(жишээ болгож) тушаалаар файлыг таван удаа хувилж чадна.
Үүний сайн эсэх нь танаас хамаарна.-#5
Хэрэв ингэж олон хувилах нь цаг болон цаасны дайсан юм байна
гэж үзэж байгаа бол -#
сонголтыг
lpr(1) дээр хорьж болох бөгөөд ингэхийн тулд
sc
сонголтыг
/etc/printcap
файл дотор оруулж өгнө.
Хэрэв хэрэглэгч -#
сонголттой хэвлэх тушаал илгээвэл
дараах мэдэгдлийг харах болно:
Хэрэв та алсын хэвлэгч тохируулсан байвал (Алсын компьютерт холбогдсон хэвлэгчид хэсгээс харна уу)
sc
сонголтыг алсад буй компьютерийн
/etc/printcap
файл дотор хийж өгөхгүй бол
хэрэглэгчид хүссэн тоогоороо хувилж чадсаар байх болно.
Энд нэг жишээ авцгаая. Дараах файл бол алсад буй
rose
компьютерийн
/etc/printcap
файл.
Хэвлэгч rattan
нь нэлээн өгөөмөр бөгөөд
хэн хүссэнд нь хувилж өгдөг байхад лазер хэвлэгч
bamboo
нь нэлээн харамч болохоор
өөртөө sc
тохиргоог агуулж байна:
/var/spool/lpd/rattan
:\
:lp=/dev/lpt0
:\
:if=/usr/local/libexec/if-simple
:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo
:sc:\
:lp=/dev/ttyu5
:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif
:\
:df=/usr/local/libexec/psdf
:Одоо sc
тохиргоог мөн orchid
компьютерийн
/etc/printcap
файл дотор оруулж
өгөх хэрэгтэй (бид өөрсдөө энэ компьютер дээр байгаа болохоор
teak
хэвлэгч дээр олон хуулбар хийхийг хорих болно):
/dev/lpt0
:sd=/var/spool/lpd/teak
:mx#0:sc:\
:if=/usr/local/libexec/ifhp
:\
:vf=/usr/local/libexec/vfhp
:\
:of=/usr/local/libexec/ofhp
:
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan
:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo
:sc:sc
тохиргоог хэрэглэснээр
lpr
тушаалын хэрэглээг хорих боловч
lpr(1) тушаалын олон удаагийн хэрэглээ юм уу эсвэл
нэг удаагийн хэвлэгдэх ажилд нэг файлыг дараах маягаар олон илгээхийг хорих
боломжгүй:-#
%
lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
Үүнийг хорих олон арга бий бөгөөд та чөлөөтэй оролдон үзэх хэрэгтэй (үл тоомсорлох аргыг оруулаад).
UNIX®-н бүлэглэл болон /etc/printcap
файлын
rg
тохиргоог ашигласнаар ямар хэвлэгч рүү хэн
хандаж юм хэвлэж болохыг та тохируулж болдог. Нэг тодорхой бүлэгт
хэрэглэгчдээ хамруулж оруулаад тэр бүлгийнхээ нэрийг
rg
тохиргоонд бичиж өгөөд л болох нь тэр.
Хэрэв уг бүлэгт хамаараагүй хэрэглэгч (root
-г оруулаад)
тухайн хяналттай хэвлэгч рүү юм хэвлэхийг оролдох үед доорх
мэдэгдлийг харуулах болно:
sc
(suppress multiple copies буюу олон хуулбарыг хорих)
тохиргооны адилаар алсын компьютерууд таны хэвлэгч рүү хандахаар хэрэв та зөвшөөрсөн
бол rg
-г тохируулах хэрэгтэй болно.
(Алсын компьютерт суугдсан хэвлэгчид
хэсгээс харна уу)
Жишээ нь, ямар ч хэрэглэгч
rattan
хэвлэгч рүү хандаж чадахаар, харин
artists
бүлгийн хэрэглэгчид зөвхөн bamboo
хэвлэгчийг
хэрэглэж болно гэж үзье. Энд бидний танил rose
компьютерийн
/etc/printcap
файлыг харуулж байна:
/var/spool/lpd/rattan
:\
:lp=/dev/lpt0
:\
:if=/usr/local/libexec/if-simple
:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo
:sc:rg=artists:\
:lp=/dev/ttyu5
:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif
:\
:df=/usr/local/libexec/psdf
:
/etc/printcap
файлын (
orchid
машины) тохиргоог орхие. Мэдээж
orchid
дээрх хэн гуай ч bamboo
-г
хэрэглэж чадахгүй.
Магадгүй
orchid
дээрх онцгой хэрэглэгчдийг хэвлэгч рүү
хандах эрх олгож болох юм. Үгүй ч байсан болох юм :)
Хэвлэгч бүрд зөвхөн нэг л хязгаарлах бүлэг байж болно.
Хэрэв танд хэвлэгч хэрэглэх эрхтэй хэвлэгчид байгаа бол тэдгээрийн хэвлэх файлд нь хэмжээг нь хязгаарлах тохиргоо хийхийг хүсэж болох юм. Хэдийгээр файл систем дээрх хэвлэгчийн түр хадгалагчийн санд хангалттай зай байгаа ч гэсэн хэрэглэгч бүрд тохирсон тодорхой хэмжээг зааж өгөх шаардлага гарч магадгүй.
LPD нь mx
тохиргоонд
зааж өгсөн байтын хэмжээгээр хэвлэгдэх ажлын хэмжээг хязгаарлах
боломж өгдөг. Хэмжих нэгж нь
BUFSIZ
-д зааж өгсөн багцын хэмжээ байдаг ба
нэг багц нь 1024 байт байдаг билээ. Хэрэв та энэ тохиргоонд тэгийн тоо бичих юм бол
файлын хэмжээнд хязгаар тавихгүй болно. Гэхдээ та ямар ч
mx
тохиргоо зааж өгөөгүй бол
анхдагч хязгаарлалт нь
1000 багц байдаг.
Энэ хязгаарлалт нь хэвлэгдэх гэж буй файлд хамаатай болохоос хэвлэгдэх бүх ажлуудыг хязгаарлана гэсэн үг биш.
LPD нь хэвлэгдэх файл нь хязгаарласан хэмжээнээс их файл ирвэл татгалздаггүй харин хязгаар хүртэлх хэмжээг нь хэвлэх дараалалд оруулж өгдөг бөгөөд тэр хэсэг нь хэвлэгддэг. Үлдсэн хэсэг нь цуцлагдах болно. Иймэрхүү хязгаарлалт нь зөв буруу эсэх нь таны шийдэл билээ.
Бидний жишээ болсон
rattan
болон bamboo
нар дээрээ
хязгаарлалт хийж үзэцгээе. artists
-н
PostScript® файлууд их хэмжээтэй байх хандлагатай байдаг болохоор
тэдгээрийг таван мегабайтаас хэтрэхгүй гэж хязгаарлая. Энгийн
текст файлд харин ямар ч хязгаарлалт өгөхгүй байя:
/var/spool/lpd/rattan
:\
:lp=/dev/lpt0
:\
:if=/usr/local/libexec/if-simple
:
#
# Limit of five megabytes:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo
:sc:rg=artists:mx#5000:\
:lp=/dev/ttyu5
:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif
:\
:df=/usr/local/libexec/psdf
:Зөвхөн дотоод хэрэглэгчдэд ийм хязгаарлалт хэрэгжих болно гэдгийг
дахин сануулъя. Хэрэв та алсад буй хэвлэгчид ийм хязгаарлалт
хийвэл алсаас хандагдаж буй хэрэглэгчдэд энэ хязгаарлалт хүчингүй.
Үүнийг биелүүлэхийн тулд алсад буй машины /etc/printcap
файл дотор mx
тохиргоог зааж өгөх ёстой.
Алсад буй компьютер дээр
холбогдсон хэвлэгчид
хэсгээс алсын хэвлэлт хийх талаар уншаарай.
Алсад буй хэвлэгчид хязгаарлалт тавих өөр нэг онцгой арга байдаг. Алсын хост дээр хэвлэх үйлдлийг хязгаарлах хэсгээс дэлгэрэнгүй уншина уу.
LPD нь алсын компьютераас илгээгдсэн хэвлэх ажлыг бас хянаж болдог боломж олгодог:
Дотоод
LPD руу ямар компьютер хандаж болохыг
/etc/hosts.equiv
болон
/etc/hosts.lpd
файлд зааж өгснөөр
хянаж болдог.
LPD нь саяны хоёр файлын аль нэгэнд нь
хэвлэлт хүссэн компьютерийн нэр байгаа эсэхийг шалгадаг.
Хэрэв нэр нь байхгүй бол
LPD уг хүсэлтээс татгалздаг.
Уг файлын загвар бол тун энгийн.
/etc/hosts.equiv
файл нь мөн
ruserok(3) протоколд хэрэглэгддэг бөгөөд
rsh(1) болон rcp(1) зэрэг програмд нөлөөлдөг
болохоор тун болгоомжтой хэрэглэхийг сануулж байна.
Жишээ нь, rose
компьютер дээрх
/etc/hosts.lpd
файл:
Энэ нь тэгэхээр rose
компьютер нь
orchid
, violet
,
болон madrigal.fishbaum.de
зэрэг
компьютераас хэвлэх хүсэлт хүлээж авч болно гэсэн үг.
Хэрэв эдгээрээс өөр компьютерууд rose
-н
LPD руу хандахыг хүсвэл
тэр хүсэлт нь татгалзагдах болно.
Түр хадгалагч санд байрлаж болох файлуудын хэмжээ нь хэд
хүртэл байж болохыг хянаж болдог.
Дотоод хэвлэгчид зориулсан
түр хадгалах сан дотор minfree
нэртэй
файл үүсгэх хэрэгтэй. Уг файл дотор алсаас ирсэн хэвлэгдэх
ажлын хэмжээ нь хичнээн дискний багцаар
(512 байт) байж болох дугаарыг бичиж өгдөг.
Ингэснээр алсаас хэрэглэх хэрэглэгчид таны дискийг
дүүргэхээс сэргийлнэ. Та энэ файлыг ашигласнаар бас
тодорхой дотоод хэрэглэгчдэд давуу эрхийн дараалал
тогтоож болдог ба
minfree
файлд зааж өгсөн хэмжээнээс
хэтэрсэн хэмжээгээр нь дараалал тогтоодог.
Жишээ болгож minfree
файлыг bamboo
хэвлэгчид зориулж нэмж үзье.
Бид /etc/printcap
файл дээр
дадлага хийх бөгөөд
хэвлэгчид зориулсан түр хадгалагч тохируулсан хэсгийг
нь олж харцгаая. Ингээд bamboo
-н
оруулгыг харуулъя:
/var/spool/lpd/bamboo
:sc:rg=artists:mx#5000:\
:lp=/dev/ttyu5
:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\
:if=/usr/local/libexec/psif
:\
:df=/usr/local/libexec/psdf
:Түр хадгалах санг sd
тохиргооны хэсэгт зааж өгсөн байна.
Одоо LPD-н алсаас илгээгдсэн
хэвлэгдэх
ажилд зориулж гурван мегабайт хэмжээг
(6144 дискний багц) зааж өгцгөөе.
:
#
echo 6144 > /var/spool/lpd/bamboo/minfree
Та ямар хэрэглэгч алсаас хэвлэх хүсэлт тавьж болохыг
/etc/printcap
файл дотор
rs
тохиргооны хэсэгт зааж өгдөг.
Хэрэв дотоод хэвлэгчийн оруулгын хэсэгт
rs
гэж харагдвал
LPD нь
алсаас хэвлэх хүсэлт илгээсэн компьютерийн
хэрэглэгч
хэрэв дотоод компьютер дээрх
нэвтрэх эрхтэй ижилхэн нэртэй хэрэглэгч байвал
зөвшөөрөл өгч хэвлүүлнэ.
Бусад тохиолдолд LPD нь
тухай ажлыг хэвлэхээс татгалзана.
Энэ тохиргоо нь (жишээлбэл) нэг хэвлэгчийг
хувааж хэрэглэдэг олон салбартай байгууллагад ашиглагдаж болох
бөгөөд зарим хэрэглэгчид нь хэд хэдэн салбарт харьяалагддаг
бол уг хэрэглэгчид эрх өгснөөр
өөрийнхөө байгаа салбараас өөр салбарт буй
хэвлэгчид хэвлэх ажил илгээх маягаар ашиглаж болох юм.
Хэрэв та тэдгээр хэрэглэгчдийг зөвхөн
таны хэвлэгчийг л хэрэглэх бөгөөд бусад зүйлсийг ашиглуулахгүй
гэж бодож байгаа бол тэд нарт эхлэл сан байхгүй
бөгөөд /usr/bin/false
гэсэн хэрэглэгдэхгүй
бүрхүүлтэй
«хязгаарлагдмал» бүртгэл үүсгэх хэрэгтэй.
За тэгэхээр та хэвлэлт болгонд мөнгө тооцох шаардлага байг. Цаас болон хэвлэх хорнуудыг мөнгөөр авдаг болохоор яагаад болохгүй гэж? Мөн дээрээс нь хэвлэгчийн эд анги байнга хөдөлж эвдрэх магадлалтай байдаг болохоор хэвлэгчээ тордох нь бас үнэтэй билээ. Та хэвлэгчээ арчилж хуудас болгондоо (эсвэл хуудасны хэсэг бүрд, гарчиг бүрд, эсвэл юу ч байсан яахав) мөнгө тооцохыг хүсэв. Тэгэхээр та яаж хэвлэгдсэн хуудас болгонд мөнгө тооцож чадах вэ?
Гэхдээ, жаахан таагүй мэдээ нь юу вэ гэхээр LPD түр хадгалагч гуай иймэрхүү талын үйлчилгээ хийхдээ тун тааруу юм. Иймэрхүү бүртгэл тооцоо нь хэвлэгчээ хэрхэн ашиглахаас их хамаардаг бөгөөд хэвлэгдэх загвар, мөн таны хэвлэгчээсээ мөнгө олборлох шаардлагаас их шалтгаална.
Бүртгэл тооцоо хийхийн тулд та хэвлэгчийнхээ текст шүүлтүүрийг өөрчлөх хэрэгтэй (энгийн текст ажлаас мөнгө тооцохын тулд) бөгөөд мөн хувиргагч шүүлтүүрүүдийг бас (мөн бусад файл төрлүүдээс) өөрчлөх шаардлагатай. Энгийн шүүлтүүр ашиглаад та бүртгэл тооцоо хийж чадахгүй. Шүүлтүүр хэсгийг харна уу.
Ерөнхийдөө бүртгэл тооцоо хийж болох хоёр арга бий:
Үечлэн бүртгэл тооцох гэдэг бол тун амархан бөгөөд байнга хэрэглэгддэг арга. Хэн нэгэн хэвлэх үед хэрэглэгчийн нэр, компьютерийн нэр, мөн хэвлэсэн хуудасны дугаар зэргийг бүртгэл файлд хадгалдаг. Хэвлэгчдээ зориулсан нэгжийнх нь тооцоог та сараар, эсвэл жилээр, эсвэл өөрийнхөө заасан хугацаагаар хэрэглэгч бүрийн хувьд тохирсон жагсаалт авч болдог. Ингэж бүртгэл тооцоо хийгээд уг файлыг цэвэрлэж дараагийн үеэр нь мөн тооцоо хийхээр бэлтгэнэ.
Цагаар бүртгэж тооцох гэдэг нь жаахан хэцүү болохоор нэлээн бага хэрэглэгддэг. Энэ арганд хэрэглэгчдийг хэвлэж эхлэнгүүт тооцоо хийдэг шүүлтүүр байдаг. Дискний хэмжээ хязгаарлагчтай ижилхэн энэ бүртгэл тооцоо нь харьцангуй шулуухан гүйцэтгэгддэг. Та хэрэглэгчдийн бүртгэлд заагдсан хэмжээ дуусах дөхөхөөр хэвлүүлэхгүй болгож болохоос гадна хэрэглэгчдэд өөрсдийн «хэвлэх хувийг» шалгаж тохируулах боломжийг олгон тохируулж болох юм. Гэвч энэ арга нь хэрэглэгчийн бүртгэл болон тэдгээрийн хязгаарласан хэмжээг мөрдөхийн тулд зарим өгөгдлийн бааз руу хандах шаардлагатай байдаг.
Та шаардагдах шүүлтүүрүүдийг, мөн бүртгэж тооцоо хийх кодыг нь хангаж чадаж л байвал LPD түр хадгалагч систем нь өмнө тайлбарласан хоёр аргыг дэмждэг. Бүртгэж тооцох арганд бас онцгой тал байдаг. Жишээ нь та үечилж үү эсвэл цагаар тооцох уу гэдгээ сонгож болно. Та ямар мэдээллийг бүртгэж бичихээ сонгоно: хэрэглэгчийн нэр, компьютерийн нэр, хэвлэсэн төрөл, хэвлэгдсэн хуудасны тоо, загвар, хэр удаан хэрэглэсэн гэх мэт. Та шүүлтүүрүүдийг өөрчилж эдгээр мэдээллийг хадгалдаг болгох хэрэгтэй.
FreeBSD нь бүртгэл тооцоо хийхэд хэрэглэгдэх
хоёр үечлэн тооцоо хийдэг програмтай хамт ирдэг. Тэдгээр нь
lpf
текст шүүлтүүрүүд бөгөөд lpf: Текст шүүлтүүр
хэсэгт тайлбарлагдсан байгаа. Нөгөөх нь
pac(8) бөгөөд энэ нь хэвлэлтийн бүртгэл тооцоо хийх файлд буй
оруулгуудыг цуглуулдаг програм.
Шүүлтүүрийн хэсэгт тайлбарласны дагуу (Шүүлтүүрүүд),
LPD нь текст болон хувиргагч шүүлтүүрийг
бүртгэл файлтай нь хамт шүүлтүүрийн тушаалын мөрнөөс
эхлүүлдэг. Шүүлтүүр нь ингэж тушаалын мөрнөөс авсан
утгаар хаана бүртгэл файлд оруулах вэ гэдгээ мэддэг.
Энэ файлын нэр нь /etc/printcap
файл
доторх af
тохиргоонд заагдсан байдаг
ба хэрэв файлынх нь зам нь яг нарийвчилж заагдаагүй
байгаа бол түр хадгалагчийн сангийн байрлалтай харьцангуй хэлбэрээр
мөн зааж өгч болно.
LPD нь lpf
-г
хуудасны өргөн болон өндрийн утгатай нь
(pw
болон pl
тохиргуулаас авч) эхлүүлдэг. lpf
нь эдгээр утгыг
ашиглаж хичнээн хуудас хэвлэгдэх вэ гэдгийг тодорхойлдог.
Файлыг хэвлэгч рүү илгээсний дараа бүртгэл тооцооны файлд тооцоо
хийх утга нь оруулагддаг. Энэ оруулга нь дараах маягтай байдаг:
Та болж өгвөл хэвлэгч болгонд тус тусад нь бүртгэл тооцооны
файл хөтлөх хэрэгтэй. Учир нь
lpf
-д ямар ч түгжиж зохицуулдаг шинж
чанар байхгүй болохоор хоёр
lpf
-ууд нэг файлд хандах тохиолдолд
мөргөлдөөн үүсэж болзошгүй. Тус тусад нь бүртгэл тооцооны
файл хөтлөх амар арга бол /etc/printcap
дотор
af=acct
гэсэн тохиргоог оруулах хэрэгтэй.
Дараа нь хэвлэгчид зориулсан түр хадгалах сан бүрд
acct
гэсэн файл хөтлөгдөх болно.
Хэрэглэгчдээс хэвлэлтийн төлбөрийг шаардах үедээ
pac(8) програмыг ажиллуулах хэрэгтэй.
Тооцоо хийх хэвлэгчийнхээ түр хадгалах санд оронгуутаа
pac
гэсэн тушаал ажиллуулахад болно.
Дараа нь доллараар тооцсон дараах маягийн үр дүнг харах болно:
pac(8)-тай хамт хавсруулж хэрэглэдэг сонголтуудыг жагсааж харуулъя:
-Pхэвлэгч
Энэ нь тооцоо бодох хэвлэгч
ийг зааж өгнө.
/etc/printcap
файл доторх
af
сонголтод яг нарийвчилсан файлын зам
зааж өгсөн үед л энэ нь хэрэгждэг.
-c
Хэрэглэгчдийн нэрээр биш үнээр нь эрэмбэлж харуулдаг.
-m
Тооцоо хийх файлаас компьютерийн нэрийг алгасаж харуулдаг.
Ийм үед alpha
компьютер дээрх
smith
нэртэй хэрэглэгч gamma
компьютер дээрх
smith
нэртэй хэрэглэгчээс ялгардаггүй.
-pүнэ
/etc/printcap
файлд буй
pc
тохируулгад зааж өгсөн үнийн оронд
нэгж хуудас болгоныг үнэ
ээр
үнэлж доллараар тооцдог бөгөөд эсвэл хоёр центээр (
анхдагч хэмжээ нь) тооцно. Та энэ үнэ
-г
бутархай тоон хэлбэрээр бас бичиж болно.
-r
Эрэмбэлэх дарааллыг эсрэгээр үйлдэнэ.
-s
Төлбөр тооцооны дүгнэсэн хуудас үүсгэж бүртгэл тооцооны файлыг богиносгодог.
хэрэглэгч
…
Зөвхөн зааж өгсөн
хэрэглэгчийн
бүртгэл тооцоог харуулна.
pac(8) боловсруулсан анхдагч тооцоонд
янз бүрийн компьютераас хэвлэсэн хэрэглэгч бүрд хуудасных нь
дугаарыг харуулдаг. Хэрэв танд компьютерийн нэр харуулах
шаардлага байхгүй (хэрэглэгч янз бүрийн машинаас хэвлэсэн
байж болно) гэж үзвэл pac
гэсэн тушаалаар
доорх маягаар үр дүнг харах болно:-m
Долларын хэмжээг тооцохын тулд
pac(8) нь /etc/printcap
доторх
pc
тохиргооны утгыг ашигладаг
(анхдагч утга нь хуудас болгонд 200, эсвэл 2 цент гэж байдаг).
Энэ тохируулгад хуудас бүрд юм уу эсвэл алхам бүрд тооцох центүүдийг
зааж өгдөг. Та энэ утгыг pac(8)-г ажиллуулахдаа
-p
гэсэн хавсралт сонголтоор дарж хэрэглэж
болдог. -p
сонголтод хэрэглэх утга нь
центээр биш доллараар байх ёстой. Жишээ нь,
#
pac -p1.50
гэснээр хуудас бүр нэг доллар тавин цент болж байна. Та энэ тохиргоог ашиглаж үнэхээр ашиг олж болох юм шүү.
Эцэст нь pac
гэж тушааснаар
дүгнэсэн тооцоог дүнгийн бүртгэл файл уруу хадгалах бөгөөд
энэ файл нь хэвлэгчийн тооцооны файлын нэрийн ард нь -s
_sum
гэж залгагдсан нэртэй файл болж хадгалагдана. Дараа нь бүртгэлийн файлыг
богиносгодог. Хэрэв та pac(8)-г дахин ажиллуулбал энэ нь
дүгнэлт файлаас нийт утгыг уншиж аваад ердийн тооцооны файлаас авсан утган дээр
нэмээд ерөнхий нийт нийлбэрийг харуулах болно.
Бүр алсаас бүртгэл хийлтийг зөв хийж гүйцэтгэхийн тулд ажил хэр их цаас ашигладгийг та тодорхойлж чаддаг байх хэрэгтэй. Энэ нь хэвлэгчийн бүртгэл хийлтийн үндсэн асуудал юм.
Цэвэр текст ажлуудын хувьд энэ асуудлыг шийдэх нь тийм ч хэцүү биш юм: та ажилд хичнээн мөр байгааг тоолж тэр тоогоо таны хэвлэгч нэг хуудсандаа хичнээн мөрийг дэмждэгтэй харьцуулах хэрэгтэй. Мөрүүдийг давхар хэвлэдэг файл дахь устгах тэмдэгтүүд эсвэл нэг буюу хэд хэдэн нэмэлт мөрүүд болдог урт логик мөрүүдийг бодолцохоо мартуузай.
Текст шүүлтүүр lpf
(lpf: Текст шүүлтүүр хэсэгт
танилцуулагдсан) нь бүртгэл хийхдээ эдгээр зүйлсийг бодолцдог. Бүртгэл хийх хэрэгтэй
текст шүүлтүүр та бичиж байгаа бол lpf
-ийн эх кодыг та
магадгүй үзэхийг хүсэж болох юм.
Тэгэхээр та бусад файлын хэлбэршилтүүдтэй хэрхэн ажиллах вэ?
DVI-аас-LaserJet эсвэл DVI-аас-PostScript® руу хийх хөрвүүлэлтийн
хувьд dvilj
эсвэл dvips
тушаалаас гарах оношлогооны гаралтыг та өөрийн шүүлтүүрээр оруулж
хичнээн хуудаснууд хөрвүүлэгдсэнийг хайж олж болох юм. Бусад файлын хэлбэршилтүүд
болон хөрвүүлэх програмуудын хувьд та эдгээртэй төстэй зүйлсийг хийж чадах
ёстой.
Гэхдээ хэвлэгч нь тэдгээр бүх хуудаснуудыг жинхэнэдээ хэвлэхгүй байж болох сул тал энэ аргуудад ажиглагддаг. Жишээ нь цаас гацах, хор дуусах, эсвэл дэлбэрсэн хэр нь хэрэглэгчид төлбөр ноогдуулсан хэвээр байж болох зэргийг дурдаж болох юм.
Тэгэхээр та юу хийж чадах вэ?
Зөв бүртгэл хийх цорын ганц найдвартай арга байдаг. Хичнээн цаас ашигладаг болохоо хэлж чаддаг хэвлэгч аваад цуваа шугамаар юм уу эсвэл сүлжээгээр залгах хэрэгтэй. Бараг бүх PostScript® хэвлэгчүүд үүнийг дэмждэг. Бусад загварууд бас ингэж чаддаг (жишээ нь сүлжээнд холбогдсон Imagen laser хэвлэгчүүд). Хэвлэгчүүдийг ажил бүрийг хэвлэснийхээ дараа хуудасныхаа хэрэглээг авч зөвхөн тэр утга дээрээ үндэслэн бүртгэлийн мэдээллээ бүртгүүлдэг болгохын тулд эдгээр хэвлэгчүүдийн хувьд шүүлтүүрүүдийг өөрчлөх хэрэгтэй. Мөр тоолох эсвэл алдаагүй файл шалгалт шаардлагагүй юм.
Мэдээж та үргэлж өгөөмөр байж бүх хэвлэлтийг үнэгүй болгож болох юм.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.