Path: blob/main/documentation/content/ja/books/handbook/printing/_index.adoc
18098 views
---
title: 第9ç« ããªã³ã¿ã®å©çš
part: ããŒãII. æ¥ã
ã®ç掻
prev: books/handbook/kernelconfig
next: books/handbook/linuxemu
showBookMenu: true
weight: 12
params:
path: "/books/handbook/printing/"
---
[[printing]]
= ããªã³ã¿ã®å©çš
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 9
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/printing/
ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]
ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
[[printing-synopsis]]
== ãã®ç« ã§ã¯
FreeBSD ã¯å€ãã€ã³ãã¯ãããªã³ã¿ããææ°ã®ã¬ãŒã¶ãŒããªã³ã¿ãŸã§å¹
åºãããªã³ã¿ãå©çšã§ãã å®è¡ããŠããã¢ããªã±ãŒã·ã§ã³ããé«å質ãªå°å·åºåãè¡ããŸãã
FreeBSD ã¯ãããã¯ãŒã¯äžã®ããªã³ã¿ãµãŒããšããŠåäœããããã«èšå®ããããšãã§ããŸãã ãã®æ©èœã¯ãä»ã® FreeBSD ã³ã³ãã¥ãŒã¿ããWindows(R) ã Mac OS(R) ãã¹ãããå°å·ãžã§ããåãåãããšãã§ããŸãã FreeBSD ã¯å°å·ãžã§ãã 1 ã€ãã€åŠçããããšãä¿èšŒããŸãã ãŸããã©ã®ãŠãŒã¶ããã·ã³ãæãå€ãå°å·ããŠãããã®çµ±èšãåãã ã©ã®å°å·ç©ã誰ã®ç©ã衚瀺ãã "ãããŒ" ããŒãžã®äœæãªã©ãè¡ãããšãã§ããŸãã
ãã®ç« ãèªãã°ä»¥äžã®ããšãããããŸãã
* FreeBSD ããªã³ãã¹ããŒã©ã®èšå®æ¹æ³ã
* å
¥åããã¥ã¡ã³ããããªã³ã¿ãæ±ããå°å·ãã©ãŒããããžå€æãããªã©ãšãã£ãã ç¹å¥ãªå°å·ãžã§ããå¥ã«åãæ±ãããã®å°å·ãã£ã«ã¿ã®ã€ã³ã¹ããŒã«æ¹æ³ã
* å°å·ç©ãžã®ãããããããŒã®é©ç𿹿³ã
* ä»ã®ã³ã³ãã¥ãŒã¿ã«æ¥ç¶ãããããªã³ã¿ã§å°å·ããæ¹æ³ã
* ãããã¯ãŒã¯ã«çŽæ¥æ¥ç¶ãããããªã³ã¿ã§å°å·ããæ¹æ³ã
* å°å·ãžã§ãã®äžéãµã€ãºãç¹å®ã®ãŠãŒã¶ããã®å°å·æåŠãšãã£ãã ããªã³ã¿ã®å¶éã®å¶åŸ¡æ¹æ³ã
* å°å·ã®çµ±èšãšããªã³ã¿ã®äœ¿çšç¶æ³ã®ååŸæ¹æ³ã
* å°å·åé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°æ¹æ³ã
ãã®ç« ãèªã¿å§ããåã«ä»¥äžãæžãŸããŠãããŠãã ããã
* æ°ããã«ãŒãã«ã®èšå®ãšã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠçè§£ããããš (crossref:kernelconfig[kernelconfig,FreeBSD ã«ãŒãã«ã®ã³ã³ãã£ã°ã¬ãŒã·ã§ã³])ã
[[printing-intro-spooler]]
== ã¯ããã«
FreeBSD ã§ããªã³ã¿ã䜿ãããã«ããããã LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã ãŸãã¯åã« LPD ãšããŠãç¥ããã Berkeley ã©ã€ã³ããªã³ã¿ã¹ããŒãªã³ã°ã·ã¹ãã ã§åäœããããã«èšå®ã§ããŸãã ãã㯠FreeBSD ã§ã®æšæºçãªããªã³ã¿å¶åŸ¡ã·ã¹ãã ã§ãã ãã®ç« ã§ã¯ãLPD ã玹ä»ãã ãã®èšå®æ¹æ³ã«ã€ããŠèª¬æããŸãã
ããªãããã§ã« LPD ããã®ä»ã®ããªã³ã¿ã¹ããŒãªã³ã°ã·ã¹ãã ã«è©³ããã®ãªãã <<printing-intro-setup,åºæ¬çãªèšå®>> ãŸã§èªã¿é£ã°ããŠãããŸããŸããã
LPD ã¯ãã¹ãã®ããªã³ã¿ã«é¢ããããããããšãå¶åŸ¡ããŸãã ããã§èšãå¶åŸ¡ãšããŠã¯ã次ã®ããšããããããŸãã
* ãã¹ãã«æ¥ç¶ãããããªã³ã¿ã ãããã¯ãããã¯ãŒã¯äžã®ä»ãã¹ãã«æ¥ç¶ãããããªã³ã¿ã«å¯Ÿããã¢ã¯ã»ã¹å¶åŸ¡ãè¡ãªããŸãã
* ãã¡ã€ã«ãããªã³ãããèŠæ±ã«å¯ŸããŠèš±å¯ãäžããŸãã ãã®èŠæ±ã¯ç¹ã«__ãžã§ã__ãšåŒã°ããŠããŸãã
* åã
ã®ããªã³ã¿ã®__ãã¥ãŒ__ã管çããããšã«ããã è€æ°ã®ãŠãŒã¶ãããããªã³ã¿ã«å¯ŸããŠåæã«ã¢ã¯ã»ã¹ããããšãé²ããŸãã
* __ãããããŒãž__ (__ãããŒ__ãŸã㯠__ããŒã¹ã__ããŒãžãšããŠãç¥ãããŠããŸã) ãããªã³ãããããšãã§ããŸãã ããã«ããã ããªã³ãã¢ãŠãã®å±±ã®äžããèªåãããªã³ããããžã§ããèŠã€ãããããªããŸãã
* ã·ãªã¢ã«ããŒãã«æ¥ç¶ããããªã³ã¿çšã«éä¿¡ãã©ã¡ãŒã¿ã管çããŸãã
* ãããã¯ãŒã¯çµç±ã§ä»ã®ãã¹ãäžã® LPD ã¹ããŒã©ã«ãžã§ããéãããšãã§ããŸãã
* æ§ã
ãªããªã³ã¿èšèªãããªã³ã¿ã®èœåã«å¿ããŠãžã§ãã®åœ¢åŒãæŽããããã ç¹å¥ãªãã£ã«ã¿ãèµ·åããããšãã§ããŸãã
* ããªã³ã¿ã®äœ¿çšã«å¯ŸããŠèª²éãè¡ãªãããšãã§ããŸãã
èšå®ãã¡ã€ã« ([.filename]#/etc/printcap#) ãéããŠãå°çšã®ãã£ã«ã¿ããã°ã©ã ãçšããããšã«ããã å€çš®å€æ§ãªããªã³ã¿æ©åšã«å¯ŸããŠãäžè¿°ã®æ©èœã®å
šéšãŸãã¯äžéšã LPD ã·ã¹ãã ã«è¡ãªãããããšãã§ããŸãã
[[printing-intro-why]]
=== ã©ãããŠã¹ããŒã©ã䜿ãã¹ããªã®ã
ããªãã®ã·ã¹ãã ãå©çšããã®ãããªãäžäººã ãã ãšããŠãã ã¹ããŒã©ã¯æçšã§ããã䜿çšãã¹ãã§ãããã®çç±ã¯ä»¥äžã®ãšããã§ãã
* LPD ã¯ãžã§ããããã¯ã°ã©ãŠã³ãã§åŠçããŸãã ããŒã¿ãããªã³ã¿ã«éä¿¡ããããŸã§åŸ
ã€å¿
èŠããªããªããŸãã
* LPD ã§ã¯ãžã§ãããã£ã«ã¿ãéããŠããªã³ãããããšãç°¡åã«ã§ããŸãã ããã«ãããå°å·ç©ã®ãããã«æå»ãæ¥ä»ãå
¥ãããã ç¹å¥ãªãã¡ã€ã«åœ¢åŒ (TeX ã® DVI ãã¡ã€ã«ãªã©) ãããªã³ã¿ãåŠçã§ãã圢åŒã«å€æŽããããšãã§ãã ãããã®äœæ¥ãæåã§è¡ãªãå¿
èŠããªããªããŸãã
* ããªã³ãåŠçãè¡ãªãããªãŒã ãŸãã¯åçšã®ããã°ã©ã ã®ã»ãšãã©ã¯ã ã·ã¹ãã ã®ã¹ããŒã©ãšãããšãããããã«äœãããŠããŸãã ã¹ããŒãªã³ã°ã·ã¹ãã ãã»ããã¢ããããããšã§ã ä»åŸå ãããããããªãããããã¯ã ãã§ã«æã£ãŠããå¥ã®ãœãããŠã§ã¢ãããç°¡åã«ãµããŒãããããšãã§ããã§ãããã
[[printing-intro-setup]]
== åºæ¬çãªèšå®
LPD ã¹ããŒãªã³ã°ã·ã¹ãã ãçšããŠããªã³ã¿ã䜿çšããããã«ã¯ã ããªã³ã¿æ©åšãš LPD çšãœãããŠã§ã¢ã®äž¡æ¹ãæºåããå¿
èŠããããŸãã æ¬ææžã§ã¯æ¬¡ã®äºæ®µéã®ã¬ãã«ã«åããŠèª¬æãããŸãã
* ããªã³ã¿ãæ¥ç¶ããæ¹æ³ã ããªã³ã¿ã«ã©ã®ããã«éä¿¡ãããã LPD ã«æç€ºããæ¹æ³ãã ãã¬ã€ã³ããã¹ããããªã³ã¿ã§å°åããæ¹æ³ã«ã€ããŠã¯ã <<printing-simple,ããªã³ã¿ã®ç°¡åãªèšå®>>ãã芧ãã ããã
* æ§ã
ãªåœ¢åŒã®ãã¡ã€ã«ãå°åããæ¹æ³ã ãããããŒãžãå°åããæ¹æ³ã ãããã¯ãŒã¯çµç±ã§ããªã³ã¿ã«å°åããæ¹æ³ã ããªã³ã¿ãå¶åŸ¡ããæ¹æ³ã ããªã³ã¿ã®äœ¿çšã«å¯Ÿãã課éãè¡ãªãæ¹æ³ã«ã€ããŠã¯<<printing-advanced,ããªã³ã¿èšå®äžçŽç·š>>ãã芧ãã ããã
[[printing-simple]]
=== ããªã³ã¿èšå®å°å
¥ç·š
ãã®ç¯ã§ã¯ãããªã³ã¿æ©åšãããªã³ã¿ã䜿çšããããã® LPD çšãœãããŠã§ã¢ãèšå®ããæ¹æ³ã«ã€ããŠè¿°ã¹ãŸãã ãã®ç¯ã®æŠèŠã¯æ¬¡ã®ãšããã§ãã
* <<printing-hardware,ããªã³ã¿æ©åšã®èšå®>>ã§ã¯ã ããªã³ã¿ãã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããããã®ãã³ããããã€ãæžãããŠããŸãã
* <<printing-software,ãœãããŠã§ã¢ã®èšå®>>ã§ã¯ã LPD ã®ã¹ããŒã©èšå®ãã¡ã€ã« ([.filename]#/etc/printcap#) ã®èšå®æ¹æ³ã«ã€ããŠæžãããŠããŸãã
ããŒã¿ãããªã³ã¿ã«éãã®ã«ã³ã³ãã¥ãŒã¿ã®ããŒã«ã«ã€ã³ã¿ãã§ãŒã¹ã§ã¯ãªãã ãããã¯ãŒã¯ãããã³ã«ã䜿çšããå Žåã¯ã <<printing-advanced-network-net-if, ãããã¯ãŒã¯ã«ãããããŒã¿ã¹ããªãŒã ã€ã³ã¿ãã§ãŒã¹ãæã€ããªã³ã¿>>ãã芧ãã ããã
ãã®ç¯ã®ã¿ã€ãã«ã¯ "ããªã³ã¿èšå®å°å
¥ç·š" ã§ããã å®éã®èšå®ã¯ããªãè€éã§ãã ããªã³ã¿ãã³ã³ãã¥ãŒã¿ã«æ¥ç¶ãã LPD ã¹ããŒã©ãèµ·åãããããšã¯äžçªå°é£ãªäœæ¥ã§ãã ãããããŒãžãåºåãããã課éããããããªãã·ã§ã³ã®èšå®ã¯ã äžåºŠããªã³ã¿ãããŸãåãããã«ãªãã°ãšãŠãç°¡åã§ãã
[[printing-hardware]]
==== ããªã³ã¿æ©åšã®èšå®
ãã®ç¯ã§ã¯ãããªã³ã¿ã« PC ãæ¥ç¶ããããã®æ§ã
ãªæ¹æ³ã«ã€ããŠèª¬æããŠããŸãã ããã§ã¯ãããŒããã±ãŒãã«ã®çš®é¡ã FreeBSD ãããªã³ã¿ãšã®éä¿¡ã«å¿
èŠãªã«ãŒãã«ã³ã³ãã£ã°ã¬ãŒã·ã§ã³ã«ã€ããŠãèšåããŠããŸãã
ããããªã³ã¿ãæ¢ã«æ¥ç¶ãããŠããŠã ä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã äžã§ããªã³ã¿ããã®å°åã«æåããŠããå Žåã¯ã <<printing-software,ãœãããŠã§ã¢ã®èšå®>>ãŸã§èªã¿é£ã°ãããšãå€åã§ããã§ãããã
[[printing-ports]]
===== ããŒããšã±ãŒãã«
仿¥ PC çšã«å£²ãããŠããããªã³ã¿ã«ã¯éåžžã æ¬¡ã® 3 ã€ã®ã€ã³ã¿ãã§ãŒã¹ã®ãã¡ãã©ãã 1 ã€ä»¥äžãã€ããŠããŸãã
* __ã·ãªã¢ã«__ã€ã³ã¿ãã§ãŒã¹ (RS-232 ãŸã㯠COM ããŒããšãåŒã°ããŸã) ã¯ã ã³ã³ãã¥ãŒã¿ã«ããã·ãªã¢ã«ããŒãã䜿ã£ãŠããªã³ã¿ã«ããŒã¿ãéä¿¡ããŸãã ã·ãªã¢ã«ã€ã³ã¿ãã§ãŒã¹ã¯ã³ã³ãã¥ãŒã¿æ¥çã§å
±éããŠäœ¿çšãããŠããŸãã ãã®ã±ãŒãã«ã¯å®¹æã«æã«å
¥ããŸãããç°¡åã«èªäœããããšãã§ããŸãã ã·ãªã¢ã«ã€ã³ã¿ãã§ãŒã¹ã®å Žåã¯æã
ã ç¹å¥ãªã±ãŒãã«ãäœãè€éãªéä¿¡æ¹åŒéžæã®èšå®ãå¿
èŠã«ãªãããšããããŸãã ã»ãšãã©ã® PC ã®ã·ãªã¢ã«ããŒãã¯éä¿¡é床ãæå€§ã§ 115200 bps ã§ããã 倧ããªç»åãå°å·ããã®ã«ã¯å®çšçã§ã¯ãããŸããã
* __ãã©ã¬ã«__ã€ã³ã¿ãã§ãŒã¹ã§ã¯ããªã³ã¿ã«ããŒã¿ãéä¿¡ããããã«ã ã³ã³ãã¥ãŒã¿ã«ãããã©ã¬ã«ããŒãã䜿çšããŸãã ãã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã¯ PC æ¥çã§ã¯ãã䜿ãããŠããã RS-232 ã·ãªã¢ã«ãããéãã§ãã ã±ãŒãã«ã®å
¥æã¯å®¹æã§ããã èªäœããã®ã¯ã·ãªã¢ã«ãããå°é£ã§ãã ãã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã«ã¯éåžžãéä¿¡æ¹åŒã®éžæã¯ãªãã èšå®ã¯æ¥µããŠåçŽã§ãã
+
ãã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã¯ "ã»ã³ãããã¯ã¹" ã€ã³ã¿ãã§ãŒã¹ãšããŠç¥ãããŠããŸãã ããã¯ãããªã³ã¿çšã®ã³ãã¯ã¿ã¿ã€ããšããŠæ¡çšãããåŸã«åä»ããããŸããã
* USB ã€ã³ã¿ãã§ãŒã¹ã¯ãUniversal Serial Bus (æ±çšã·ãªã¢ã«ãã¹) ã®ç¥ã§ããã©ã¬ã«ã RS-232 ã·ãªã¢ã«ããããã«éãåäœããŸãã ã±ãŒãã«ã¯åçŽã§å®äŸ¡ã§ããUSB ã¯ãå°å·ç®çã«ã¯ RS-232 ã·ãªã¢ã«ããã©ã¬ã«ãããåããŠããŸãããUNIX(R) ã·ã¹ãã ã§ã¯åå察å¿ãããŠããŸããã ãã®åé¡ãåé¿ããæãšããŠã¯ãå€ãã®ããªã³ã¿ãããã§ããã USB ãšãã©ã¬ã«ã®äž¡æ¹ã®ã€ã³ã¿ãã§ãŒã¹ãåããããªã³ã¿ã賌å
¥ããããšãæããããŸãã
ãã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã§ã¯ãæ®é㯠(ã³ã³ãã¥ãŒã¿ããããªã³ã¿ãžã®) åæ¹åéä¿¡ã®ã¿ãè¡ãªãã®ã«å¯ŸããŠã ã·ãªã¢ã«ããã³ USB ã€ã³ã¿ãã§ãŒã¹ã¯åæ¹åéä¿¡ãè¡ãªããŸãã FreeBSD ã§ã IEEE1284 æºæ ã®ã±ãŒãã«ã䜿ãã°ã æè¿ã®ãã©ã¬ã«ããŒã (EPP ã ECP) ãšããªã³ã¿ã®å€ãã§åæ¹åéä¿¡ãè¡ãªãããšãã§ããŸãã
ãã©ã¬ã«ããŒãçµç±ã®ããªã³ã¿ãšã®åæ¹åéä¿¡ã«ã¯ã éåžž 2 ã€ã®æ¹æ³ã®ã©ã¡ããã䜿ãããŸããäžã€ç®ã®æ¹æ³ã¯ã ããªã³ã¿ã䜿çšããŠãããããã©ã€ãšã¿ãªãªèšèªã話ã FreeBSD çšã«äœæãããããªã³ã¿ãã©ã€ãã䜿ããã®ã§ãã ããã¯ã€ã³ã¯ãžã§ããããªã³ã¿ã§ã¯ãã䜿ãããæ¹æ³ã§ã ã€ã³ã¯ã®æ®éããã®ä»ã®ç¶æ
ã®æ
å ±ãç¥ãããã®ã«äœ¿ããŸãã äºã€ç®ã®æ¹æ³ã¯ãããªã³ã¿ã PostScript(R) ã«å¯Ÿå¿ããŠããæã«äœ¿ãããŸãã
PostScript(R) ãžã§ãã¯ãå®éã«ã¯ããªã³ã¿ã«éä¿¡ãããããã°ã©ã ã§ãã å°åäœæ¥ãè¡ãå¿
èŠã¯å¿
ãããããŸãããã ããã°ã©ã ã®çµæãçŽæ¥ã³ã³ãã¥ãŒã¿ã«è¿ããŠãããã®ã§ãã PostScript(R) ããªã³ã¿ã§ã¯åæ¹åéä¿¡ã䜿ã£ãŠ PostScript(R) ããã°ã©ã ã®ãšã©ãŒãçŽã¥ãŸããšãã£ãåé¡ãã³ã³ãã¥ãŒã¿ã«å ±åããŸãã ãŠãŒã¶ã¯ãããã®æ
å ±ãç¥ããããšæãããç¥ããŸããã ãŸããPostScript(R) ããªã³ã¿ã§èª²éäœæ¥ããã£ãšãå¹çããè¡ãªãããã«ã¯ã åæ¹åéä¿¡ãå¿
èŠãšãªããŸãã ãã®æ¹æ³ã§ã¯ãŸããããªã³ã¿ã®çŸåšã®ããŒãžã«ãŠã³ã (èµ·åããŠããä»ãŸã§äœæã®çŽãå°åããã) ã®æ
å ±ãåŸãŸãã æ¬¡ã«ããŠãŒã¶ã®ãžã§ããå®è¡ããçµäºåŸãåã³ããŒãžã«ãŠã³ããåŸãŸãã ãã®äºã€ã®æ°ãå·®ã«ãã£ãŠã 課é察象ãšãªãçŽã®ææ°ãç¥ãããšãã§ããã®ã§ãã
[[printing-parallel]]
===== ãã©ã¬ã«ããŒã
ããªã³ã¿ããã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã䜿ã£ãŠæ¥ç¶ããå Žåã¯ã ã»ã³ãããã¯ã¹ã±ãŒãã«ã§ããªã³ã¿ãšã³ã³ãã¥ãŒã¿ãæ¥ç¶ããŠãã ããã 詳ãã説æã¯ããªã³ã¿ãã³ã³ãã¥ãŒã¿ã«ä»å±ããèª¬ææžã«æžãããŠããã¯ãã§ãã
ãã®éã ã©ã®ãã©ã¬ã«ããŒãã䜿çšããããèŠããŠãããŠãã ããã FreeBSD ã§ã¯æåã®ããŒã㯠[.filename]#ppc0#ã äºçªç®ã [.filename]#ppc1# ã§ããã äžçªç®ä»¥éãåæ§ã«ç¶ããŸãã ããªã³ã¿ã®ããã€ã¹åã«ãåã圢åŒã䜿ãããŠããã æåã®ãã©ã¬ã«ããŒãã«æ¥ç¶ãããããªã³ã¿ã¯ [.filename]#/dev/lpt0# ãªã©ãšãªããŸãã
[[printing-serial]]
===== ã·ãªã¢ã«ããŒã
ã·ãªã¢ã«ã€ã³ã¿ãã§ãŒã¹ã䜿ã£ãŠããªã³ã¿ã䜿ãå Žåã¯ã é©åãªã·ãªã¢ã«ã±ãŒãã«ã§ããªã³ã¿ãšã³ã³ãã¥ãŒã¿ãæ¥ç¶ããŠãã ããã 詳ãã説æã¯ããªã³ã¿ãã³ã³ãã¥ãŒã¿ããããã¯äž¡æ¹ã«ä»å±ãã説 ææžã«æžãããŠããã¯ãã§ãã
"é©åãªã·ãªã¢ã«ã±ãŒãã«" ãè¯ãããããªããšãã¯ã 次ã®ã©ããã詊ããŠã¿ãŠãã ããã
* __ã¢ãã __çšã±ãŒãã«ã§ã¯ã ããããã®ãã³ã¯ä»æ¹ã®ã³ãã¯ã¿ã®å¯Ÿå¿ãããã³ãšç·ã§ã€ãªãã£ãŠããŸãã ãã®ã¿ã€ãã®ã±ãŒãã«ã¯ "DTE-DCE" éã±ãŒãã«ãšããŠãç¥ãããŠããŸã (蚳泚: æ¥æ¬ã§ã¯ã¹ãã¬ãŒãã±ãŒãã«ãšããååã§å£²ãããŠããŸã)ã
* __ãã«ã¢ãã __çšã±ãŒãã«ã§ã¯ã ãããã³ã¯å¯Ÿå¿ãããã³ãšãæ¥ç¶ããŠããŸããã ãããã³ (ããšãã°ãããŒã¿éä¿¡çšãšããŒã¿åä¿¡çšã®ãã³) ã亀差ããŠæ¥ç¶ãããã ããã€ãã®ãã³ã¯å
éšã§ç絡ããŠãããããŸãã ãã®ã¿ã€ãã®ã±ãŒãã«ã¯ã "DTE-DTE" éã±ãŒãã«ãšåŒã°ããŠããŸã (蚳泚: æ¥æ¬ã§ã¯ã¯ãã¹ã±ãŒãã«ãšããååã§å£²ãããŠããŸã)ã
* A __ã·ãªã¢ã«ããªã³ã¿__çšã±ãŒãã«ã¯ã ããç¹å®ã®ããªã³ã¿ã§å¿
èŠãšããããã®ã§ãã ãã«ã¢ãã ã±ãŒãã«ãšäŒŒãŠããŸããã å
éšã§ç絡ããã代ããã«ã ããä¿¡å·ã仿¹åŽã«éãããã«äœ¿çšããŠããŸãã
ãã®ä»ã«ã ããªã³ã¿çšã®éä¿¡ãã©ã¡ãŒã¿ãèšå®ããå¿
èŠããããŸãã éåžžãããªã³ã¿ã®ããã³ãããã«ã DIP ã¹ã€ããã«ãã£ãŠå¶åŸ¡ããŸãã ã³ã³ãã¥ãŒã¿ãšããªã³ã¿ã®åæ¹ã§èšå®ã§ããæé«ã®éä¿¡é床 [bps] (ããã/ç§ã __ããŒã¬ãŒã__ãšç€ºãããŠãããšãããã) ãéžãã§ãã ããããããŠãããŒã¿ããã (7 ãŸã㯠8)ã ããªã㣠(å¶/å¥/ãªã)ãã¹ãããããã (1 ãŸã㯠2) ãéžãã§ãã ããã ãããŠããããŒã³ã³ãããŒã«ã®æç¡ (å¶åŸ¡ãªãããŸã㯠XON/XOFF ("ã€ã³ã»ãã³ã" ãŸã㯠"ãœãããŠã§ã¢" ãããŒã³ã³ãããŒã«ãšãåŒã°ãã)) ãéžã³ãŸãã 以äžã«ç¶ããœãããŠã§ã¢ã®èšå®ã®ããã«ã ããã§ã®èšå®ãèŠããŠãããŠãã ããã
[[printing-software]]
==== ãœãããŠã§ã¢ã®èšå®
æ¬ç¯ã§ã¯ FreeBSD ã® LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã§å°åããããªãããã« å¿
èŠãšãªããœãããŠã§ã¢ã®èšå®ã«ã€ããŠèª¬æããŠããŸãã
æ¬ç¯ã®æŠèŠã¯æ¬¡ã®ããã«ãªããŸãã
[.procedure]
====
. ããªã³ã¿ã§äœ¿çšããããŒãã®ããã«ãå¿
èŠãããã°ã ã«ãŒãã«ã®æžãå€ãããããªããŸããã<<printing-kernel,ã«ãŒãã«ã®å€æŽ>>ãã§ã ãã®ããã«ããªããŠã¯ãªããªãããšã説æããŠããŸãã
. ãã©ã¬ã«ããŒãã䜿çšããŠããå Žåã¯ã ãã©ã¬ã«ããŒãã®ããã®éä¿¡ã¢ãŒããèšå®ããŸãã 詳现ã¯ã ã<<printing-parallel-port-mode, ãã©ã¬ã«ããŒãã®éä¿¡ã¢ãŒããèšå®ãã>>ã ã§èª¬æããŠããŸãã
. ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããããªã³ã¿ã«ããŒã¿ãéã ããŠãããããã¹ãããŸããã<<printing-testing,ããªã³ã¿ãšã®éä¿¡ç¶æ³ã調ã¹ã>>ãã§ã ã©ã®ããã«ãã¹ããããã®ææ¡ãããã€ããããªã£ãŠããŸãã
. ãã¡ã€ã«[.filename]##/etc/printcap##ã倿Žãã LPD ã®èšå®ããããªããŸãã ãã®ç¯ã§ãã©ã®ããã«å€æŽãããã説æããŠããŸãã
====
[[printing-kernel]]
===== ã«ãŒãã«ã®å€æŽ
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã«ãŒãã«ã® ã³ã³ãã€ã«ããããªãããšã«ãã£ãŠã æå®ãããããã€ã¹ãæ©èœããããã«ãªããŸããã·ãªã¢ã«ã ãŸãã¯ããã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ãããªã³ã¿ã§äœ¿çšããå Žåã å¿
èŠãªããã€ã¹ããã®æå®ã®äžã«å«ãŸããŠããªããŠã¯ãªããŸããã ãããã£ãŠã å¿
èŠãªããã€ã¹ãã«ãŒãã«ã«çµã¿èŸŒãŸããŠããªãå Žåã 远å ã®ã·ãªã¢ã«ããŸãã¯ããã©ã¬ã«ããŒãããµããŒãããããã«ã ã«ãŒãã«ã®åã³ã³ãã€ã«ãå¿
èŠãšãªããããããŸããã
ã·ãªã¢ã«ããŒããçŸåšäœ¿çšããŠããã«ãŒãã«ã§ ãµããŒããããŠãããã©ããã調ã¹ãããã«ã¯ã 次ã®ããã«å
¥åããŸãã
[source,shell]
....
# grep sioN /var/run/dmesg.boot
....
ããã§ã_N_ ã¯ã·ãªã¢ã«ããŒãã®çªå·ã瀺ãããã®çªå·ã¯ 0 ããå§ãŸããŸãã æ¬¡ã®ãããªåºåããã£ãå Žåã ã«ãŒãã«ã¯ãã®ããŒãããµããŒãããŠããŸãã
[source,shell]
....
sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
....
ãã©ã¬ã«ããŒããçŸåšäœ¿çšããŠããã«ãŒãã«ã§ ãµããŒããããŠãããã©ããã調ã¹ãããã«ã¯ã 次ã®ããã«å
¥åããŸãã
[source,shell]
....
# grep ppcN /var/run/dmesg.boot
....
ããã§ã_N_ ã¯ãã©ã¬ã«ããŒãã®çªå·ã瀺ãããã®çªå·ã¯ 0 ããå§ãŸããŸãã æ¬¡ã®ãããªåºåããã£ãå Žåã ã«ãŒãã«ã¯ãã®ããŒãããµããŒãããŠããŸãã
[source,shell]
....
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
....
äžèšã®åºåãåŸãããªãå Žåãããªã³ã¿ã䜿ãããã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã©ã¬ã«ããŸãã¯ã ã·ãªã¢ã«ããŒããèªèãã䜿çšã§ããããã«ããããã«ã¯ ã«ãŒãã«ã倿Žããå¿
èŠããããŸãã
ã·ãªã¢ã«ããŒãããµããŒããããã«ã¯ããcrossref:kernelconfig[kernelconfig, FreeBSD ã«ãŒãã«ã®ã³ã³ãã£ã°ã¬ãŒã·ã§ã³]ãã®ç¯ãã芧ã ã ããããã©ã¬ã«ããŒãããµããŒããããå Žåãããã®ç¯ãšã _ããããŠ_ã ãã®ç¯ã«ç¶ãç¯ãã芧ãã ããã
[[printing-parallel-port-mode]]
==== ãã©ã¬ã«ããŒãã®éä¿¡ã¢ãŒããèšå®ãã
ãã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã䜿çšããŠããå ŽåãFreeBSD ã§ã¯ã å²ã蟌ã¿é§ååã«ãããã ããªã³ã¿ãšã®éä¿¡ã®ç¶æ³ãã«ãŒãã«ã«ç£èŠããããã®ãããããéžæã§ããŸãã FreeBSD ã®æ±çšããªã³ã¿ããã€ã¹ãã©ã€ã (man:lpt[4]) 㯠man:ppbus[4] ã·ã¹ãã ãå©çšããŠããŸãã ãã㯠man:ppc[4] ãã©ã€ãã䜿ã£ãŠãã©ã¬ã«ããŒãã®ãããã»ãããå¶åŸ¡ããŸãã
* GENERIC ã«ãŒãã«ã§ã¯__å²ã蟌ã¿é§å__æ¹åŒãããã©ã«ãã«ãªã£ãŠããŸãã ãã®æ¹åŒã§ã¯ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ããªã³ã¿ãããŒã¿ãåãä»ãããããã©ããã調ã¹ãããã«ã IRQ ã©ã€ã³ãäžã€äœ¿çšããŸãã
* __ç£èŠ__æ¹åŒã§ã¯ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ããªã³ã¿ããã£ãšããŒã¿ãåãä»ãããããã©ãããç¹°ãè¿ãå°ããããã«æç€ºããŸãã ãããŠãåãä»ãããšããå¿çãåãããšãã ã«ãŒãã«ã¯ãããªãããŒã¿ãéä¿¡ããŸãã
å²ã蟌ã¿é§åæ¹åŒã¯äžè¬çã«ããããé«éã«ãªããŸããã貎é㪠IRQ ã©ã€ã³ãäžã€æ¶è²»ããŸãã HP ã®æ°ããããªã³ã¿ã®äžéšã«ã¯ãæããã«äœãããã®ã¿ã€ãã³ã°ã®åé¡ (ãŸã æ£ç¢ºã«ã¯ããã£ãŠããŸãã) ã§å²ã蟌ã¿ã¢ãŒãã§ã¯æ£åžžã«åäœããªããã®ããããšèšãããŠããŸãã ãããã®ããªã³ã¿ã«ã¯ããŒãªã³ã°ã¢ãŒããå¿
èŠã«ãªããŸãã ã©ã¡ããããŸãæ©èœããæ¹ã䜿ã£ãŠãã ããã äžéšã®ããªã³ã¿ã¯ã©ã¡ãã®æ¹åŒã§ãåäœããŸããã å²ã蟌ã¿ã¢ãŒãã§ã¯èŠçãæããã»ã©äœéã§ãã
éä¿¡ã¢ãŒããèšå®ããããã«ã¯ 2 ã€ã®æ¹æ³ããããŸãã 1 ã€ã¯ã«ãŒãã«ã倿Žããããšã§ãããäžã€ã¯ man:lptcontrol[8] ããã°ã©ã ã䜿çšããæ¹æ³ã§ãã
__ã«ãŒãã«ãèšå®ããããšã«ãã£ãŠã éä¿¡ã¢ãŒãã倿Žããã__
[.procedure]
====
. ã«ãŒãã«ã³ã³ãã£ã°ã¬ãŒã·ã§ã³ãã¡ã€ã«ã倿ŽããŸãã `ppc0` ã®ãšã³ããªãæ¢ããŠãã ããã 2 çªç®ã®ãã©ã¬ã«ããŒããèšå®ãããšãã¯ã代ããã« `ppc1` ã䜿ããŸãã 以äžã3 çªç®ã®ããŒã㯠`ppc2` ãšãªã£ãŠãããŸãã
** å²ã蟌ã¿é§åæ¹åŒã«ããå Žåã¯ã [.filename]#/boot/device.hints# ãã¡ã€ã«ã®ä»¥äžã®è¡ãç·šéããŠã _N_ ãé©å㪠IRQ çªå·ã«çœ®ãæããŠãã ããã
+
[.programlisting]
....
hint.ppc.0.irq="N"
....
+
ã«ãŒãã«ã®èšå®ãã¡ã€ã«ã«ã¯ man:ppc[4] ãã©ã€ããå
¥ããªããã°ãªããŸããã
+
[source,shell]
....
device ppc
....
+
** ããŒãªã³ã°ã¢ãŒãã䜿çšããå Žåã¯ã [.filename]#/boot/device.hints# ãã¡ã€ã«ã®ä»¥äžã®è¡ãåé€ããŠãã ããã
+
[.programlisting]
....
hint.ppc.0.irq="N"
....
+
å Žåã«ãã£ãŠã¯ãããã ãã§ã¯ FreeBSD ã§ããŒããããŒãªã³ã°ã¢ãŒãã«ããã«ã¯ååã§ã¯ãªãããšããããŸãã å€ãã®å Žåãã㯠man:acpi[4] ãã©ã€ããšäœµããŠåäœããŸãã ããã¯ããã€ã¹ã®ãããŒããšã¢ã¿ãããè¡ãã®ã§ã ããªã³ã¿ããŒããžã®ã¢ã¯ã»ã¹ã¢ãŒããå¶åŸ¡ã§ããŸãã åé¡ãä¿®æ£ããããã« man:acpi[4] ã®èšå®ã確èªããŠãã ããã
+
. ãã¡ã€ã«ãã»ãŒãããconfig ããã°ã©ã ãèµ·åãã ã«ãŒãã«ã®æ§ç¯ãã€ã³ã¹ããŒã«ããããªããŸãããããŠã ãªããŒãããŠãã ããã詳现ã¯ããcrossref:kernelconfig[kernelconfig, FreeBSDã«ãŒãã«ã®ã³ã³ãã£ã°ã¬ãŒã·ã§ã³]ããåç
§ ããŠãã ããã
====
man:lptcontrol[8] __ã§éä¿¡ã¢ãŒããèšå®ããå Žå__
[.procedure]
====
. `lptN` ãã€ãã³ãé§åæ¹åŒã«èšå®ããå Žåã¯ã 次ã®ããã«å
¥åããŸãã
+
[source,shell]
....
# lptcontrol -i -d /dev/lptN
....
+
. `lptN` ãç£èŠæ¹åŒã«èšå®ããå Žåã¯ã次ã®ããã«å
¥åããŸãã
+
[source,shell]
....
# lptcontrol -p -d /dev/lptN
....
====
ãããã®ã³ãã³ãã [.filename]#/etc/rc.local# ãã¡ã€ã«ã«è¿œå ããŠãããšãã·ã¹ãã ãããŒããã床ã«éä¿¡ã¢ãŒããèšå®ãã ããšãã§ããŸãã詳现ã«ã€ããŠã¯ã man:lptcontrol[8] ãã芧ãã ããã
[[printing-testing]]
==== ããªã³ã¿ãšã®éä¿¡ç¶æ³ã調ã¹ã
ã¹ããŒãªã³ã°ã·ã¹ãã ã®èšå®ã«é²ãåã«ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãããªã³ã¿ã«ããŒã¿ãéãããšã«æåããŠãããã©ãã ã確ãããã¹ãã§ããããããã«ãããå°åãããŸããããªããš ããããªã³ã¿ãšã®éä¿¡ãåé¡ãªã®ããã¹ããŒãªã³ã°ã·ã¹ãã ãå é¡ãªã®ããåããŠèª¿ã¹ãããšãããªã容æã«ãªããŸãã
ããªã³ã¿ããã¹ãããããã«ã¯ã ããªã³ã¿ã«äœãã®ããã¹ããé ä¿¡ããŠã¿ãŸããéä¿¡ããæåãããã«å°åããŠãããããªã³ã¿ã« ã¯ãman:lptest[1] ã³ãã³ãã䜿ããšæçšã§ãããã®ã³ãã³ãã¯å° åå¯èœãª 96 æåã® ASCII æåãã¹ãŠã 96 è¡çæããŸãã
PostScript(R) (ãŸãã¯ä»ã®èšèªã«å¯Ÿå¿ãã) ããªã³ã¿ã®å Žå ã¯ããã£ãšå·§åŠãªãã¹ããå¿
èŠã«ãªããŸããæ¬¡ã®ãããªãç°¡å㪠PostScript(R) ããã°ã©ã ã䜿ãã°ååã§ãããã
[.programlisting]
....
%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto
/Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
showpage
....
äžã® PostScript(R) ã³ãŒãã¯ãã¡ã€ã«ã«ä¿åãã 以éã®ç¯ã§äŸãšããŠç€ºãããŠããããã«å©çšããããšãã§ããŸãã
[NOTE]
====
ãã®ããã¥ã¡ã³ãã§ããªã³ã¿çšèšèªãåç
§ãããšãã¯ã PostScript(R) ã®ãããªèšèªãä»®å®ããŠãããHewlett Packard ã® PCL ã¯èæ
®ããŠããŸãããPCL ã¯éåžžã«æ©èœçãªã® ã§ããã ãã¬ã€ã³ããã¹ãã«ãšã¹ã±ãŒãã·ãŒã±ã³ã¹ãæ··ããããš ãã§ããŸããPostScript(R) ã§ã¯ãã¬ã€ã³ããã¹ããçŽæ¥å°å ããããšã¯ã§ããŸããã ãã®ãããªçš®é¡ã®ããªã³ã¿èšèªã«å¯ŸããŠã¯ã ç¹å¥ãªå¯Ÿå¿ããããªããªããã°ãªããŸããã
====
[[printing-checking-parallel]]
===== ãã©ã¬ã«ããŒãã®ããªã³ã¿ãšã®æ¥ç¶ã調ã¹ã
ãã®ç¯ã§ã¯ãFreeBSD ããã©ã¬ã«ããŒãã«æ¥ç¶ãããã㪠ã³ã¿ãšéä¿¡ã§ããŠãããã©ããã調ã¹ãæ¹æ³ã«ã€ããŠèª¬æã ãŠããŸãã
_ãã©ã¬ã«ããŒãã®ããªã³ã¿ããã¹ãããããã«_
[.procedure]
====
. man:su[1] ã³ãã³ãã§ `root` ã«ãªããŸãã
. ããªã³ã¿ã«ããŒã¿ãéããŸãã
** ããªã³ã¿ããã¬ã€ã³ããã¹ããå°åã§ããå Žåã man:lptest[1] ã³ãã³ãã䜿ããŸãã æ¬¡ã®ããã«å
¥åããŠãã ããã
+
[source,shell]
....
# lptest > /dev/lptN
....
+
ããã§ã_N_ ã¯ãã©ã¬ã«ããŒãã®çªå·ã§ãçªå·ã¯ 0 ããå§ãŸããŸãã
** ããªã³ã¿ã PostScript(R) ãä»ã®ããªã³ã¿ èšèªã䜿çšããŠããå Žåããã®ããªã³ã¿ã«ç°¡åãªãã ã°ã©ã ãéä¿¡ããŠãã ãããæ¬¡ã®ããã«å
¥åããŸãã
+
[source,shell]
....
# cat > /dev/lptN
....
+
ãããŠãäžè¡äžè¡ã ããã°ã©ã ã__æ
éã«__å
¥åã㊠äžãããRETUREN ãŸã㯠ENTER ããŒãå
¥åããŠã㟠ããšããã®è¡ã¯ç·šéã§ããªããªããŸããããã°ã©ã ã® å
¥åãçµãã£ãããCONTROL+D ããããªããèšå®ã㊠ãããã¡ã€ã«çµäºã®ããŒãæŒããŠãã ããã
+
ãããã¯ãããã°ã©ã ãå
¥åãããã¡ã€ã«ããã å Žåã¯ã次ã®ããã«å
¥åããŠãã ããã
+
[source,shell]
....
# cat file > /dev/lptN
....
+
ããã§ã_file_ ã¯ããã°ã©ã ãæ ŒçŽãããŠããŠã ããªã³ã¿ã«éä¿¡ãããã¡ã€ã«ã®ååã§ãã
====
ããã§äœããå°å·ãããã¯ãã§ãã å°åãããããã¹ãããããããŠãå¿é
ã¯ç¡çšã§ãã ããã«ã€ããŠã¯ãåŸã§ä¿®æ£ããŸãã
[[printing-checking-serial]]
===== ã·ãªã¢ã«ããŒãã®ããªã³ã¿ãšã®æ¥ç¶ã調ã¹ã
ãã®ç¯ã§ã¯ãFreeBSD ãã·ãªã¢ã«ããŒãã«æ¥ç¶ãããã㪠ã³ã¿ãšéä¿¡ã§ããŠãããã©ããã調ã¹ãæ¹æ³ã«ã€ããŠè¿°ã¹ãã ãŠããŸãã
_ã·ãªã¢ã«ããŒãã®ããªã³ã¿ããã¹ãããããã«_
[.procedure]
====
. man:su[1] ã³ãã³ãã§ `root` ã«ãªããŸãã
. [.filename]#/etc/remote# ãã¡ã€ã«ãç·šéããŸããæ¬¡ã®ãšã³ããªãå ããŠãã ããã
+
[.programlisting]
....
printer:dv=/dev/port:br#bps-rate:pa=parity
....
+
ããã§ã_port_ ã·ãªã¢ã«ããŒã (`ttyu0`ã `ttyu1` ãªã©) ã®ããã€ã¹ãšã³ããªã§ã __bps-rate__㯠ããªã³ã¿ãšã®éä¿¡ã®è»¢éé床[bit/ç§]ã __parity__ã¯ã㪠ã³ã¿ãšã®éä¿¡ã§å¿
èŠãšãããããªã㣠(`even`ã`odd`ã `none`ã ``zero``ã®ãããã) ã衚ãããŠã㟠ãã
+
次ã®äŸã¯ã ããªã³ã¿ãã·ãªã¢ã«ã±ãŒãã«ã§ããªãã£ãªãã転éé床 19200 bps ã§ç¬¬ 3 çªç®ã®ã·ãªã¢ã«ããŒãã«æ¥ç¶ããå Ž åã§ãã
+
[.programlisting]
....
printer:dv=/dev/ttyu2:br#19200:pa=none
....
+
. man:tip[1] ã³ãã³ãã§ããªã³ã¿ãšæ¥ç¶ããŸãã æ¬¡ã®ããã«å
¥åããŠãã ããã
+
[source,shell]
....
# tip printer
....
+
ãããããŸããããªãã£ãå Žåã¯ã [.filename]##/etc/remote##ãç·šéããŠã [.filename]##/dev/ttyuN## ã®ä»£ããã« [.filename]##/dev/cuaaN## ã詊ããŠã¿ãŠãã ããã
+
. ããªã³ã¿ã«ããŒã¿ãéããŸãã
+
** ããªã³ã¿ããã¬ã€ã³ããã¹ããå°åã§ããå Žåã man:lptest[1] ã³ãã³ãã䜿ããŸãã æ¬¡ã®ããã«å
¥åããŠãã ããã
+
[source,shell]
....
% $lptest
....
+
** ããªã³ã¿ã PostScript(R) ãä»ã®ããªã³ã¿èšèªã䜿çšããŠããå Žåã ãã®ããªã³ã¿ã«ç°¡åãªããã°ã©ã ãå
¥åããŸãã äžè¡äžè¡ãããã°ã©ã ã__æ
éã«__å
¥åããŠãã ããã ããã¯ã¹ããŒã¹ããŒãä»ã®ç·šéçšã®ããŒã¯ã ããªã³ã¿ã®å¶åŸ¡ã³ãŒãã«å²ãåœãŠãããŠãããããããŸããã ããã°ã©ã ãçµäºããããšãããªã³ã¿ã«äŒããããã®ç¹å¥ãªãã¡ã€ã«çµäºããŒã å
¥åããå¿
èŠããããããããŸããã PostScript(R) ããªã³ã¿ã®å Žåã `CONTROL+D` ãå
¥åããŸãã
+
ãããã¯ãããã°ã©ã ãå
¥åãããã¡ã€ã«ãããå Žåã¯ã 次ã®ããã«å
¥åããŠãã ããã
+
[source,shell]
....
% >file
....
+
ããã§ã_file_ ã¯ããã°ã©ã ãæ ŒçŽãããŠãããã¡ã€ã«åã§ãã man:tip[1] ã³ãã³ãã§ãã¡ã€ã«ãéä¿¡ããåŸã¯ã ãã¡ã€ã«çµäºã衚ããããŒãå
¥åããå¿
èŠããããŸãã
====
ããã§äœããããªã³ããããããšã§ãããã å°åããããã ã¹ãããããããŠãå¿é
ããªããŠãæ§ããŸããã ããã«ã€ããŠã¯ãåŸã§ä¿®æ£ããŸãã
[[printing-printcap]]
==== ã¹ããŒã©ã«èš±å¯ãäžãã: [.filename]#/etc/printcap# ãã¡ã€ã«
ãããŸã§ã§ãããªã³ã¿ã¯ã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããã(å¿
èŠãªã) ããªã³ã¿ãšéä¿¡ã§ããããã«ã«ãŒãã«ã倿Žãã ç°¡åãªããŒã¿ãããªã³ã¿ã«éä¿¡ããããšãã§ããŠããã¯ãã§ãã ããã§ãLPD ã«ããªã³ã¿ãžã®ã¢ã¯ã»ã¹ã å¶åŸ¡ãããèšå®ããããªãæºåãæŽããŸããã
LPD ã®èšå®ã¯ [.filename]#/etc/printcap# ãç·šéããããšã§ãããªããŸãã LPD ã¹ããŒãªã³ã°ã·ã¹ãã 㯠ã¹ããŒã©ã䜿ãããæ¯ã«ãã®ãã¡ã€ã«ãåç
§ããŸãã ãã®ããããã¡ã€ã«ãæŽæ°ãããšããã«ãã®å€æŽãåæ ãããŸãã
man:printcap[5] ãã¡ã€ã«ã®æžåŒã¯ç°¡åã§ãã [.filename]#/etc/printcap# ã®ç·šéã¯ã奜ã¿ã®ããã¹ããšãã£ã¿ãã 䜿ããã ããããã®ãã¡ã€ã«ã®æžåŒã¯ã [.filename]#/usr/shared/misc/termcap# ã [.filename]#/etc/remote# ãšãã£ãä»ã®ã±ã€ãããªãã£ãã¡ã€ã«ãšäžèŽããŠããŸãã ãã®æžåŒ ã«ã€ããŠã®è©³çŽ°ãªæ
å ±ã«ã€ããŠã¯ man:cgetent[3] ãã芧ãã ããã
ã¹ããŒã©ã®åçŽãªèšå®æ³ã¯ã 次ã®ã¹ãããã§ãããªããŸãã
[.procedure]
====
. ããªã³ã¿ã«åå (ãšç°¡åãªå¥å 2 ïœ 3 å) ãä»ããããã [.filename]#/etc/printcap# ãã¡ã€ã«ã«èšè¿°ããŸãã ããã«ã€ããŠã¯ãã<<printing-naming, ããªã³ã¿ã«ååãä»ãã>>ã ãåç
§ããŠãã ããã
. `sh` ã®é
ç®ã远å ããããšã§ã ãããããŒãžã®åºåãçŠæ¢ããŸã (ããã©ã«ãã¯èš±å¯)ã ããã«ã€ããŠã¯ãã<<printing-no-header-pages, ãããããŒãžã®å°åãçŠæ¢ãã>>ã ãåç
§ããŠãã ããã
. ã¹ããŒã«çšã®ãã£ã¬ã¯ããªãäœæãããã®äœçœ®ã `sd` é
ç®ã§æå®ããŸããããã«ã€ããŠã¯ã ã<<printing-spooldir, ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®äœæ>>ã ãåç
§ããŠãã ããã
. ããªã³ã¿ã䜿çšããããã« [.filename]#/dev# ãšã³ããªãèšå®ãã[.filename]#/etc/printcap# ã® `lp` é
ç®ã§ãã®ãšã³ããªãæå®ããŸãã ããã«ã€ããŠã¯ãã<<printing-device, ããªã³ã¿ããã€ã¹ã®ç¹å®>>ã ãåç
§ããŠãã ããã ããªã³ã¿ãã·ãªã¢ã«ããŒãã«æ¥ç¶ããå Žåã¯ã `ms#` ã®é
ç®ãèšå®ããå¿
èŠããããŸãããã¡ãã«ã€ããŠã¯ã ã<<printing-commparam, ã¹ããŒã©ã®ããã®éä¿¡ãã©ã¡ãŒã¿ã®èšå®>>ã ãåç
§ããŠãã ããã
. ãã¬ã€ã³ããã¹ãçšã®å
¥åãã£ã«ã¿ã®ã€ã³ã¹ããŒã«ããããªããŸãã ã<<printing-textfilter,ããã¹ããã£ã«ã¿ã®ã€ã³ã¹ããŒã«>>ã ãåç
§ããŠãã ããã
. man:lpr[1] ã³ãã³ãã§äœããå°åããããšã§èšå®ã®ãã¹ãããããªããŸãã <<printing-trying,å°åããŠã¿ãã>> ãš <<printing-troubleshooting,ãã©ãã«ã·ã¥ãŒãã£ã³ã°>> ãåç
§ããŠãã ããã
====
[NOTE]
====
PostScript(R) ããªã³ã¿ã®ãããªã ããªã³ã¿èšèªã䜿çšããŠããããªã³ã¿ã«ã¯ã ãã¬ã€ã³ããã¹ããçŽæ¥å°åãããããšãã§ããŸããã äžã«ã¢ãŠãã©ã€ã³ã瀺ãã 以äžã®ç¯ã§èª¬æããç°¡åãªèšå®æ¹æ³ã®èª¬æã§ã¯ã ãã®ãããªããªã³ã¿ãèšçœ®ããŠããå Žåã¯ã ããªã³ã¿ãèªèã§ãããã¡ã€ã«ã ããå°åã®å¯Ÿè±¡ãšããŠãããšãã ä»®å®ãããŠããŸãã
====
å€ãã®å Žåã å©çšè
ã¯ã·ã¹ãã ã«èšçœ®ãããŠããããªã³ã¿ãã¹ãŠã§ ãã¬ã€ã³ããã¹ããå°åã§ããããšãæåŸ
ããŠããŸãã å°åäœæ¥ããããªãããã« LPD ã®ã€ã³ã¿ãã§ãŒã¹ãå©çšããããã°ã©ã ã§ãã éåžžããã®ãããªä»®å®ã眮ããŸãã ããªã³ã¿èšèªã䜿çšããããªã³ã¿ãèšçœ®ããŠããã ãã®ããªã³ã¿èšèªã§èšè¿°ããããžã§ããšã _ããã«å ããŠ_ã ãã¬ã€ã³ããã¹ãã®ãžã§ããå°åã§ããããã«ããããªãã°ã äžã§ç€ºããç°¡åãªèšå®æ¹æ³ã«å ããŠã ãããªãèšå®ããããªãããšã匷ããå§ãããŸããããªãã¡ã èªåçã«ãã¬ã€ã³ããã¹ããã PostScript(R) (ãããã¯ã ä»ã®ããªã³ã¿èšèª) ã«å€æããããã°ã©ã ãã€ã³ã¹ããŒã«ããŠãã ãããã<<printing-advanced-if-conversion, ãã¬ã€ã³ããã¹ãã®ãžã§ãã PostScript(R) ããªã³ã¿ã§å°åãã>>ã ã§ããããã©ã®ããã«ãããªãã°ããã®ãã説æãããŠããŸãã
[NOTE]
====
æ¥æ¬èªãå°åãããå Žåã¯ãããªã³ã¿èšèªã䜿çšã ãŠããªããæ¥æ¬èªããªã³ã¿ãã«ã€ããŠãã ããªã³ã¿åºæã®ãšã¹ã±ãŒãã·ãŒã±ã³ã¹ãéãå¿
èŠããããŸãã ãŸããæŒ¢åã³ãŒããããªã³ ã¿ãèšå®ããŠãããã®ã«å€æãããããå¿
èŠãããã åããªã³ã¿æ¯ã«ãæ¥æ¬èªçšã®ãã£ã«ã¿ãå¿
èŠã«ãªããŸãã
====
[[printing-naming]]
===== ããªã³ã¿ã«ååãä»ãã
æåã® (ç°¡åãª) ã¹ãããã§ãããªã³ã¿ã®ååãèããŸãã ããªã³ã¿ã«ã¯å¥åãããã€ãä»ããããšãã§ããã®ã§ã æ©èœçãªåå ã§ã颚å€ãããªååã§ãã©ã¡ããéžãã§ããŸã£ãã åé¡ã¯ãããŸããã
å°ãªããšã1ã€ã®ããªã³ã¿ã«ã¯ã [.filename]#/etc/printcap# ã®äžã§ã `lp` ãšããå¥åãæãããã¹ãã§ãããã ãã®ååã¯ããã©ã«ãã®ããªã³ã¿åã«ãªã£ãŠããŸãã ãŠãŒã¶ãç°å¢å€æ° `PRINTER` ãèšå®ããŠãããã ãã€ãLPD ã³ãã³ãã®ã³ãã³ãã©ã€ã³ã§ ããªã³ã¿ã®ååãæå®ãããŠããªãå Žåã`lp` ãããã©ã«ãã®ããªã³ã¿åãšãªãã ãã®ããªã³ã¿ã«åºåãããŸãã
ãããããããã¯å
±éã®æ
£ç¿ã§ããã ããªã³ã¿ã®æåŸã®å¥åã«ã¯ã ã¡ãŒã«ãŒãã¢ãã«åãå«ãããªã³ã¿ã®å®å
šãªåç§°ãã€ããããšã« ãªã£ãŠããŸãã
ååãšå¥åã®ããã€ããæ±ºãããã [.filename]#/etc/printcap# ãã¡ã€ã«ã«èšå®ããŸãã ããªã³ã¿åã¯äžçªå·Šã®ã«ã©ã ããæžãå§ããŸãã å¥åã¯ãããã瞊æ£ã«ãã£ãŠåºåããã æåŸã®å¥åã®åŸãã«ã³ãã³ã眮ããŸãã
次ã®äŸã§ã¯ã2 å°ã®ããªã³ã¿ (Diablo 630 ã©ã€ã³ããªã³ã¿ãš Panasonic KX-P4455 PostScript(R) ã¬ãŒã¶ã©ã€ã¿ããªã³ã¿) ãå®çŸ© ãããŠãã [.filename]#/etc/printcap# ã®ã¹ã±ã«ãã³ãèšããŠããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
....
ãã®äŸã§ã¯ãæåã®ããªã³ã¿ã« `rattan` ãšããååãšå¥åãšããŠã`line`ã `diablo`ã`lp` ãã㊠`Diablo 630 Line Printer` ãä»ããããŠããŸããå¥åãšã ㊠`lp` ãããã®ã§ããã®ããªã³ã¿ã¯ããã©ã«ãã®ããªã³ã¿ãšãªã£ ãŠããŸãã2 çªç®ã¯ `bamboo` ãšåä»ãããã å¥åãšããŠã`ps` ãš `PS`ã`S`ã `panasonic`ã`Panasonic KX-P4455 PostScript v51.4` ãä»ããããŠããŸãã
[[printing-no-header-pages]]
===== ãããããŒãžã®å°åãçŠæ¢ãã
LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã§ã¯ã ããã©ã«ãã§ãžã§ãæ¯ã« __ãããããŒãž__ãå°åããŸãã ãããããŒãžã«ã¯ãžã§ããèŠæ±ãããŠãŒã¶åã ãžã§ããéããããã¹ãåããããŠããžã§ãã®ååãçŽ æŽ ããã倧ããªæåã§å°åãããŠããŸãã æ®å¿µãªããšã«ããã®äœåãªããã¹ããã¹ãŠãã ç°¡åãªããªã³ã¿èšå®æ³ã®ãããã°ã®éã«çŽã蟌ãã§ããŠããŸããŸãã ãã®ããããããããŒãžã®åºåãçŠæ¢ããŠãããŸãã
ãããããŒãžã®åºåãçŠæ¢ããã«ã¯ã [.filename]#/etc/printcap# ã«ããããªã³ã¿ã®ãšã³ããªã« `sh` ã®é
ç®ã远å ããŸããæ¬¡ã«ã`sh` ãå ãã [.filename]#/etc/printcap# ã®äŸã瀺ããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose - no header pages anywhere
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:
....
ãã®æžåŒãæ£ãã䜿ãããã®æ³šæãããŠãããŸãã æåã®è¡ã¯å·Šç«¯ã®ã«ã©ã ããå§ããŸãã ããã«ç¶ãè¡ã¯åäžãããŸããæåŸã®è¡ä»¥å€ã®ãã¹ãŠã®è¡ã¯ã è¡æ«ã«ããã¯ã¹ã©ãã·ã¥ãèšè¿°ããŸãã
[[printing-spooldir]]
===== ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®äœæ
ã¹ããŒã©ã®ç°¡åãªèšå®ã®æ¬¡ã®ã¹ãããã§ã¯ã __ã¹ããŒãªã³ã°ãã£ã¬ã¯ããª__ãäœæããŸãã ããªã³ã¿ã«éããããžã§ãã¯ã ãã®å°åãçµäºãããŸã§ãã®ãã£ã¬ã¯ããªã«çœ®ãããŸãããŸãã ä»ã®ããããã®ã¹ããŒã©ããã®ãã£ã¬ã¯ããªã«ãã¡ã€ã«ã眮ããŸãã
æ§ã
ãªäºæ
ã«ããã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã¯ãéåžžãæ
£äŸ ãšã㊠[.filename]#/var/spool# ã®äžã«çœ®ããŸãã ãŸããã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®å
容㯠ããã¯ã¢ãããããå¿
èŠã¯ãããŸããã man:mkdir[1] ã«ãã£ãŠãã£ã¬ã¯ããªã äœãã ãã§ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®åŸ©æ§ã¯å®äºããŸãã
ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®ååã¯ããããæ
£äŸã§ããã æ¬¡ã®ããã«ããªã³ã¿ã®ååãšåãã«ããŸãã
[source,shell]
....
# mkdir /var/spool/printer-name
....
ããããªããããããã¯ãŒã¯äžã«äœ¿çšå¯èœãªããªã³ã¿ããã ãããããªãã°ãLPD ã§å°åããããã®å°çšã®ãã£ã¬ã¯ããªã«ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã眮ããããªããããããŸããã äŸã«åºãŠããããªã³ã¿ `rattan` ãš `bamboo` ã«ã€ããŠããã®æ¹åŒãæ¡çšãããšã 次ã®ããã«ãªããŸãã
[source,shell]
....
# mkdir /var/spool/lpd
# mkdir /var/spool/lpd/rattan
# mkdir /var/spool/lpd/bamboo
....
[NOTE]
====
åãŠãŒã¶ãå°åãããžã§ãã®ãã©ã€ãã·ãå®ãã ããšèããŠãããªãã°ãã¹ããŒãªã³ã°ãã£ã¬ã¯ããªãä¿è·ã ãŠãããã誰ããã§ãã¢ã¯ã»ã¹ã§ããªãããã«ããããšæã ãããããŸãããã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã¯ã `daemon` ãŠãŒã¶ãš `daemon` ã°ã«ãŒãã«ææããã èªã¿èŸŒã¿ãæžã蟌ã¿ãæ€ çŽ¢å¯èœã§ãããä»ããã¯ã¢ã¯ã»ã¹ã§ããªãããã«ããã¹ãã§ ããäŸé¡ã®ããªã³ã¿ã«å¯ŸããŠã次ã®ããã«ããããšã«ããŸãã ãã
[source,shell]
....
# chown daemon:daemon /var/spool/lpd/rattan
# chown daemon:daemon /var/spool/lpd/bamboo
# chmod 770 /var/spool/lpd/rattan
# chmod 770 /var/spool/lpd/bamboo
....
====
æåŸã«ã[.filename]#/etc/printcap# ãã¡ã€ã«ã§ã ãããã®ãã£ã¬ã¯ããªã®äœçœ®ã LPD ã«äŒããå¿
èŠããããŸãã ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®ãã¹å㯠`sd` é
ç®ã§æå®ããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose - added spooling directories
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:
....
ããªã³ã¿åãæåã®ã«ã©ã ããå§ãŸã£ãŠããã ãã®ããªã³ã¿ã«é¢ããŠèšè¿°ãããä»ã®é
ç®ã¯åäžããããŠããããšã åè¡ãããã¯ã¹ã©ãã·ã¥ã§çµãã£ãŠããããšã«æ³šæããŠãã ããã
`sd` ã«ããã¹ããŒãªã³ã°ãã£ã¬ã¯ããªãæå®ãããŠããªãå Žåã ã¹ããŒãªã³ã°ã·ã¹ãã 㯠[.filename]#/var/spool/lpd# ãããã©ã«ãå€ãšããŠäœ¿çšããŸãã
[[printing-device]]
===== ããªã³ã¿ããã€ã¹ã®ç¹å®
<<printing-hardware,ããªã³ã¿æ©åšã®èšå®>> ã®ç¯ã§ã¯ãFreeBSD ã§ããªã³ã¿ãšã®éä¿¡ã«äœ¿çšãããããŒãããã³ [.filename]#/dev# ãã£ã¬ã¯ããªå
ã®ãšã³ããªãç¹å®ããŸãã ãããŠãLPD ã«ãã®æ
å ±ãäŒããŸãã å°åãããžã§ããåãåããšãã¹ããŒãªã³ã°ã·ã¹ãã ã¯ã (ããªã³ã¿ã«ããŒã¿ãæž¡ã矩åããã) ãã£ã«ã¿ããã°ã©ã ã«ä»£ãã£ãŠæå®ãããããã€ã¹ããªãŒãã³ããŸãã
[.filename]#/etc/printcap# ãã¡ã€ã«ã§ `lp` é
ç®ã䜿ã£ãŠ [.filename]#/dev# ãšã³ããªãèšå
¥ããŸãã
ããã§ã®äŸã§ã¯ã`rattan` 㯠1 çªç®ã®ãã©ã¬ã«ããŒãã«ã`bamboo` 㯠6 çªç®ã®ã·ãªã¢ã«ããŒãã«æ¥ç¶ãããŠããããšã«ããŸãããã ãã®ãšãã[.filename]#/etc/printcap# ã«ã¯ 次ã®ããã«ãªããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyu5:
....
[.filename]#/etc/printcap# ã§ããªã³ã¿ã® `lp` é
ç®ãæå®ãããŠããªãå Žåã¯ã LPD ã¯ããã©ã«ããšã㊠[.filename]#/dev/lp# ã䜿çšããŸãã[.filename]#/dev/lp# ã¯ãçŸåšã® FreeBSD ã«ã¯ååšããŠããŸããã
èšçœ®ããããªã³ã¿ããã©ã¬ã«ããŒãã« æ¥ç¶ãããŠããå Žåã¯ã ã<<printing-textfilter, ããã¹ããã£ã«ã¿ã®ã€ã³ã¹ããŒã«>>ã ãŸã§èªã¿é£ã°ããŠãã ããã ããã§ãªãå Žåã¯ã次ç¯ã®èª¬æã«ç¶ããŠãã ããã
[[printing-commparam]]
===== ã¹ããŒã©ã®ããã®éä¿¡ãã©ã¡ãŒã¿ã®èšå®
ã·ãªã¢ã«ããŒãã«ããªã³ã¿ãæ¥ç¶ããå Žåã LPD ã¯ãããªã³ã¿ã«ããŒã¿ãéä¿¡ãããã£ã«ã¿ããã°ã©ã ã«ä»£ããã éä¿¡é床ãããªãã£ã ãã®ä»ã®ã·ãªã¢ã«éä¿¡ãã©ã¡ãŒã¿ãèšå®ããããšãã§ããŸãã ãã®ããšã«ããå©ç¹ã¯ã
* [.filename]#/etc/printcap# ãç·šéããã ãã§ã æ§ã
ãªéä¿¡ãã©ã¡ãŒã¿ã詊ããŠã¿ãããšãã§ããŸãã ãã£ã«ã¿ããã°ã©ã ãåã³ã³ãã€ã«ããå¿
èŠã¯ãããŸããã
* ã¹ããŒãªã³ã°ã·ã¹ãã ã§ã ã·ãªã¢ã«éä¿¡ã®èšå®ãç°ãªã£ãŠãããããããªãè€æ°ã®ããªã³ã¿ã« åããã£ã«ã¿ããã°ã©ã ã䜿ãããšãå¯èœã«ãªããŸãã
次㮠[.filename]#/etc/printcap# ã®é
ç®ã§ã `lp` ã§æå®ããã ããã€ã¹ã®ã·ãªã¢ã«éä¿¡ãã©ã¡ãŒã¿ãå¶åŸ¡ã§ããŸãã
`br#bps-rate`::
ããã€ã¹ã®éä¿¡é床ã _bps-rate_ ã«èšå®ããŸãã ããã§ã_bps-rate_ 㯠50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200 [bit/ç§] ã®ããããã§ãã
`ms#stty-mode`::
ããã€ã¹ããªãŒãã³ããåŸã«ã¿ãŒããã«ããã€ã¹ã®ãªãã·ã§ã³ãèšå®ããŸãã å©çšã§ãããªãã·ã§ã³ã«ã€ããŠã¯ man:stty[1] ãåç
§ããŠãã ããã
`lp` ã§æå®ãããããã€ã¹ããªãŒãã³ãããšãã LPD 㯠`ms#` ã§æå®ãããããã€ã¹ã®ç¹æ§ãèšå®ããŸãã ç¹ã«é¢ä¿ãããã®ã¯ã`parenb`, `parodd`, `cs5`, `cs6`, `cs7`, `cs8`, `cstopb`, `crtscts`, `ixon` ã¢ãŒãã§ãã ããã㯠man:stty[1] ã®ããã¥ã¢ã«ããŒãžã§èª¬æãããŠããŸãã
äŸé¡ã®ããªã³ã¿ã§6çªç®ã®ã·ãªã¢ã«ããŒãã«æ¥ç¶ããã ããªã³ã¿ã®èšå®ã远å ããŠã¿ãŸãããã éä¿¡é床㯠38400bps ã«èšå®ããŸãã ã¢ãŒããšããŠã`-parenb` ã§ããªãã£ç¡ãã `cs8` ã§ 8 ããããã£ã©ã¯ã¿ã `clocal` ã§ã¢ãã å¶åŸ¡ç¡ãã ãã㊠`crtscts` ã§ããŒããŠã§ã¢ãããŒå¶åŸ¡ãèšå®ããŸãã
[.programlisting]
....
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:
....
[[printing-textfilter]]
===== ããã¹ããã£ã«ã¿ã®ã€ã³ã¹ããŒã«
ãããŸã§ã§ã ããªã³ã¿ã«ãžã§ããéãããã«äœ¿ãããã¹ããã£ã«ã¿ã LPD ã«èšå®ããæºåãæŽããŸããã __ããã¹ããã£ã«ã¿__ãšã¯ã __å
¥åãã£ã«ã¿__ãšããŠãç¥ãããŠããŸããã å°åãããžã§ãããããšãã« LPD ãèµ·åããããã°ã©ã ã§ãã LPD ãããªã³ã¿ã®ããã«ããã¹ããã£ã«ã¿ãèµ·åãããšãã LPD ã¯ãã£ã«ã¿ã®æšæºå
¥åããããªã³ããããžã§ããå
¥åãã ãã£ã«ã¿ã®æšæºåºåã«é
ç® `lp` ã§æå®ãããããªã³ã¿ããã€ã¹ãæ¥ç¶ããŸãããã£ã«ã¿ã¯ã æšæºå
¥åãããžã§ããèªã¿èŸŒã¿ã ããªã³ã¿ã®ããã®å¿
èŠãªå€æããããªã£ãåŸã ãã®çµæãæšæºåºåã«åºåããã ããã«ããå°åããªãããããšãæåŸ
ãããŠããŸãã ããã¹ããã£ã«ã¿ã«ã€ããŠã®æŽã«è©³ããæ
å ±ã«ã€ããŠã¯ãã<<printing-advanced-filters, ãã£ã«ã¿ã¯ã©ã®ããã«æ©èœããŠããã>>ã ãã芧ãã ããã
ããã§ã®ç°¡åãªããªã³ã¿èšå®ã§ã¯ã ããªã³ã¿ã«ãžã§ããéãããã`/bin/cat` ãå®è¡ããã ãã®ç°¡åãªã·ã§ã«ã¹ã¯ãªããã§éã«åããŸãã FreeBSD ã«æšæºã§ä»å±ããŠãã `lpf` ãšãããã£ã«ã¿ã§ã¯ãããã¯ã¹ããŒã¹æåã䜿ã£ã äžç·åŒãã®åäœããããªãæåã¹ããªãŒã ãããŸãæ±ãããšãã§ããªã ããªã³ã¿ã®ããã®ä»£æ¿åŠçããããªã£ãŠãããŸãã ãã¡ããã ä»ã®ã©ããªãã£ã«ã¿ããã°ã©ã ã䜿ã£ãŠãæ§ããŸããã ãã£ã«ã¿ [.filename]#lpf# ã«ã€ããŠã¯ãã<<printing-advanced-lpf,ããã¹ããã£ã«ã¿ lpf>>ãã§è©³ãã説æããŸãã
æåã«ãç°¡åãªããã¹ããã£ã«ã¿ã§ããã·ã§ã«ã¹ã¯ãªãã [.filename]#/usr/local/libexec/if-simple# ãäœã£ãŠã¿ãŸãããã æ¬¡ã®ããã¹ããã奜ã¿ã®ããã¹ããšãã£ã¿ã§ãã¡ã€ã«ã« æžã蟌ãã§ãã ããã
[.programlisting]
....
#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
/bin/cat && exit 0
exit 2
....
ãããŠããã®ãã¡ã€ã«ãå®è¡å¯èœã«ããŸãã
[source,shell]
....
# chmod 555 /usr/local/libexec/if-simple
....
LPD ã«ãã®ããã¹ããã£ã«ã¿ã䜿ãããšãèšå®ããããã«ã¯ã [.filename]#/etc/printcap# ã« `if` é
ç®ã䜿ã£ãŠæå®ããŸãããããŸã§ã® [.filename]#/etc/printcap# ã®äŸã®ããªã³ã¿ 2 å°ã«ã ãã®ãã£ã«ã¿ãå ããŠã¿ãŸãããã
[.programlisting]
....
#
# /etc/printcap for host rose - added text filter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/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:\
:if=/usr/local/libexec/if-simple:
....
[NOTE]
====
[.filename]#if-simple# ã¹ã¯ãªããã®ã³ããŒã [.filename]#/usr/shared/examples/printing# ãã£ã¬ã¯ããªã«ãããŸãã
====
===== LPD ã®èµ·å
man:lpd[8] 㯠`lpd_enable` 倿°ã«åŸã£ãŠ [.filename]#/etc/rc# ããå®è¡ãããŸãããã®å€æ°ã® ããã©ã«ãå€ã¯ `NO` ã§ãããŸã ããããŠããªãã£ããªãã°
[.programlisting]
....
lpd_enable="YES"
....
ã®è¡ã [.filename]#/etc/rc.conf# ã«è¿œå ã㊠èšç®æ©ãåèµ·åãããããã®ãŸãŸ man:lpd[8] ã èµ·åããŠãã ããã
[source,shell]
....
# lpd
....
[[printing-trying]]
===== å°åããŠã¿ãã
ç°¡å㪠LPD èšå®ãçµããã«ãã©ãçããŸããã æ®å¿µãªãããèšå®ã¯ããã§ãããŸããšããããã§ã¯ãããŸããã ãªããªããããã«ãèšå®ããã¹ããã ãã¹ãŠã®åé¡ç¹ã解決ããªããŠã¯ãªããªãããã§ãã èšå®ããã¹ãããããã«ã äœããå°åããŠã¿ãŸãããã LPD ã·ã¹ãã ã§å°åãããããã«ã¯ã man:lpr[1] ã³ãã³ãã䜿ããŸãããã®ã³ãã³ãã¯ã å°åããããã®ãžã§ããæå
¥ããåããããŸãã
man:lpr[1] ã³ãã³ãã ã<<printing-testing, ããªã³ã¿ãšã®éä¿¡ç¶æ³ã調ã¹ã>>ãã§ç޹ä»ããã ãããã¹ãçšã®ããã¹ããçæããŠããã man:lptest[1] ããã°ã©ã ãšäžç·ã«äœ¿ãããšãã§ããŸãã
_ç°¡å㪠LPD èšå®ã®ãã¹ã_
次ã®ããã«å
¥åããŠãã ããã
[source,shell]
....
# lptest 20 5 | lpr -Pprinter-name
....
ããã§ã_printer-name_ 㯠[.filename]#/etc/printcap# ã§æå®ããããªã³ã¿å (ãããã¯ãã®å¥å) ã§ããããã©ã«ã ã®ããªã³ã¿ã䜿çšããå Žåã¯ã `-P` åŒæ°ãä»ããªãã§ man:lpr[1] ãæã¡èŸŒãã§ãã ãããããäžåºŠè¿°ã¹ãŸããã PostScript(R) ãæåŸ
ããŠããããªã³ã¿ããã¹ããããªãã°ã man:lptest[1] ã䜿ã代ããã« PostScript(R) ã§æžããã ããã°ã©ã ãããªã³ã¿ã«éã£ãŠãã ããã ããã°ã©ã ãéãããã«ã¯ãããã°ã©ã ããã¡ã€ã«ã«æ ŒçŽããŠã `lpr file` ãšæã¡èŸŒã¿ãŸãã
PostScript(R) ããªã³ã¿ã®å Žåã éä¿¡ããããã°ã©ã ã«ããçµæãåŸãããã§ãããã man:lptest[1] ã䜿ã£ãå Žåã¯ã 以äžã®ãããªçµæãèŠãããã§ãããã
[source,shell]
....
!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
%&'()*+,-./012345678
....
æŽã«ããªã³ã¿ããã¹ããããå Žåã¯ã (èšèªããŒã¹ã®ããªã³ã¿ã®ããã®) ãã£ãšå€§ããªããã°ã©ã ãéä¿¡ãããã åŒæ°ãå€ã㊠man:lptest[1] ãå®è¡ããŸããããšãã°ã`lptest 80 60` ã§ããããã 80 æåã®è¡ã 60 è¡çæããŸãã
ããªã³ã¿ãããŸãåããªãã£ãå Žåã¯ã次ã®ç¯ãã<<printing-troubleshooting, ãã©ãã«ã·ã¥ãŒãã£ã³ã°>>ããã芧ãã ããã
[[printing-advanced]]
== ããªã³ã¿èšå®äžçŽç·š
ãã®ç¯ã§ã¯ãç¹æ®ãªåœ¢åŒã®ãã¡ã€ã«ãå°åããããã®ãã£ã«ã¿ã ãããããŒãžããããã¯ãŒã¯è¶ãã®ããªã³ã¿ãžã®å°åããããŠã ããªã³ã¿äœ¿çšã®å¶éã課éã«ã€ããŠèª¬æããŠããŸãã
[[printing-advanced-filter-intro]]
=== ãã£ã«ã¿
LPD ã¯ããããã¯ãŒã¯ãããã³ã«ããã¥ãŒãã¢ã¯ã»ã¹å¶åŸ¡ãªã©ã® å°å·ã«ããããããŸããŸãªç¹ãæ±ããŸããã __å®éã®__äœæ¥ã®ã»ãšãã©ã¯ __ãã£ã«ã¿__ã«ãã£ãŠãããªãããŠããŸãã ãã£ã«ã¿ã¯ãããªã³ã¿ãšéä¿¡ãã ããªã³ã¿ã®ããã€ã¹äŸåæ§ãç¹æ®ãªèŠæ±ãæ±ãããã°ã©ã ã§ãã ç°¡åãªããªã³ã¿èšå®ã§ã¯ã ãã¬ã€ã³ããã¹ãã®ããã®ãã£ã«ã¿ãã€ã³ã¹ããŒã«ããŸããã ãã®ãã¬ã€ã³ããã¹ããã£ã«ã¿ã¯ã ã»ãšãã©ã®ããªã³ã¿ã§æ©èœããæ¥µããŠåçŽãªãã®ã§ãã (ã<<printing-textfilter, ããã¹ããã£ã«ã¿ã®ã€ã³ã¹ããŒã«>>ããåç
§)ã
ããããªããã圢åŒå€æãããªã³ã¿èª²éãç¹å®ã®ããªã³ã¿ã®çã ãªã© ãããŸãå©çšããããã«ã¯ã ãã£ã«ã¿ãã©ã®ããã«æ©èœããããšãã ããšãçè§£ããŠããã¹ãã§ãããããã®åŽé¢ãæ±ãããšã¯ã æçµçã«ã¯ããã£ã«ã¿ã®è²¬ä»»ã§ããããã§ãã ãããŠãããã¯æªãæ
å ±ã§ãããã»ãšãã©ã®å Žåã«ãããŠã __ããªãèªèº«__ã ãã£ã«ã¿ãäŸçµŠããå¿
èŠããããšããããšã§ãããŸãéœåã®ããããšã«ã¯ã ããããã®ãã£ã«ã¿ãäžè¬çã«å©çšã§ãããšããããšã§ãã ãããã£ã«ã¿ããªãã£ããšããŠãã æ®éã¯ãã£ã«ã¿ãäœãã®ã¯ç°¡åã§ãã
FreeBSD ã«ãããã¬ã€ã³ããã¹ããå°åãããããšãã§ãã [.filename]#/usr/libexec/lpr/lpf# ãšãããã£ã«ã¿ã 1 ã€ä»ããŠããŸã (ãã®ãã£ã«ã¿ã¯ãã¡ã€ã«ã«å«ãŸããããã¯ã¹ããŒã¹ãã¿ããæ±ããŸãã ãŸãã課éãããããšãã§ããŸããã ã§ããããšã¯ããã ããããããŸãã)ã ããã€ãã®ãã£ã«ã¿ãšãã£ã«ã¿ã®æ§æèŠçŽ ã¯ FreeBSD Ports Collection ã«ããããŸãã
ãã®ç¯ã§è¿°ã¹ãããšã¯æ¬¡ã®éãã§ãã
* ã<<printing-advanced-filters, ãã£ã«ã¿ã¯ã©ã®ããã«æ©èœããŠããã>>ãã§ã¯ã å°åã®éçšã«ããããã£ã«ã¿ã®åœ¹å²ãæŠèª¬ããŸãã ãã®ç¯ãèªãããšã§ãLPD ããã£ã«ã¿ã䜿ããšãã«ã"èŠããªããšããã§" äœãèµ·ãã£ãŠããããçè§£ã§ããã§ãããããã®ããšãç¥ã£ãŠãããšã ããªã³ã¿ããããã«æ§ã
ãªãã£ã«ã¿ãã€ã³ã¹ããŒã«ãããšãã« ééãããããããªãåé¡ãäºæãããã ãããã°ãããšãã«åœ¹ç«ã€ã§ãããã
* LPD ã¯ããã¹ãŠã®ããªã³ã¿ãããã©ã«ãã§ãã¬ã€ã³ããã¹ããå°åã§ããããšãæåŸ
ããŠããŸãã ããã¯ããã¬ã€ã³ããã¹ããçŽæ¥å°åã§ããªã PostScript(R) (ãŸãã¯ä»ã®èšèªå¯Ÿå¿ã®) ããªã³ã¿ã§åé¡ã«ãªããŸããã<<printing-advanced-if-conversion, ãã¬ã€ã³ããã¹ãã®ãžã§ãã PostScript(R) ããªã³ã¿ã§å°åãã>>ã ã§ã ãã®åé¡ãå
æããæ¹æ³ã«ã€ããŠè¿°ã¹ãŸãã PostScript(R) ããªã³ã¿ããæã¡ã®æ¹ã¯ã ãã®ç¯ããèªã¿ã«ãªãããšãããããããŸãã
* PostScript(R) ã¯æ§ã
ãªããã°ã©ã ã®ããã®æåãªåºå圢åŒã§ãã PostScript(R) ã®ã³ãŒããçŽæ¥æžããŠããŸã人ããããŸãã æ®å¿µãªãããPostScript(R) ããªã³ã¿ã¯é«äŸ¡ã§ããã<<printing-advanced-ps,é PostScript(R) ããªã³ã¿ã«ãã PostScript(R) ã®ã·ãã¥ã¬ãŒã>>ãç¯ã§ã¯ãPostScript(R) ããŒã¿ã__é PostScript(R) ããªã³ã¿__ã«åãã€ããããå°åãããããã«ã ã©ã®ããã«ããŠããªã³ã¿çšã®ããã¹ããã£ã«ã¿ãããã«å€æŽããã°ããã®ãã ãšããããšã«ã€ããŠèª¬æããŠããŸããPostScript(R) ããªã³ã¿ãæã£ãŠããªãæ¹ã¯ã ãã®ç¯ããèªã¿ã«ãªãããšãããããããŸãã
* ã<<printing-advanced-convfilters, 倿ãã£ã«ã¿>>ãã§ã¯ã å³åœ¢ãçµçããŒã¿ãšãã£ãç¹å®ã®ãã¡ã€ã«åœ¢åŒãã ããªã³ã¿ãçè§£ã§ãã圢åŒãžå€æããäœæ¥ãèªåçã«ãããªãããæ¹æ³ã«ã€ããŠè¿°ã¹ãŸãã ãã®ç¯ãèªããšãtroff ã®ããŒã¿ãå°åããã«ã¯ `lpr -t`, ãŸãã¯ãTeX DVI ãå°åããã«ã¯ `lpr -d`ã ã©ã¹ã¿ã€ã¡ãŒãžããŒã¿ãå°åããã«ã¯ `lpr -v`ã ãªã©ãšãã£ãããã«ãŠãŒã¶ãå
¥åããããšãã§ããããã« ããªã³ã¿ã®èšå®ããããªãããšãã§ããŸãã ãã®ç¯ããèªã¿ã«ãªãããšããèŠãããŸãã
* ã<<printing-advanced-of,åºåãã£ã«ã¿>>ã ã§ã¯ãããŸã䜿ãããªã LPD ã®æ©èœã®ãã¹ãŠãããªãã¡ã åºåãã£ã«ã¿ã«é¢ããããšãèšè¿°ãããŠããŸãããããããŒãž (ã<<printing-advanced-header-pages, ãããããŒãž>>ãåç
§) ãå°åãããŠããªãå Žåã¯ã å€åããã®ç¯ã¯é£ã°ããŠãæ§ããªãã§ãããã
* ã<<printing-advanced-lpf,ããã¹ããã£ã«ã¿ lpf>>ãã§ã¯ã`lpf` ã«ã€ããŠã®èª¬æããã»ãŒå®å
šã«ãããªãããŠããŸãããã㯠FreeBSD ã«ä»å±ããã© ã€ã³ããªã³ã¿ (ãŸãã¯ã ã©ã€ã³ããªã³ã¿ã®ããã«åäœããã¬ãŒã¶ããªã³ã¿) ã®ããã®ã åçŽãªããã¹ããã£ã«ã¿ã§ãã ãã¬ã€ã³ããã¹ããå°åããããšã«å¯ŸããŠèª²éããããªãæ¹æ³ã è³æ¥å¿
èŠãªå Žåããããã¯ãããã¯ã¹ããŒã¹æåãå°åããããš ãããšç
ãçºããããªã³ã¿ãæã£ãŠããå Žåã¯ã絶察㫠`lpf` ãæ€èšããã¹ãã§ãã
[NOTE]
====
以äžã§è¿°ã¹ãããŠããããŸããŸãªã¹ã¯ãªããã¯ã[.filename]#/usr/shared/examples/printing# ãã£ã¬ã¯ããªã«ãããŸãã
====
[[printing-advanced-filters]]
==== ãã£ã«ã¿ã¯ã©ã®ããã«æ©èœããŠããã
æ¢ã«èšåããããã«ããã£ã«ã¿ãšã¯ãããªã³ã¿ã«ããŒã¿ãéãéã«ã ããã€ã¹ã«äŸåããéšåãåãæ±ãããã« LPD ã«ãã£ãŠèµ·åãããå®è¡ããã°ã©ã ã§ãã
LPD ããžã§ãäžã®ãã¡ã€ã«ãå°åããããšãããšãã LPD ã¯ãã£ã«ã¿ããã°ã©ã ãèµ·åããŸãããã®ãšãã ãã£ã«ã¿ã®æšæºå
¥åãå°åãããã¡ã€ã«ã«ã æšæºåºåãããªã³ã¿ã«ããããŠãæšæºãšã©ãŒåºåã ãšã©ãŒãã°ãã¡ã€ã« ([.filename]#/etc/printcap# å
ã® `lf` é
ç®ã§æå®ããããã¡ã€ã«ããŸãã¯ã æå®ãããŠããªãå Žåã¯ãããã©ã«ããšã㊠[.filename]#/dev/console#) ã«ã»ããããŸãã
LPD ãèµ·åãããã£ã«ã¿ãšããã®åŒæ°ãäœã§ãããã¯ã [.filename]#/etc/printcap# ãã¡ã€ã«ã®å
容ãšããžã§ãã®èµ·åæã«ãŠãŒã¶ãæå®ãã man:lpr[1] ã³ãã³ãã®åŒæ°ã«äŸåããŠããŸãã ããšãã°ããŠãŒã¶ã `lpr -t` ãšå
¥åããå Žåã¯ã LPD ã¯åºåå
ã®ããªã³ã¿çšã® `tf` é
ç®ã§æå®ãããŠãã troff çšã®ãã£ã«ã¿ãèµ·åãããã§ãããã ãŠãŒã¶ããã¬ã€ã³ããã¹ãã®å°åãæç€ºãããšãã¯ã `if` ã§æå®ããããã£ã«ã¿ãèµ·åãããã§ããã (ãã®ããšã¯ã»ãšãã©ã®å Žåã«ããŠã¯ãŸããŸãã 詳现ã«ã€ããŠã¯ãã<<printing-advanced-of, åºåãã£ã«ã¿>>ããã芧ãã ãã)ã
[.filename]#/etc/printcap# ã§æå®å¯èœãªãã£ã«ã¿ã¯æ¬¡ã®3çš®é¡ããããŸãã
* _ããã¹ããã£ã«ã¿_ (LPD ã®ããã¥ã¡ã³ãã§ã¯çŽããããããšã« __å
¥åãã£ã«ã¿__ãšåŒãã§ããŸãã) ã¯äžè¬ã®ããã¹ãã®å°åãæ±ããŸããããã¯ããã©ã«ãã®ãã£ã«ã¿ãš èããŠãã ãããLPD ã§ã¯ããã¹ãŠã®ããªã³ã¿ã«å¯ŸããŠã ããã©ã«ãã§ãã¬ã€ã³ããã¹ããå°åã§ããããšãæåŸ
ããŠããŸãã ããã«ãããã¯ã¹ããŒã¹ãã¿ããæ£ããæ±ãããŸãã ä»ã®ç¹æ®ãªæåãå
¥åãããŠãããªã³ã¿ã«æ··ä¹±ãæ¥ããªãããã« ããã®ã¯ããã¹ããã£ã«ã¿ã®ä»äºã§ãããšèããŠããŸãã ããªã³ã¿ã®äœ¿çšã«å¯ŸããŠèª²éãããªããŠã¯ãªããªãç°å¢ã«ã ããšãã¯ãããã¹ããã£ã«ã¿ãå°åããããŒãžæ°ãæ°ããäœ æ¥ãããªããŠã¯ãªããŸããããã®äœæ¥ã¯ãéåžžãå°åããè¡ æ°ãæ°ãããããããªã³ã¿ã 1 ããŒãžåœããã«å°åã§ããè¡ æ°ãšæ¯èŒããããšã§ãããªãããŸãã ããã¹ããã£ã«ã¿ã¯ã次ã®ãããªåŒæ°ãä»ããŠèµ·åãããŸãã
+
`filter-name [ -c ] -w __width__ -l __length__ -i __indent__ -n __login__ -h __host__ __acct-file__`
+
ããã§ã
+
`-c`:::
`lpr -l` ã«ãã£ãŠãžã§ããå
¥åããããšãã«äžããããŸãã
_width_:::
[.filename]#/etc/printcap# ã§æå®ããã `pw` (page width) é
ç®ã®å€ãäžããããŸããããã©ã«ãã¯ã 132 ã§ãã
_length_:::
`pl` (page length) é
ç®ã§æå®ãããå€ãäžããããŸãã ããã©ã«ã㯠66 ã§ãã
_indent_:::
`lpr -i` ã«ãã£ãŠäžããããåäžãã®éã§ã ããã©ã«ã㯠0 ã§ãã
_login_:::
ãã¡ã€ã«ãå°åãããŠãŒã¶ã®ã¢ã«ãŠã³ãåã äžããããŸãã
_host_:::
ãžã§ããå
¥åããããã¹ãåã äžããããŸãã
_acct-file_:::
`af` é
ç®ã§æå®ãããŠãã課éããŒã¿ãã¡ã€ã« ã®ååãäžããããŸãã
* __倿ãã£ã«ã¿__ã¯ã ç¹å®ã®ãã¡ã€ã«åœ¢åŒãããªã³ã¿ ãçŽã«å°åã§ãããããªãã®ã«å€æããŸããããšãã°ã ããªã³ã¿ã§ ditroff çµçããŒã¿ãçŽæ¥å°åããããšã¯ã§ããŸããã ããããditroff ããŒã¿ãããªã³ã¿ãæ¶åãã å°åããããšãã§ãã圢åŒãžå€æããããã«ãditroff ãã¡ã€ã«çšãã£ã«ã¿ãã€ã³ã¹ããŒã«ããããšãã§ããŸãã ã<<printing-advanced-convfilters, 倿ãã£ã«ã¿>>ã ã§ããããã«é¢ãããã¹ãŠã«ã€ããŠèª¬æããŸãã ããªã³ã¿ã®èª²éãããå¿
èŠãããå Žåã¯ã 倿ãã£ã«ã¿ã§ãå°åããŒãžãæ°ããäœæ¥ãå¿
èŠãšãªããŸãã 倿ãã£ã«ã¿ã¯æ¬¡ã®åŒæ°ããšã£ãŠèµ·åãããŸãã
+
`filter-name -x __pixel-width__ -y __pixel-height__ -n __login__ -h __host__ __acct-file__`
+
ããã§ã_pixel-width_ ã¯ã `px` é
ç®ã§æå®ãããå€ (ããã©ã«ã㯠0)ã _pixel-height_ ã¯ã `py` é
ç®ã§æå®ãããå€ (ããã©ã«ã㯠0) ã§ãã
* __åºåãã£ã«ã¿__ã¯ã ããã¹ããã£ã«ã¿ãæå®ãã㊠ãããããã€ã ãããããŒãžã®åºåãèš±å¯ãããŠããå Žåã«ã®ã¿äœ¿ãããŸãã ã<<printing-advanced-of, åºåãã£ã«ã¿>>ãã§ããããã®ããšã«ã€ããŠèª¬æããŸãã åºåãã£ã«ã¿ã«å¯ŸããåŒæ°ã¯æ¬¡ã® 2 ã€ã ãã§ãã
+
`filter-name -w __width__ -l __length__`
+
ããã§ã`-w` ãš `-l` ã¯ã ããã¹ããã£ã«ã¿ã®å Žåãšåãã§ãã
ãã£ã«ã¿ã¯ã次ã«ç€ºãçµäºç¶æ
ããã£ãŠããã°ã©ã ã _exit_ ããã¹ãã§ãã
exit 0::
ãã£ã«ã¿ããã¡ã€ã«ãæ£åžžã«å°åããå Žåã
exit 1::
ãã£ã«ã¿ã¯ãã¡ã€ã«ã®å°åã«å€±æãããã LPD ã«å床ãã¡ã€ã«ã®å°åã詊ã¿ãŠæ¬²ããå Žåã ãã®çµäºç¶æ
ã§çµäºããå ŽåãLPD ã¯ãã£ã«ã¿ãåã¹ã¿ãŒãããŸãã
exit 2::
ãã£ã«ã¿ã¯ãã¡ã€ã«ã®å°åã«å€±æãããã€ãLPD ã«ååºåã詊ã¿ãŠæ¬²ãããªãå Žåããã®å ŽåãLPD ã¯ãã®ãã¡ã€ã«ãæŸæ£ããŸãã
FreeBSD ã«ä»å±ããããã¹ããã£ã«ã¿ [.filename]#/usr/libexec/lpr/lpf# ã¯ãFORM FEED æåãéããããšããããªã³ã¿äœ¿çšã«å¯Ÿãã課éãã©ã®ããã«ããããæ±ºå®ããããã«ã ããŒãžå¹
ãããŒãžé·ã®åŒæ°ãå©çšããŸãããŸãã 課éçšã®ãšã³ããªãäœæããããããã°ã€ã³åããã¹ãåã 課éãã¡ã€ã«åã®åŒæ°ãå©çšããŸãã
ããããã£ã«ã¿ã®è³Œå
¥ãæ€èšããŠãããªãã°ãLPD ãšäºææ§ããããã©ããã確èªããŠãã ããããããããªãã°ã äžè¿°ã®åŒæ°ãªã¹ãããµããŒãããŠããªããã°ãªããŸããã äžè¬åãã®äœ¿çšã®ããã«ãã£ã«ã¿ãäœæããèšç»ãããŠããå Žåã¯ã åãåŒæ°ãªã¹ããšçµäºã³ãŒãããµããŒãããŠãã ããã
[[printing-advanced-if-conversion]]
==== ãã¬ã€ã³ããã¹ãã®ãžã§ãã PostScript(R) ããªã³ã¿ã§å°åãã
ã³ã³ãã¥ãŒã¿ãš PostScript(R) (ãŸãã¯ãä»ã®èšèªã«å¯Ÿå¿ãã) ããªã³ã¿ãããªããã䜿çšããªãå Žåã¯ãããªã³ã¿ã«ã㬠ã€ã³ããã¹ãã絶察ã«éããªãããããŠã ããªã³ã¿ã«ãã¬ã€ã³ããã¹ããéãããã£ãŠãã æ§ã
ãªããã°ã©ã ã®æ©èœã決ããŠäœ¿ããªãããšã«ããŠãã ãããããããã°ã ãã®ç¯ã«æžãããããšã«å¿ãç
©ãããå¿
èŠã¯ãŸã£ãããªããªããŸãã
ããããPostScript(R) ãšãã¬ã€ã³ããã¹ãã®äž¡æ¹ã®ãžã§ããããªã³ã¿ãžéããããšæã£ãŠããå Žåã¯ã ããªã³ã¿èšå®ã«ã€ããŠã®èŠæ±ãå¢ããã§ãããã äž¡è
ãããªã³ã¿ãžéä¿¡ããããã«ã¯ã å°çãããžã§ãããã¬ã€ã³ããã¹ãã§ããã PostScript(R) ã§ããããæ€åºããããã¹ããã£ã«ã¿ãå¿
èŠã§ãã PostScript(R) ã®ãžã§ãã¯ãã¹ãŠ `%!` ã§å§ãŸããªããã°ãªããªãããšã«ãªã£ãŠããŸã (ä»ã®ããªã³ã¿èšèªã«é¢ããŠã¯ã ããªã³ã¿ã®ããã¥ã¡ã³ããã芧ãã ãã)ã ãžã§ãã®æåã® 2 æåããããªãã°ãPostScript(R) ã§ããããšãåãããŸãã ãããã£ãŠã ãžã§ãã®ãã以éã®éšåãããªã³ã¿ã«çŽæ¥éãããšãã§ããŸã (蚳泚: PostScript(R) ã§ã¯ã_%_ 以éã¯ã³ã¡ã³ããšããŠæ±ãããã®ã§ãæåã® _%!_ ã®è¡ãèªã¿æšãŠãŠãåé¡ã¯ãªã)ã æåã®2æåã _%!_ ã§ãªãå Žåã¯ã ãã£ã«ã¿ã¯ããã¹ãã PostScript(R) ã«å€æãã ãã®çµæã䜿ã£ãŠå°åããããªããŸãã
ãã®äœæ¥ãã©ããã£ãŠããã°ããã®ã§ããããã
ã·ãªã¢ã«ããŒãã«ããªã³ã¿ãæ¥ç¶ããå Žåã¯ã `lprps` ãã€ã³ã¹ããŒã«ããããšããå§ãããŸãã `lprps` 㯠PostScript(R) çšã®ãã£ã«ã¿ã§ã ããªã³ã¿ãšã®åæ¹åéä¿¡ããããªããŸãã ãã®ãã£ã«ã¿ã§ã¯ãããªã³ã¿ããã®åé·ãªæ
å ±ãåŸãããšã§ã ããªã³ã¿ã®ç¶æ³ã瀺ããã¡ã€ã«ãæŽæ°ãããŠãããŸãã ãããã£ãŠããŠãŒã¶ã管çè
㯠(``ãããŒæ®éå°``ã ``çŽè©°ãŸã``ãšãã£ã) ããªã³ã¿ã®ç¶æ³ãæ£ç¢ºã«ç¥ãããšãã§ããŸãããããã ãã£ãšéèŠãªããšã¯ã`psif` ãšåŒã°ããããã°ã©ã ãå«ãŸããŠãããšããããšã§ãã ãã®ããã°ã©ã ã¯ã å
¥åããããžã§ãããã¬ã€ã³ããã¹ããã©ãããæ€åºãã ããã PostScript(R) ã«å€æããããã«ã`textps` (`lprps` ã«ä»å±ããå¥ã®ããã°ã©ã ) ãåŒã³åºããŸãããããŠããã®ãžã§ããããªã³ã¿ã«éãããã«ã `lprps` ã䜿ãããŸãã
`lprps` 㯠FreeBSD Ports Collection ã«å«ãŸããŠããŸã (crossref:ports[ports,Ports Collection] ãåç
§ããŠãã ãã)ã çŽã®ãµã€ãºã«åãã㊠package:print/lprps-a4[] ãŸã㯠package:print/lprps-letter[] port ãã€ã³ã¹ããŒã«ããŠãã ããã`lprps` ãã€ã³ã¹ããŒã«ããåŸã¯ã`lprps` ã®äžéšã§ãã `psif` ããã°ã©ã ã®ãã¹åãæå®ããã ãã§ããPorts Collection ãã `lprps` ãã€ã³ã¹ããŒã«ãããšãã¯ã [.filename]#/etc/printcap# ã®äžã®ã·ãªã¢ã«æ¥ç¶ãã PostScript(R) ããªã³ã¿ã®ãšã³ããªã«å¯ŸããŠã次ã䜿ã£ãŠãã ããã
[.programlisting]
....
:if=/usr/local/libexec/psif:
....
LPD ã«ããªã³ã¿ããªãŒãã»ã©ã€ãã¢ãŒãã§ãªãŒãã³ãããããã«ã `rw` é
ç®ãæå®ãã¹ãã§ãã
ãã©ã¬ã«ããŒãæ¥ç¶ã® PostScript(R) ããªã³ã¿ã®å Žå (ããªãã¡ã `lprps` ã å¿
èŠãšããŠããããªã³ã¿ãšã®åæ¹åéä¿¡ãã§ããªã)ã ããã¹ããã£ã«ã¿ãšããŠæ¬¡ã®ã·ã§ã«ã¹ã¯ãªããã䜿ãããšãã§ããŸãã
[.programlisting]
....
#!/bin/sh
#
# psif - Print PostScript or plain text on a PostScript printer
# Script version; NOT the version that comes with lprps
# Installed in /usr/local/libexec/psif
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# PostScript job, print it.
#
echo "$first_line" && cat && printf "\004" && exit 0
exit 2
else
#
# Plain text, convert it, then print it.
#
( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
exit 2
fi
....
äžèšã®ã¹ã¯ãªããã«ãããŠã`textps` ã¯ãã¬ã€ã³ããã¹ããã PostScript(R) ãžå€æããããã«å¥ã«ã€ã³ã¹ããŒã«ããããã°ã©ã ã§ãã ããã¹ããã PostScript(R) ãžå€æããã®ã«ã¯ã ã奜ã¿ã®ã©ããªããã°ã©ã ã§ã䜿ãããšãã§ããŸããFreeBSD Ports Collection (crossref:ports[ports,Ports Collection] ãåç
§ããŠãã ãã) ã«ã¯ã`a2ps` ãšåŒã°ããããã¹ããã PostScript(R) ã«å€æããããã°ã©ã ãå
¥ã£ãŠããŸãã
[[printing-advanced-ps]]
==== é PostScript(R) ããªã³ã¿ã«ãã PostScript(R) ã®ã·ãã¥ã¬ãŒã
PostScript(R) ã¯è³ªã®é«ãçµçãšå°åããããªãããã® __äºå®äžã®__æšæºã§ããããããªãããPostScript(R) ã¯ã__é«äŸ¡ãª__æšæºã§ãããããããããšã«ã Aladdin Enterprises ãã Ghostscript ãšåŒã°ããã PostScript(R) äºæã®åäœãããããªãŒã®ããã°ã©ã ãåºãããŠããŠã FreeBSD ã§åããŸãã Ghostscript ã¯ã»ãšãã©ã® PostScript(R) ãã¡ã€ã«ãèªãããšãã§ãã ãããã®åããŒãžãå€ãã®ãã©ã³ãã®é PostScript(R) ããªã³ã¿ãå«ã æ§ã
ãªããã€ã¹çšã«å€æããããšãã§ããŸãã Ghostscript ãã€ã³ã¹ããŒã«ãã ããªã³ã¿çšã®ç¹å¥ãªããã¹ããã£ã«ã¿ã䜿ãããšã«ãã£ãŠã é PostScript(R) ããªã³ã¿ãããããæ¬ç©ã® PostScript(R) ããªã³ã¿ã§ãããã®ããã«åäœãããããšãã§ããŸãã
Ghostscript 㯠FreeBSD Ports Collection ã«å
¥ã£ãŠããŸãã è€æ°ã®ããŒãžã§ã³ããããŸãããæãè¯ã䜿ãããŠããããŒãžã§ã³ã¯ package:print/ghostscript-gpl[] ã§ãã
PostScript(R) ããªã³ã¿ãã·ãã¥ã¬ãŒããããå Žåã¯ã ããã¹ããã£ã«ã¿ã« PostScript(R) ãã¡ã€ã«ãå°åããããšããŠãããã©ãããæ€åºãããŸãã PostScript(R) ãã¡ã€ã«ã§ãªãå Žåã¯ã ãã£ã«ã¿ã¯ãã®ãã¡ã€ã«ãçŽæ¥ããªã³ã¿ã«éããŸã (蚳泚: ããã¹ããã¡ã€ã«ãçŽæ¥å°åã§ããªãå Žåã¯ããã¡ããã 倿ãã£ã«ã¿ãéãå¿
èŠããããŸã)ãPostScript(R) ã®å Žåã¯ã ãŸããGhostscript ã䜿ãã ãã¡ã€ã«ããã®ããªã³ã¿ãçè§£ã§ãã圢åŒãžå€æããŸãã
次ã®äŸã®ã¹ã¯ãªããã¯ãHewlett Packard DeskJet 500 ããªã³ã¿çš ã®ããã¹ããã£ã«ã¿ã§ãã ä»ã®ããªã³ã¿ã§çšãããšãã¯ã`-sDEVICE` åŒæ°ã `gs` (Ghostscript) ã³ãã³ãã«å€ããŠãã ãã (`gs -h` ãšå
¥åãããšãçŸåšã€ã³ã¹ããŒã«ãããŠãã Ghostscript ã§ãµããŒããããŠããããã€ã¹ã®ãªã¹ããåŸãããŸã)ã
[.programlisting]
....
#!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
# Installed in /usr/local/libexec/ifhp
#
# Treat LF as CR+LF (to avoid the "staircase effect" on HP/PCL
# printers):
#
printf "\033&k2G" || exit 2
#
# Read first two characters of the file
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it.
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
-sOutputFile=- - && exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form feed
# at the end to eject the last page.
#
echo "$first_line" && cat && printf "\033&l0H" &&
exit 0
fi
exit 2
....
æåŸã«ã`if` é
ç®ãéããŠãLPD ã«ãã®ãã£ã«ã¿ãæããŠããå¿
èŠããããŸãã
[.programlisting]
....
:if=/usr/local/libexec/ifhp:
....
ããã§ãããŸãã§ãã`lpr plain.text` ãšã `lpr whatever.ps` ãšå
¥åããŠã¿ãŸããããã©ã¡ããæ£åžžã«å°åãããã¯ãã§ãã
[NOTE]
====
æ¥æ¬èªãå°åããå Žåã¯ã æ¥æ¬èªå¯Ÿå¿ã® Ghostscript ãå¿
èŠã§ããæ¥æ¬èªå¯Ÿå¿çã® Ghostscript ã Ports Collection ã«å
¥ã£ãŠããŸãã
====
[[printing-advanced-convfilters]]
==== 倿ãã£ã«ã¿
ã<<printing-simple,ããªã³ã¿èšå®å°å
¥ç·š>>ã ã«æžãããç°¡åãªèšå®ãå®äºããããæåã«ã ãã£ãŠã¿ãããšæãããšã¯ãå€å (ãã¬ã€ã³ ASCII ããã¹ãã«å ããŠ) 奜ã¿ã®ãã¡ã€ã«åœ¢åŒã®ããã®å€æãã£ã«ã¿ãã€ã³ã¹ããŒã«ããããšã§ãããã
===== ãªãã倿ãã£ã«ã¿ãã€ã³ã¹ããŒã«ããã®ã?
倿ãã£ã«ã¿ã«ãã£ãŠã æ§ã
ãªçš®é¡ã®ãã¡ã€ã«ãå°åããããšãç°¡åã«ãªããŸããããšãã°ãTeX çµçã·ã¹ãã ã§ããããã®ä»äºããããšä»®å®ããŸãããã ãããŠãPostScript(R) ããªã³ã¿ãæ¥ç¶ ãããŠãããšããŸãã ãããšãTeX ã§ DVI ãã¡ã€ã«ãäœæãã床ã«ãDVI ãã¡ã€ã«ãå°åããããã«ã ããã PostScript(R) ãã¡ã€ã«ã«å€æããå¿
èŠããããŸãã ãã®ã³ãã³ãã¯æ¬¡ã®ããã«ãªãã§ãããã
[source,shell]
....
% dvips seaweed-analysis.dvi
% lpr seaweed-analysis.ps
....
DVI ãã¡ã€ã«çšã®å€æãã£ã«ã¿ãã€ã³ã¹ããŒã«ããŠãããšã LPD ã«å€æãè©ä»£ãããããããšã§æ¯åæ¯å ãããªããªããã°ãªããªãã£ãé¢åãªå€æäœæ¥ãçãããšãã§ããŸãã ã€ãŸããDVI ãçæãããã æ¬¡ã®ãããªã³ãã³ããå
¥åããã ãã§ããããå°åãããŸãã
[source,shell]
....
% lpr -d seaweed-analysis.dvi
....
LPD ã« DVI ãã¡ã€ã«ã®å€æããããããã«ã¯ã `-d` ãªãã·ã§ã³ ãæå®ããŸãã 倿ãªãã·ã§ã³ã®ãªã¹ãã¯ã<<printing-lpr-options-format, æŽåœ¢ãšå€æã«é¢ãããªãã·ã§ã³>>ã ã«èŒããŠãããŸãã
å€åã®ãªãã·ã§ã³ã®ãããããããªã³ã¿ã« ãµããŒããããããã«ã¯ã __倿ãã£ã«ã¿__ãã€ã³ã¹ããŒã«ãã ãã®ãã¹åã [.filename]#/etc/printcap# ã®äžã§æå®ããªããŠã¯ãªããŸããã倿ãã£ã«ã¿ã¯ã ãã¬ã€ã³ããã¹ããå°åãã代ããã«ããã£ã«ã¿ã¯ãã¡ã€ã«ã ããªã³ã¿ãçè§£ã§ãã圢åŒã«å€æãããšãããé€ãã°ã ãããªã³ã¿ã®ç°¡åãªèšå®ãã§èª¬æããããã¹ããã¡ã€ã« (ã<<printing-textfilter, ããã¹ããã£ã«ã¿ã®ã€ã³ã¹ããŒã«>>ã ãèŠãŠäžãã) ã«äŒŒãŠããŸãã
===== ã©ã®å€æãã£ã«ã¿ãã€ã³ã¹ããŒã«ãã¹ãã?
䜿ããããšæã倿ãã£ã«ã¿ãã€ã³ã¹ããŒã«ãã¹ãã§ãã DVI ã®ããŒã¿ãé »ç¹ã«å°åãããªãã°ãDVI 倿ãã£ã«ã¿ ãã€ã³ã¹ããŒã«ããã®ãé©åã§ããããå°åããªããŠã¯ãªã ãªã troff ã倧éã«æ±ããŠããå Žåã¯ãå€åã troff ãã£ã«ã¿ã欲ãããªãã¯ãã§ãã
次ã®è¡šã¯ãLPD ã§åäœãããã£ã«ã¿ãšã [.filename]#/etc/printcap# ãã¡ã€ã«ã§ã®ãšã³ããªããé
ç®ããããŠã `lpr` ã³ãã³ãã§åŒã³åºãæ¹æ³ããŸãšãããã®ã§ãã
[.informaltable]
[cols="1,1,1", frame="none", options="header"]
|===
| ãã¡ã€ã«åœ¢åŒ
| /etc/printcapé
ç®
| lpr ãªãã·ã§ã³
|cifplot
|`cf`
|`-c`
|DVI
|`df`
|`-d`
|plot
|`gf`
|`-g`
|ditroff
|`nf`
|`-n`
|FORTRAN text
|`rf`
|`-f`
|troff
|`tf`
|`-f`
|raster
|`vf`
|`-v`
|ãã¬ã€ã³ããã¹ã
|`if`
|ãªãã`-p`ããŸã㯠`-l`
|===
å
ã®äŸã®ããã«ã`lpr -d` ã䜿ãããã«ã¯ãåºåå
ã®ããªã³ã¿ã® [.filename]#/etc/printcap# å
ã®ãšã³ããªã§ã `df` é
ç®ãå¿
èŠã§ããããšãåãããŸãã
åè«ã¯ããããç¥ããŸããããFORTRAN ããã¹ãã plot ã®ãããªåœ¢åŒã¯ãå€åãå»ããŠãŠããã§ãããã ããªãã®ãµã€ãã§ãèªåã®ãã£ã«ã¿ãã€ã³ã¹ããŒã«ããã ãã§ã ããªã³ããªãã·ã§ã³ã®ããã€ãããããã¯ã å
šéšã«æ°ããæå³ãäžããããšãã§ããŸããããšãã°ã Printerleaf ãã¡ã€ã« (Interleaf ãã¹ã¯ããããããªãã·ã³ã°ããã°ã©ã ã«ãããã¡ã€ã«) ãçŽæ¥å°åããããšããŸãã ãããŠãPrinterleaf çšã®å€æãã£ã«ã¿ã `gf` é
ç®ã§ æå®ãããã¹ã«ã€ã³ã¹ããŒã«ããã°ã`lpr -g` ã®æå³ã¯ "Printerleaf ãã¡ã€ã«ãå°åãã" æå³ã ãšãŠãŒã¶ã«æããããšãã§ããŸãã
===== 倿ãã£ã«ã¿ã®ã€ã³ã¹ããŒã«
倿ãã£ã«ã¿ã¯ FreeBSD ã®åºæ¬ã·ã¹ãã ã®ã€ã³ã¹ããŒã«ãšã¯å¥ã«ã€ã³ã¹ããŒã«ããããã°ã©ã ãªã®ã§ã 倿ãã£ã«ã¿ã¯ã [.filename]#/usr/local# ãã£ã¬ã¯ããªã®äžã«çœ®ãã¹ãã§ãããã ãã£ã«ã¿ã¯ LPD ã ããå®è¡ããç¹å¥ãªããã°ã©ã ã ããªãã¡ãäžè¬ãŠãŒã¶ãå®è¡ããå¿
èŠãããªãããã°ã©ã ãªã®ã§ã [.filename]#/usr/local/libexec# ãã£ã¬ã¯ããªã«çœ®ãã®ãæ®éã§ãã
倿ãã£ã«ã¿ã䜿çšå¯èœã«ããããã«ã¯ã [.filename]#/etc/printcap# ã®ç®çã®ããªã³ã¿ã®é©åãªé
ç®ã« ãã£ã«ã¿ããããã¹åãæå®ããŸãã
DVI 倿ãã£ã«ã¿ãããªã³ã¿ `bamboo` ã®ãšã³ããªã«å ããŠã¿ãŸããããããªã³ã¿ `bamboo` ã® `df` é
ç®ãæ°ãã«å ãã [.filename]#/etc/printcap# ãã¡ã€ã«ã®äŸã以äžã«åæ²ããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose - added df filter for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/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 ãã£ã«ã¿ã¯ [.filename]#/usr/local/libexec/psdf# ãšãã ååã®ã·ã§ã«ã¹ã¯ãªããã§ãã ãã®ã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªã£ãŠããŸãã
[.programlisting]
....
#!/bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
#
# Invoked by lpd when user runs lpr -d
#
exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
....
ãã®ã¹ã¯ãªããã§ã¯ã`dvips` ããã£ã«ã¿ã¢ãŒã (åŒæ° `-f`) ã§ã æšæºå
¥åäžã§èµ·åããŠããŸããæšæºå
¥åã¯å°åãããžã§ãã§ãã ãããããPostScript(R) ããªã³ã¿çšãã£ã«ã¿ `lprps` (ããã«ã€ããŠã¯ã<<printing-advanced-if-conversion, ãã¬ã€ã³ããã¹ãã®ãžã§ãã PostScript(R) ããªã³ã¿ã§å°åãã>>ã ãåç
§ããŠãã ãã) ã LPD ã«äžããããåŒæ°ãä»ããŠèµ·åããŸãã `lprps` ã¯ãããã®åŒæ°ãå°åãããããŒãžåã®èª²éããããªãããã«äœ¿ãããŸãã
===== 倿ãã£ã«ã¿ã®ãã®ä»ã®äŸ
倿ãã£ã«ã¿ã®ã€ã³ã¹ããŒã«ã«ã¯æ±ºãŸã£ãã¹ãããããªãã®ã§ã ãã®ç¯ã§ã¯ãäŸããã£ãšæããããšã«ããŸãã ãããèªåã§ãã£ã«ã¿ãäœãéã®ã¬ã€ãã«ããŠãã ããã é©åœãªäŸããã£ãããããããã®ãŸãŸäœ¿ã£ãŠãã ããã
次ã®ã¹ã¯ãªããäŸã¯ãHewlett Packard LaserJet III-Si ã®ããã®ãraster (ãããšã»ã»å®ã¯ãGIF ãã¡ã€ã«) çšã®å€æãã£ã«ã¿ã§ãã
[.programlisting]
....
#!/bin/sh
#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
PATH=/usr/X11R6/bin:$PATH; export PATH
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
&& exit 0 \
|| exit 2
....
ããã§ã¯ãGIF ãã¡ã€ã«ãã PNM (portable anymap) 圢åŒã«å€æããæ¬¡ã« PGM (portable graymap) 圢åŒã«å€æããŠããã LaserJet/PCL-äºæããŒã¿ã«å€æããŠããŸãã
äžèšã®ãã£ã«ã¿ã䜿ãããªã³ã¿ã®ããã®ãšã³ããªãä»ãå ãã [.filename]#/etc/printcap# ãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
[.programlisting]
....
#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:\
:vf=/usr/local/libexec/hpvf:
....
次ã®ã¹ã¯ãªããã¯ãPostScript(R) ããªã³ã¿ `bamboo` ã®ããã® groff çµçã·ã¹ãã ã® troff ããŒã¿ã®ããã®å€æãã£ã«ã¿ã§ãã
[.programlisting]
....
#!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
#
exec grops | /usr/local/libexec/lprps "$@"
....
äžèšã®ã¹ã¯ãªããã§ã¯ããªã³ã¿ãšã®éä¿¡ããããªãããã `lprps` ããŸãå©çšããŠããŸãã ããªã³ã¿ããã©ã¬ã«ããŒãã«æ¥ç¶ãããŠããå Žåã¯ã代ããã«ã 次ã®ã¹ã¯ãªããã䜿ããããããŸããã
[.programlisting]
....
#!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
#
exec grops
....
ããã§å®æããŸãããæ¬¡ã«ããã£ã«ã¿ã䜿çšå¯èœã«ãããã ã« [.filename]#/etc/printcap# ã«å ããå¿
èŠããããšã³ããªã瀺ããŸãã
[.programlisting]
....
:tf=/usr/local/libexec/pstf:
....
次ã®äŸãã¿ãããFORTRAN ã®ããã©ã³ã¯èµ€é¢ãããããããŸããã ãã® FORTRAN ããã¹ããã£ã«ã¿ã¯ã ãã¬ã€ã³ããã¹ããçŽæ¥å°åã§ãããã¹ãŠã®ããªã³ã¿ã§å©çšã§ããŸãã ãã®ãã£ã«ã¿ãããªã³ã¿ `teak` ã«ã€ã³ã¹ããŒã«ããããšã«ããŸãããã
[.programlisting]
....
#!/bin/sh
#
# hprf - FORTRAN text filter for LaserJet 3si:
# Installed in /usr/local/libexec/hprf
#
printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0
exit 2
....
ãããŠããã®ãã£ã«ã¿ã䜿çšå¯èœã«ããããã以äžã®è¡ã [.filename]#/etc/printcap# ã®ããªã³ã¿ `teak` ã®ãšã³ããªã«å ããŸãã
[.programlisting]
....
:rf=/usr/local/libexec/hprf:
....
ãããæåŸã®ããããŠãè¥å¹²è€éãªäŸã§ããåã«ç޹ä»ãã LaserJet ããªã³ã¿ `teak` ã«ãDVI ãã£ã«ã¿ãå ãã ããšã«ããŸããããæåã«ã ç°¡åãªéšåããããªããŸããããªãã¡ãDVI ãã£ã«ã¿ã®äœçœ®ã [.filename]#/etc/printcap# ã«æžãå ããŸãã
[.programlisting]
....
:df=/usr/local/libexec/hpdf:
....
ããŠãé£ããéšåã§ãããã£ã«ã¿ã®äœæããããªããŸãã ãã®ããã«ãDVI ãã LaserJet/PCL ãžã®å€æããã°ã©ã ãå¿
èŠã§ããFreeBSD ã® Ports Collection (crossref:ports[ports,Ports Collection] ãåç
§ããŠãã ãã) ã«ã¯ãããããããŸãã package:dvi2xx[] ãšããã®ããã® port ã®ååã§ãã ãããã€ã³ã¹ããŒã«ãããšãå¿
èŠãªããã°ã©ã `dvilj2p` ã䜿ããŸãããã®ããã°ã©ã 㯠DVI ã LaserJet IIpãLaserJet IIIããã㊠LaserJet 2000 ã®äºæã³ãŒããžå€æããŠãããŸãã
`dvilj2p` ã¯ãã£ã«ã¿ `hpdf` ãæ¥µããŠè€éã«ããŠããŸãã ãªããªãã`dvilj2p` ã¯æšæºå
¥åããããŒã¿ãèªã¿èŸŒãããšãã§ããªãããã§ãã ãã®ããã°ã©ã ãåãããããã«ã¯ããã¡ã€ã«åãå¿
èŠã§ãã ãã£ãšæªãããšã«ããã¡ã€ã«å㯠[.filename]##.dvi## ã§çµãã£ãŠããå¿
èŠããããæšæºå
¥åã®ä»£ããã«ã [.filename]##/dev/fd/0## ã䜿ãã®ã¯åé¡ããããŸãã ãã®åé¡ã¯ã([.filename]##.dvi## ã§çµãã) äžæçãªãã¡ã€ã«åãã[.filename]##/dev/fd/0## ã« (ã·ã³ããªãã¯ãª) ãªã³ã¯ã匵ã ããšã§åé¿ããããšãã§ããŸããããã§ã `dvilj2p` ã«åŒ·å¶çã«æšæºå
¥åããããŒã¿ãèªã¿èŸŒãŸããããšãã§ããŸãã
ãã1ã€ã®åé¡ã¯ãäžæçãªãªã³ã¯ã匵ãããã« [.filename]#/tmp# ãã£ã¬ã¯ããªã䜿ãããšãã§ããªããšããäºå®ã§ãã ã·ã³ããªãã¯ãªã³ã¯ã¯ãŠãŒã¶ãã°ã«ãŒãã `bin` ã§ãããŠãŒã¶ã«ææãããŠããŸãããã£ã«ã¿ã¯ãŠãŒã¶ `daemon` ãšããŠèµ·åããŸãããããŠã [.filename]#/tmp# ãã£ã¬ã¯ããªã¯ã¹ãã£ãããŒããããç«ã£ãŠããŸãã ãã£ã«ã¿ã¯ãªã³ã¯ãäœãããšãã§ããŸãããããã ãªã³ã¯ã¯å¥ã®ãŠãŒã¶ã«ææãããŠããããã äœæ¥ãçµäºãããšãããã®ãªã³ã¯ãåé€ããããšãã§ããŸããã
ãã®ä»£ããã«ãã·ã³ããªãã¯ãªã³ã¯ã¯çŸåšã®äœæ¥ãã£ã¬ã¯ããªã ããªãã¡ãã¹ããŒãªã³ã°ãã£ã¬ã¯ã㪠([.filename]#/etc/printcap# ã® `sd` é
ç®ã§æå®ãã) ã«äœãããšã«ããŸãã ãã£ã«ã¿ãäœæ¥ããã«ã¯ããã®å Žæã¯å®ç§ãªå Žæã§ããªããªãã ç¹ã«ãã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®ã㣠ã¹ã¯ã®ç©ºã容é㯠(ãšãã©ã) [.filename]#/tmp# ãã£ã¬ã¯ããªãããããããããããã§ãã
以äžã«ç€ºãã®ãæåŸã®ãã£ã«ã¿ã§ãã
[.programlisting]
....
#!/bin/sh
#
# hpdf - Print DVI data on HP/PCL printer
# Installed in /usr/local/libexec/hpdf
PATH=/usr/local/bin:$PATH; export PATH
#
# Define a function to clean up our temporary files. These exist
# in the current directory, which will be the spooling directory
# for the printer.
#
cleanup() {
rm -f hpdf$$.dvi
}
#
# Define a function to handle fatal errors: print the given message
# and exit 2. Exiting with 2 tells LPD to do not try to reprint the
# job.
#
fatal() {
echo "$@" 1>&2
cleanup
exit 2
}
#
# If user removes the job, LPD will send SIGINT, so trap SIGINT
# (and a few other signals) to clean up after ourselves.
#
trap cleanup 1 2 15
#
# Make sure we are not colliding with any existing files.
#
cleanup
#
# Link the DVI input file to standard input (the file to print).
#
ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
#
# Make LF = CR+LF
#
printf "\033&k2G" || fatal "Cannot initialize printer"
#
# Convert and print. Return value from dvilj2p does not seem to be
# reliable, so we ignore it.
#
dvilj2p -M1 -q -e- dfhp$$.dvi
#
# Clean up and exit
#
cleanup
exit 0
....
[[printing-advanced-autoconv]]
===== èªå倿: ãã®ä»ã®å€æãã£ã«ã¿
ãããŸã§ã«è¿°ã¹ãŠãããã£ã«ã¿ã«ãã£ãŠã å°åç°å¢ã®èœçãäžãã£ãããšãšæããŸãããããã ããã¯ã©ã®ãã£ã«ã¿ã䜿ããã (man:lpr[1] ã®ã³ãã³ãã©ã€ã³äžã§) ãŠãŒã¶ãæå®ããªããŠã¯ãªããªããšããä»£äŸ¡ãæ¯æã£ãŠå®çŸãããŠããŸãã ã³ã³ãã¥ãŒã¿ã®äºæ
ã«ããŸã詳ãããªããŠãŒã¶ã«ãšã£ãŠã ãã£ã«ã¿ã®ãªãã·ã§ã³ãæå®ããããããšããããšã¯ ããããããããããã®ã«ãªãã§ããããæŽã«æªãããšã«ã ééã£ããã£ã«ã¿ãªãã·ã§ã³ãæå®ããããšã ééã£ã圢åŒã®ãã¡ã€ã«ããã®ãã£ã«ã¿ã«é©çšãããããšã«ãªãã ãã®çµæãäœçŸæãã®çŽãåãåºãããšã«ãªããããããŸããã
ãã®ãããªçµæã«ãªããªãã°ã 倿ãã£ã«ã¿ãã€ã³ã¹ããŒã«ããããããããã ããã¹ããã£ã«ã¿ (ãããããã©ã«ããã£ã«ã¿ãªã®ã§) ã«å°åããããèŠæ±ããããã¡ã€ã«ã®åœ¢åŒãæ€åºãããèªåçã«ã é©åãªå€æãã£ã«ã¿ãèµ·åããããã«ããããšæããããããŸããã ããã§ã¯ `file` ã³ãã³ãã®ãããªããŒã«ã圹ç«ãããããšãã§ããŸãã ãã¡ããã_ããã€ãã®_ ãã¡ã€ã«åœ¢åŒã®éããèŠåããããšã¯é£ããããšã§ãããã ãããŠããã¡ããããããã®ãã¡ã€ã«ã«å¯ŸããŠã¯ã 倿ãã£ã«ã¿ãæäŸããã ãã§æžãŸãããšãã§ããã®ã§ãã
FreeBSD Ports Collection ã«ã¯ã`apsfilter` (package:print/apsfilter[]) ãšåŒã°ããèªå倿ããããªãããã¹ããã£ã«ã¿ããããŸãã ãã®ãã£ã«ã¿ã¯ ãã¬ã€ã³ããã¹ããPostScript(R), DVI ãªã©ãã»ãšãã©ãã¹ãŠã®ãã¡ã€ã«åœ¢åŒãæ€åºããé©åœãªå€æããããªã£ãåŸã ããŒã¿ãå°åããããšãã§ããŸãã
[[printing-advanced-of]]
==== åºåãã£ã«ã¿
LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã§ã¯ã ãããŸã§ã«ãŸã åãäžããŠããªããã£ã«ã¿åœ¢åŒã åºåãã£ã«ã¿ããµããŒãããŠããŸããåºåãã£ã«ã¿ã¯ã ããã¹ããã£ã«ã¿ã®ããã«ã ãã¬ã€ã³ããã¹ãã®ã¿ãå°åããããã«æå³ããããã®ã§ããã éåžžã«ç°¡ååãããŠããŸããããã¹ããã£ã«ã¿ãçšããã«ã åºåãã£ã«ã¿ã䜿ã£ãŠããå Žåã¯ã次ã®ããã«ãªããŸãã
* LPD ã¯ãžã§ãäžã®åãã¡ã€ã«ã«äžåºŠã§ã¯ãªãã ãžã§ãå
šäœã«å¯ŸããŠäžåºŠã ãåºåãã£ã«ã¿ãèµ·åããŸãã
* LPD ã¯åºåãã£ã«ã¿ã«å¯Ÿãã ãžã§ãäžã®ãã¡ã€ã«ã®å
é ãæ«å°Ÿãç¹å®ããããã®å¯Ÿçã äžåãããªã£ãŠããŸããã
* LPD ã¯ãŠãŒã¶ã®ãã°ã€ã³åããã¹ãåããã£ã«ã¿ã«æž¡ããŸããã ãããã£ãŠã課éã®åŠçããããªãããšã¯èããŠããŸããã å®éãåºåãã£ã«ã¿ã«ã¯ã以äž2ã€ã®åŒæ°ããäžããããŸããã
+
`filter-name -w__width__ -l__length__`
+
ããã§ã_width_ ã¯å¯Ÿè±¡ãšãªãããªã³ã¿ã® `pw` é
ç®ã _length_ 㯠`pl` é
ç®ã«æå®ãããæ°ã§ãã
åºåãã£ã«ã¿ã®ç°¡äŸ¿ãã«èªæãããŠã¯ãããŸãããããã ãžã§ãäžã®ããããã®ãã¡ã€ã«ã«å¥ã®ããŒãžçªå·ãä»å ããããšããŠãã åºåãã£ã«ã¿ã¯__ããŸãåäœããªãã§ããã__ã ãã®ãããªåäœãæåŸ
ããŠãããªãã°ã (å
¥åãã£ã«ã¿ãšããŠãç¥ãããŠãã) ããã¹ããã£ã«ã¿ã䜿ã£ãŠãã ããã 詳ããã¯ãã<<printing-textfilter, ããã¹ããã£ã«ã¿ã®ã€ã³ã¹ããŒã«>>ããã芧ãã ããã ããã«ãåºåãã£ã«ã¿ã¯ãå®ã®ãšããã __ãã£ãšè€é__ã«ãªã£ãŠããŸãããŸãã ç¹æ®ãªãã©ã°æåãæ€åºããããã«ã ãã£ã«ã¿ã«éãããŠãããã€ãã¹ããªãŒã ãæ€æ»ããå¿
èŠããããŸãã ãŸããLPD ã«ä»£ãã£ãŠã èªåèªèº«ã«ã·ã°ãã«ãéããªããã°ãªããŸããã
ããããªããããããããŒãžã®å°åããããªããããŠã ãšã¹ã±ãŒãã·ãŒã±ã³ã¹ããããããŒãžãå°åã§ããããã«ãããã®ä»ã®åæåæååãéä¿¡ããå¿
èŠãããå Žåã¯ã åºåãã¡ã€ã«ã__å¿
èŠ__ã§ãã (ãããã ãããããŒãžãèŠæ±ãããŠãŒã¶ã«å¯ŸããŠèª²éããããšããã®ããŸãç¡é§ãªããšã§ãã LPD ã¯åºåãã£ã«ã¿ã«ãŠãŒã¶ããã¹ãã®æ
å ±ãæž¡ããŸãã)ã
1 å°ã®ããªã³ã¿ã«å¯ŸããLPD ã§ã¯åºåãã£ã«ã¿ãšããã¹ãããã®ä»ã®ãã£ã«ã¿ãäž¡æ¹äœ¿ãããšãã§ããŸãã ãã®ãããªå ŽåãLPD ã¯ãããããŒãž (ã<<printing-advanced-header-pages, ãããããŒãž>>ã ãåç
§ããŠãã ãã) ã ããå°åãããããã«ãåºåãã£ã«ã¿ãèµ·åãããŸãã ãããã LPD ã§ã¯ãåºåãã£ã«ã¿ã« 2 ãã€ãã®æå (ASCII 031 ã®æ¬¡ã« ASCII 001) ãéãããšã§ã åºåãã£ã«ã¿ã__èªåèªèº«ã忢ãã__ããšãæåŸ
ããŠããŸãã 2 ãã€ã (031, 001) ãåºåãã£ã«ã¿ã«éããããšãã åºåãã£ã«ã¿ã¯èªåèªèº«ã«ã·ã°ãã« `SIGSTOP` ãéãããšã«ãã£ãŠåæ¢ããã¯ãã§ãã LPD ããã®ä»ã®ãã£ã«ã¿ãåããçµãããšã åºåãã£ã«ã¿ã«ã·ã°ãã« `SIGCONT` ãéã£ãŠãåºåãã£ã«ã¿ãåèµ·åããŸãã
åºåãã£ã«ã¿ãããã ããã¹ããã£ã«ã¿ã__ãªã__å Žåã LPD ã¯ãã¬ã€ã³ããã¹ããžã§ããæ±ãå Žåã«ã åºåãã£ã«ã¿ã䜿ããŸããåè¿°ããããã«ãåºåãã£ã«ã¿ã§ã¯ã ãžã§ãäžã®åãã¡ã€ã«ã®éã« FORM FEED æåãçŽãéãä»ã®æåãå
¥ããããšã¯ããŸããã ãã®åäœã¯å€åã ããªããæ±ããŠãããã®ãšã¯__ç°ãªã£ãŠãã__ã§ãããã ã»ãšãã©ã®å Žåã«ãããŠãããã¹ããã£ã«ã¿ãå¿
èŠãªã¯ãã§ãã
ããã°ã©ã `lpf` ã¯ã ããã¹ããã£ã«ã¿ã®é
ã§æ¢ã«ç޹ä»ããŸãããã åºåãã£ã«ã¿ãšããŠãåäœãããããšãã§ããŸããããã ç°¡äŸ¿ã§æ¥µæªãªåºåãã£ã«ã¿ãå¿
èŠã§ããã€ã ãã€ãã¹ããªãŒã ãæ€æ»ãããã·ã°ãã«ãéãã³ãŒããæžããããªããšãã«ã¯ã `lpf` ãã詊ããã ããã ãããã¯ãããªã³ããèŠæ±ããåæåã³ãŒããéãããã«ã `lpf` ãã·ã§ã«ã¹ã¯ãªããã«å
ãã§äœ¿ãããšãã§ããŸãã
[[printing-advanced-lpf]]
==== ããã¹ããã£ã«ã¿ `lpf`
ããã°ã©ã [.filename]#/usr/libexec/lpr/lpf# ã¯ã FreeBSD ã® ãã€ããªé
åžã«ä»å±ããŠããããã¹ããã£ã«ã¿ (å
¥åãã£ã«ã¿) ã§ãåºåãåäžãããã (`lpr -i` ã§ãžã§ããå
¥åã ãããšã)ã æåãæªåŠçã®ãŸãŸããªã³ã¿ã«éã£ãã (`lpr -l` ã§ãžã§ããå
¥åããããšã)ã ãžã§ãäžã®ããã¯ã¹ããŒã¹ãã¿ãã®å°åäœçœ®ã調ç¯ãããã å°åããããŒãžã«å¯ŸããŠèª²éãããããããšãã§ããŸãããŸãã ãã®ãã£ã«ã¿ã¯åºåãã£ã«ã¿ãšããŠãåäœãããããšãã§ããŸãã
`lpf` ãã£ã«ã¿ã¯å€ãã®å°åç°å¢ã«ãããŠäœ¿çšããããšã«é©ããŠããŸãã ãã®ãã£ã«ã¿ã«ã¯ãããªã³ã¿ã«åæåæååãéãæ©èœã¯ãããŸãããã å¿
èŠãšãããåæåããããªãããããã `lpf` ãå®è¡ãããããã®ã·ã§ã«ã¹ã¯ãªãããäœæããã®ã¯ããããããšã§ãã
`lpf` ã«å¯ŸããŠã å°åããŒãžãžã®èª²éãæ£ç¢ºã«ãããªãããããã«ã¯ã [.filename]#/etc/printcap# ãã¡ã€ã«ã®äžã® `pw` ãš `pl` ã®é
ç®ã«æ£ç¢ºãªå€ãå
¥ããŠããå¿
èŠããããŸãããããã®å€ã¯ã ã©ã®ãããã®éã®ããã¹ããããŒãžã«ãã£ãããããããŸãã ãŠãŒã¶ã®ãžã§ããäœããŒãžããã®ãã調ã¹ãããã«äœ¿ãããŸãã ããªã³ã¿ã®èª²éã«ã€ããŠã®è©³ããæ
å ±ã«ã€ããŠã¯ãã<<printing-advanced-acct, ããªã³ã¿ã®å©çšã«å¯Ÿãã課é>>ããã芧ãã ããã
[[printing-advanced-header-pages]]
=== ãããããŒãž
ããªãã管çããã·ã¹ãã ã®ãŠãŒã¶ã __ãããã__ããã ãŠãŒã¶å
šå¡ãæ§ã
ãªããªã³ã¿ã䜿çšããå Žåãå€åã å¿
èŠæªã§ãã__ãããããŒãž__ã å°åãããããšãæ€èšããããšæããããããŸããã
ãããããŒãžã¯ã_ãããŒ_ ãšã _ããŒã¹ãããŒãž_ ãšããŠãç¥ãããŠããŸããã åºåããããžã§ãã誰ã«ãããã®ãªã®ããç¹å®ãããåãããããŸãã å°åçµæã®å±±ã®äžã«ãããŠã ãŠãŒã¶ã®ãžã§ãã«ãã£ãŠå°åãããæ¬ç©ã®ããã¥ã¡ã³ãéšåãããéç«ãããããã«ã ãããããŒãžã¯ãéåžžãå€åãçžãè£
食ãããŠãã倧ããªå€ªæåã§å°åãããŸãã ãããããŒãžã«ããã ãŠãŒã¶ã¯èªåãåºãããžã§ããã©ãã«ããã®ãããã°ããèŠã€ããããšãã§ããŸãã ãããããŒãžã®æ¬ ç¹ã¯ãæããã«ããã¹ãŠã®ãžã§ãã«å¯ŸããŠã çŽã 1 æäœåã«å°åããããšããããšã§ãã ãã®çŽã®æå¹æéã¯çãã2 ïœ 3 åãç¶ããŸãããæçµçã«ã ãããã®çŽã¯åå©çšçŽå
¥ãã®äžãããã®å±±ã«å
¥ããããããšã§ããã (ãããããŒãžã¯ãžã§ãäžã®åãã¡ã€ã«æ¯ã«å°åãããã®ã§ã¯ãªãã ãžã§ãæ¯ã«å°åããããšããããšã«æ³šæããŠãã ããããããã£ãŠã çŽã®æ¶è²»ã¯ããã»ã©ã²ã©ãã¯ãªããããããŸãã)ã
_ãã_ã ããªã³ã¿ããã¬ã€ã³ããã¹ããçŽæ¥å°åã§ãããªãã°ãLPD ã·ã¹ãã ã¯å°åç©ã«å¯ŸããŠèªåçã«ãããããŒãžãä»ããããšãã§ããŸãã PostScript(R) ããªã³ã¿ã䜿ã£ãŠããå Žåã¯ã ãããããŒãžãçæããå€éšããã°ã©ã ãå¿
èŠã«ãªããŸããããã«ã€ããŠã¯ã ã<<printing-advanced-header-pages-ps,PostScript(R) ããªã³ã¿ã§ã®ãããããŒãž>>ããã芧ãã ããã
[[printing-advanced-header-pages-enabling]]
==== ãããããŒãžã®å°åãèš±å¯ãã
ã<<printing-simple,ããªã³ã¿èšå®å°å
¥ç·š >>ãç¯ã§ã¯ã[.filename]#/etc/printcap# ãã¡ã€ã«ã® `sh` (''suppress header'' : "ããããäŸçµŠããªã" ãšããæå³) ãæå®ããŠã ãããããŒãžã®å°åãæ¢ããŠããŸããã ããªã³ã¿ã§ã®ãããããŒãžã®å°åãèš±å¯ããã«ã¯ã `sh` é
ç®ãåãé€ãã ãã§ããã®ã§ãã
ãšãŠãç°¡åããã«èŠãããã©ãæ¬åœããª?
ããã¯æ¬åœã§ãã ããªã³ã¿ã«åæåæååãéãããã® åºåãã£ã«ã¿ãçšæããªããŠã¯ãªããªããããããŸãããæ¬¡ã«ãHewlett Packard PCL äºæããªã³ã¿ã®äŸãæããŸãã
[.programlisting]
....
#!/bin/sh
#
# hpof - Output filter for Hewlett Packard PCL-compatible printers
# Installed in /usr/local/libexec/hpof
printf "\033&k2G" || exit 2
exec /usr/libexec/lpr/lpf
....
`of` é
ç®ã«åºåãã£ã«ã¿ã®ãã¹åãæå®ããŠãã ããã 詳现ã«ã€ããŠã¯ãã<<printing-advanced-of,åºåãã£ã«ã¿>>ãç¯ ãã芧ãã ããã
次ã«ã以å玹ä»ããããªã³ã¿ `teak` ã®ããã® [.filename]#/etc/printcap# ãã¡ã€ã«ã®äŸã瀺ããŸããããã§ã¯ã ãããããŒãžã®å°åãèš±å¯ããäžèšã®åºåãã£ã«ã¿ã远å ããŸããã
[.programlisting]
....
#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/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 -h` ã«ãã£ãŠãžã§ããå
¥åããããšã§ã ãããããŒãžã®å°åãæ¢ããããšãã§ããŸãã ãã以å€ã® man:lpr[1] ã®ãªãã·ã§ã³ã«ã€ããŠã¯ã ã<<printing-lpr-options-misc, ãããããŒãžçšãªãã·ã§ã³>>ãç¯ãã芧ãã ããã
[NOTE]
====
LPD ã§ã¯ããããããŒãžã®æåŸã«ã FORM FEED æåãå°åãããŸãã ããªã³ã¿ã«çŽæåºããããããã«ãå¥ãªæåã ãããã¯ãå¥ãªæååãå©çšãããŠããå Žåã¯ã [.filename]#/etc/printcap# äžã® `ff` é
ç®ã§æå®ããããšãã§ããŸãã
====
[[printing-advanced-header-pages-controlling]]
==== ãããããŒãžãå¶åŸ¡ãã
ãããããŒãžã®å°åãèš±å¯ãããŠãããšãLPD 㯠__é·ãããã__ãäœããŸããããã«ã¯ã çŽå
šé¢ã«å€§ããªæåã§ãŠãŒã¶åããã¹ãåã ãžã§ãåãæžãããŠããŸããæ¬¡ã«ããã®ãããããŒãžã®äŸã瀺 ããŸã (`kelly` ããžã§ãå "outline" ã `rose` ãšãããã¹ãããå°å ãããå Žå)ã
[source,shell]
....
k ll ll
k l l
k l l
k k eeee l l y y
k k e e l l y y
k k eeeeee l l y y
kk k e l l y y
k k e e l l y yy
k k eeee lll lll yyy y
y
y y
yyyy
ll
t l i
t l
oooo u u ttttt l ii n nnn eeee
o o u u t l i nn n e e
o o u u t l i n n eeeeee
o o u u t l i n n e
o o u uu t t l i n n e e
oooo uuu u tt lll iii n n eeee
r rrr oooo ssss eeee
rr r o o s s e e
r o o ss eeeeee
r o o ss e
r o o s s e e
r oooo ssss eeee
Job: outline
Date: Sun Sep 17 11:04:58 1995
....
LPD ã¯ãã®ããã¹ãã®çµããã« FORM FEED æåãå ããŸã ã®ã§ããžã§ãã¯æ°ããããŒãžããéå§ãããŸã (ãã ãã [.filename]#/etc/printcap# ã§åºåå
ã®ããªã³ã¿ã®ãšã³ããªã« `sf` (suppress form feeds) ãæå®ãããŠãããšãã¯ã ã®éãã§ã¯ãããŸãã)ã
ãæã¿ãªãã°ãLPD ã«__çããããããŒãž__ãåºåãããããšãã§ããŸãã ãã®å Žåã¯ã [.filename]#/etc/printcap# ãã¡ã€ã«ã®äžã§ `sb` (short banner) ãæå®ããŠãã ããã ãããããŒãžã¯æ¬¡ã®ããã«ãªããŸãã
[source,shell]
....
rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
....
ããã©ã«ãã§ã¯ãLPD ã¯ãããããŒãžãæåã«å°åããæ¬¡ã«ãžã§ãã®å°åããããªããŸãã ãã®é çªãéã«ãããšãã¯ã [.filename]#/etc/printcap# ã§ `hl` (header last) ãæå®ããŠãã ããã
[[printing-advanced-header-pages-accounting]]
==== ãããããŒãžã«å¯Ÿãã課é
LPD ã«åãã£ãŠãããããããŒãžåºåæ©èœã䜿ããšã å
¥åããããžã§ãã«å¯ŸããŠèª²éããããªãããšãã§ããŠãã ãããããŒãžã¯__ç¡æ__ã§æäŸããªããŠã¯ãªããªãã ãšããç¹æã®ããæ¹ã匷èŠãããŸãã
ãªãã§ããããã
åºåãã£ã«ã¿ã¯åãªãå€éšããã°ã©ã ãªã®ã§ã 課éãããããã®å¶åŸ¡ããããªããšããã°ã ããã¯ãããããŒãžãå°åãããšãã§ãããåºåãã£ã«ã¿ã«ã¯ã _ãŠãŒã¶åãšãã¹ãå_ ã®æ
å ±ã課éæ
å ±ãæ ŒçŽãããã¡ã€ã«ãã©ã㪠ã®ããšããããšãç¥ããããŸããããããããåºåãã¡ã€ã«ã«ã¯ã 誰ã«ããªã³ã¿å©çšã®èª²éããããªãã°ããã®ããåãããªãã®ã§ãã ããã¹ããã£ã«ã¿ããã®ä»ã®å€æãã£ã«ã¿ (ãããã®ãã£ã«ã¿ã¯ãŠãŒã¶ããã¹ãã®æ
å ±ãç¥ããããŸã) ãåºåããŒãžã®ææ°ã« "1 ããŒãžåæ°Žå¢ããã" ã ãã§ã¯ååã§ã¯ãããŸããã ãªããªãããŠãŒã¶ã¯ `lpr -h` ã« ãã£ãŠãããããŒãžã®åºåãæ¢ããããšãã§ããããã§ãã ãã¿ããã« 1 ããŒãžãæ°Žå¢ããããšã å°åãããŠãããªããããããŒãžã«å¯Ÿãã æéããšãããšã«ãªããŸããåºæ¬çã«ã`lpr -h` ã¯ç°å¢ã«åªããå¿ãæã€ãŠãŒã¶ã«å¥œãŸãããªãã·ã§ã³ã§ããã ããã䜿ãããã«å¥šå±ããããšãã§ããŸããã
åã
ã®ãã£ã«ã¿ã«ç¬èªã®ãããããŒãžãçæããã (ãã®çµæããããããŒãžã«èª²éããããšãã§ãã) ãšããæ¹æ³__ã§ãååã§ãããšã¯ãããŸãã__ã ãã®å ŽåãLPD ã¯ãã£ã«ã¿ã« `-h` ã®æ
å ±ãéããŸããã®ã§ã`lpr -h` ã«ãã£ãŠãããããŒãžãå°åããªããªãã·ã§ã³ãéžæãããšããŠãã äŸç¶ãšããŠãããããŒãžã¯å°åããã ãã®åã®èª²éããããªãããŠããŸããŸãã
ã§ã¯ãã©ã®ãããªéžæè¢ãããã®ã§ããããã
ãããããŒãžãžã®èª²éã«é¢ããŠã¯ã 次ã®ããšãã§ããŸãã
* LPD ã®ããæ¹ãåãå
¥ãã ãããããŒãžã¯ç¡æãšããã
* LPRng ãªã©ã® LPD ã®ä»£æ¿åãã€ã³ã¹ããŒã«ããã LPD ãšå
¥ãæ¿ããå¯èœãªä»ã®ã¹ããŒãªã³ã°ãœãããŠã§ã¢ã«é¢ããŠã¯ã <<printing-lpd-alternatives,æšæºã¹ããŒã©ã®ä»£æ¿å>> ãã芧ãã ããã
* _ã¹ããŒããª_ åºåãã£ã«ã¿ãäœæãããéåžžã åºåãã£ã«ã¿ã¯ããªã³ã¿ãåæåãããã åçŽãªæåå倿ãããçšåºŠã®åãããããŸããã (ããã¹ã (å
¥å) ãã£ã«ã¿ããªãå Žå) åºåãã£ã«ã¿ã¯ãããããŒãžãšãã¬ã€ã³ããã¹ãã®å°åããããªãã®ã«é©ããŠããŸãã ãã¬ã€ã³ããã¹ããå°åããããã®ããã¹ããã£ã«ã¿ããªãå Žåã LPD ã¯ãããããŒãžãå°åããããã ãã®ç®çã§åºåãã£ã«ã¿ãèµ·åããŸãã ãããŠãLPD ãçæãããããããŒãžã®ããã¹ããè§£æããããšã«ããã åºåãã£ã«ã¿ã¯ãããããŒãžã«èª²éããããã«å¿
èŠãªãŠãŒã¶åãš ãã¹ãåãååŸããããšãã§ããŸãããã®æ¹åŒã®å¯äžã®åé¡ç¹ã¯ã åºåãã£ã«ã¿ã¯èª²éæ
å ±ãæ ŒçŽããããŒã¿ãã¡ã€ã«ã®ååãç¥ãããšã ã§ããªããšããããšã§ã (`af` é
ç®ã§æå®ããããã¡ã€ã«å㯠åºåãã¡ã€ã«ã«æž¡ãããŸãã)ãããããæ¢ç¥ã® ååã®èª²éããŒã¿ãã¡ã€ã«ã䜿ãã®ãªãã°ã ãã®ååãåºåãã£ã«ã¿ã®ããã°ã©ã äžã«åã蟌ãããšãã§ããŸãã è§£æã®æé ãç°¡åã«ããããã«ã¯ã [.filename]#/etc/printcap# ã§ `sh` é
ç® (çãããããæå®) ã䜿ããšããã§ãããã ãããŠãŸãã ãããŸã§ã®æ¹æ³ã¯å°ãªããã¬ãã©ãã«ãçãããããããããŸããã ãããªãã°ããã¡ãããŠãŒã¶ã¯ãããããŒãžãç¡æã§ æäŸããŠãããæ°åã®ããã·ã¹ãã 管çè
ã«æè¬ããããšã§ãããã
[[printing-advanced-header-pages-ps]]
==== PostScript(R) ããªã³ã¿ã§ã®ãããããŒãž
ãããŸã§ã«è¿°ã¹ãããã«ãLPD ã§ã¯ãã¬ã€ã³ããã¹ãã®ãããããŒãžãããããã®ããªã³ã¿ã«åãããã«çæããããšãã§ããŸãã æ®å¿µãªãããPostScript(R) ããªã³ã¿ã¯ã ãã¬ã€ã³ããã¹ããçŽæ¥å°åããããšãã§ããŸãããã§ãããã LPD ã®ãããããŒãžæ©èœã¯ãŸã£ããã ãããã¯ã»ãšãã©ã®å Žåã圹ã«ç«ã¡ãŸããã
ãããããŒãžãåºåããããã®èªæãªæ¹æ³ã®1ã€ã«ã ãã¹ãŠã®å€æãã£ã«ã¿ãšããã¹ããã£ã«ã¿ã«ãããããŒãžãçæãããæ¹æ³ããããŸãã ãã£ã«ã¿ã¯ã é©åãªãããããŒãžãçæããããã«ã ãŠãŒã¶åãšãã¹ãåã®åŒæ°ã䜿ãã¹ãã§ãããã®æ¹æ³ã®æ¬ ç¹ã¯ããã€ã§ãã `lpr -h` ã«ãã£ãŠãžã§ããå
¥åãããå Žåã§ãããã ãããããŒãžãå°åããããšããããšã§ãã
ãã®æ¹æ³ã§è©ŠããŠã¿ãŸããããæ¬¡ã®ã¹ã¯ãªããã¯ã3 ã€ã®åŒæ° (ãŠãŒã¶ ã®ãã°ã€ã³åããã¹ãåããžã§ãå) ããšããç°¡å㪠PostScript(R) çš ã®ãããããŒãžãçæããŸãã
[.programlisting]
....
#!/bin/sh
#
# make-ps-header - make a PostScript header page on stdout
# Installed in /usr/local/libexec/make-ps-header
#
#
# These are PostScript units (72 to the inch). Modify for A4 or
# whatever size paper you are using:
#
page_width=612
page_height=792
border=72
#
# Check arguments
#
if [ $# -ne 3 ]; then
echo "Usage: `basename $0` <user> <host> <job>" 1>&2
exit 1
fi
#
# Save these, mostly for readability in the PostScript, below.
#
user=$1
host=$2
job=$3
date=`date`
#
# Send the PostScript code to stdout.
#
exec cat <<EOF
%!PS
%
% Make sure we do not interfere with user's job that will follow
%
save
%
% Make a thick, unpleasant border around the edge of the paper.
%
$border $border moveto
$page_width $border 2 mul sub 0 rlineto
0 $page_height $border 2 mul sub rlineto
currentscreen 3 -1 roll pop 100 3 1 roll setscreen
$border 2 mul $page_width sub 0 rlineto closepath
0.8 setgray 10 setlinewidth stroke 0 setgray
%
% Display user's login name, nice and large and prominent
%
/Helvetica-Bold findfont 64 scalefont setfont
$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
($user) show
%
% Now show the boring particulars
%
/Helvetica findfont 14 scalefont setfont
/y 200 def
[ (Job:) (Host:) (Date:) ] {
200 y moveto show /y y 18 sub def
} forall
/Helvetica-Bold findfont 14 scalefont setfont
/y 200 def
[ ($job) ($host) ($date) ] {
270 y moveto show /y y 18 sub def
} forall
%
% That is it
%
restore
showpage
EOF
....
ãããŠã倿ãã£ã«ã¿ãããã¹ããã£ã«ã¿ãããããã æåã«ãã®ã¹ã¯ãªãããèµ·åããããšã§ã ãããããŒãžãåºåãããããããã ãŠãŒã¶ã®ãžã§ãã®å°åããããªããŸããæ¬¡ã«ã ãã®ããã¥ã¡ã³ãã®å§ãã®ã»ãã§ç޹ä»ãã DVI 倿ãã£ã«ã¿ãã ãããããŒãžãå°åããããã«å€æŽãããã®ã瀺ããŸãã
[.programlisting]
....
#!/bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
#
# Invoked by lpd when user runs lpr -d
#
orig_args="$@"
fail() {
echo "$@" 1>&2
exit 2
}
while getopts "x:y:n:h:" option; do
case $option in
x|y) ;; # Ignore
n) login=$OPTARG ;;
h) host=$OPTARG ;;
*) echo "LPD started `basename $0` wrong." 1>&2
exit 2
;;
esac
done
[ "$login" ] || fail "No login name"
[ "$host" ] || fail "No host name"
( /usr/local/libexec/make-ps-header $login $host "DVI File"
/usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args
....
ãã®ãã£ã«ã¿ããŠãŒã¶åããã¹ãåãæ±ºå®ããããã« åŒæ°ãªã¹ããã©ã®ããã«è§£æããªããŠã¯ãªããªãããšããç¹ã«æ³šæããŠãã ããã ãã®è§£ææ¹æ³ã¯ä»ã®å€æãã£ã«ã¿ã«å¯ŸããŠãåæ§ã§ãã ããããªãããããã¹ããã£ã«ã¿ã«ã€ããŠã¯ã åŒæ°ã®èšå®ãå°ãç°ãªã£ãŠããŸã (ããã«ã€ããŠã¯ãã<<printing-advanced-filters, ãã£ã«ã¿ã¯ã©ã®ããã«æ©èœããŠããã>>ã ãã芧ãã ãã)ã
åè¿°ã®éããäžèšã®ææ³ã¯ã極ããŠåçŽãªã®ã«ãé¢ããã `lpr` ã§ "ãããããŒãžãå°åããªã" ãªãã·ã§ã³ (`-h` ãªãã·ã§ã³) ã䜿ããªããªã£ãŠããŸãã ãŠãŒã¶ã森æè³æºã (ãããã¯ã ãããããŒãžã課éãããŠãããªãã°ããã®å
ããªéé¡ã)ã ç¯çŽããããšæãã§ããå Žåã§ãã ãã¹ãŠã®ãã£ã«ã¿ããã¹ãŠã®ãžã§ãæ¯ã«ãããããŒãžãå°å ããããšã«ãªã£ãŠããã®ã§ãç¯çŽããããšã¯ã§ããŸããã
ãžã§ãæ¯ã«å°åããããããããŒãžã ãŠãŒã¶ãæå¶ã§ããããã«ããããã«ã¯ãã<<printing-advanced-header-pages-accounting, ãããããŒãžã«å¯Ÿãã課é>>ãã§ç޹ä»ããããªãã¯ã 䜿ãå¿
èŠããããŸããããªãã¡ãLPD ãçæãããããããŒãžã®è§£æããããªããPostScript(R) çã®ãããããŒãžãåºåãããåºåãã£ã«ã¿ãäœãã®ã§ãã ãã®å ŽåããŠãŒã¶ã `lpr -h` ã§ãžã§ããå
¥åãããšã LPD ã¯ãããããŒãžãçæããªããªãããŸãã åºåãã£ã«ã¿ãèµ·åãããŸãããããã§ãªããªãã°ã äœæããåºåãã£ã«ã¿ã LPD ããã®ããã¹ããèªã¿èŸŒã¿ããããããŒãžãå°åããé©åœãª PostScript(R) ã®ã³ãŒããããªã³ã¿ã«éãããã§ãããã
PostScript(R) ããªã³ã¿ãã·ãªã¢ã«ããŒãã«æ¥ç¶ãããŠããå Žåã åºåãã£ã«ã¿ãšã㊠`lprps` ãã äžèšã®åäœããããªããã®ãšã㊠`psof` ã䜿ãããšãã§ããŸãããã ãã`psof` ã¯ãããããŒãžã«å¯ŸããŠèª²éããããªããŸããã®ã§æ³šæããŠãã ããã
[[printing-advanced-network-printers]]
=== ãªã¢ãŒãããªã³ã¿ããã®åºå
FreeBSD ã§ã¯ããããã¯ãŒã¯è¶ãã®å°åãããªãã¡ã ãžã§ãããªã¢ãŒãããªã³ã¿ã«éãããšããµããŒãããŠããŸãã ãªã¢ãŒãããªã³ã¿ããã®åºåãããã«ã¯ãäžè¬ã«ã 次㮠2 ã€ãåç
§ããŠãã ããã
* ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿ã«ã¢ã¯ã»ã¹ããæ¹æ³ã ããªã³ã¿ããããã¹ãã®ã·ãªã¢ã«ã ãŸãã¯ããã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã«æ¥ç¶ãããŠããå Žåã ãããã¯ãŒã¯äžã®ä»ã®ãã¹ããããã®ããªã³ã¿ã«ã¢ã¯ã»ã¹ã§ããããã« LPD ãèšå®ããŸããã<<printing-advanced-network-rm,ãªã¢ãŒããã¹ãã« æ¥ç¶ãããããªã³ã¿>>ã ã§ã©ã®ããã«ãããã説æããŸãã
* ãããã¯ãŒã¯ã«çŽæ¥æ¥ç¶ãããŠããããªã³ã¿ã«ã¢ã¯ã»ã¹ããæ¹æ³ã ããªã³ã¿ã«ãæ§æ¥ã®ã·ãªã¢ã«ããŸãã¯ã ãã©ã¬ã«ã€ã³ã¿ãã§ãŒã¹ã«å ã㊠(ãããã¯ããããã«ä»£ãã£ãŠ) ãããã¯ãŒã¯çšã®ã€ã³ã¿ãã§ãŒã¹ãããå Žåã ãã®ãããªããªã³ã¿ã¯æ¬¡ã®ããã«åäœããã§ãããã
** ãã®ããªã³ã¿ã LPD ã®ãããã³ã«ãçè§£ã§ãããªã¢ãŒããã¹ãããã®ãžã§ãã ãã¥ãŒã«å
¥ããããšããã§ããå Žåããã®å Žåã ããªã³ã¿ã¯ãLPD ãèµ·åããŠããäžè¬ã®ãã¹ãã®ããã«æ¯ãèããŸãã ãã®ãããªããªã³ã¿ãèšå®ããããã«ã ã<<printing-advanced-network-rm, ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿>>ã ãšåæ§ã®æé ããããªã£ãŠãã ããã
** ãã®ããªã³ã¿ãã ããŒã¿ã¹ããªãŒã ã«ãããããã¯ãŒã¯æ¥ç¶ããµããŒãããŠããå Žåã ãã®å Žåããããã¯ãŒã¯äžã®1ã€ã®ãã¹ããšããŠããªã³ã¿ã "æ¥ç¶" ããŸãã ãã®ãã¹ãã¯ããžã§ããã¹ããŒãªã³ã°ãã責任ãè² ãã ã¹ããŒãªã³ã°ããããžã§ãã¯ããªã³ã¿ã«éãããŸãã ãã®ãããªããªã³ã¿ãã€ã³ã¹ããŒã«ããããã®ããã€ãã®ææ¡ã ã<<printing-advanced-network-net-if, ãããã¯ãŒã¯ã«ãããããŒã¿ã¹ããªãŒã ã® ã€ã³ã¿ãã§ãŒã¹ãæã€ããªã³ã¿>>ãã«ãããŸãã
[[printing-advanced-network-rm]]
==== ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿
LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã§ã¯ LPD (ãŸã㯠LPD äºæã®ã·ã¹ãã ) ãèµ·åããŠããä»ã®ãã¹ããžãžã§ããéãæ©èœã å§ããããµããŒããããŠããŸãããã®æ©èœã«ããã ãããã¹ãã«æ¥ç¶ãããããªã³ã¿ãžã ä»ã®ãã¹ãããã¢ã¯ã»ã¹ã§ããããã«ãªããŸãããŸãã LPD ãããã³ã«ãçè§£ãããããã¯ãŒã¯ã€ã³ã¿ãã§ãŒã¹ãæã£ãããªã³ã¿ã«å¯ŸããŠãã ãã®æ©èœã¯åããŸãã
ãªã¢ãŒãããªã³ã¿ãžã®åºåãèš±å¯ããããã«ã¯ãæåã«ã ãããã¹ã (ãããã __ããªã³ã¿ãã¹ã__ãšåŒã³ãŸã) ã«ããªã³ã¿ãæ¥ç¶ããŸãããããŠãã<<printing-simple, ããªã³ã¿èšå®å°å
¥ç·š>>ã ã«æžãããç°¡åãªããªã³ã¿ã®èšå®ããããªã£ãŠãã ããã å¿
èŠãªãã°ãã<<printing-advanced,ããªã³ã¿èšå®äžçŽç·š>>ã ã«ãããæŽã«é²ãã èšå®ããããªã£ãŠãã ããããããŠã ãã®ããªã³ã¿ããã¹ãããŠããŸãåäœããããšã確èªããLPD ã«èš±å¯ããæ©èœãããŸãåããã©ãããèŠãŠãã ãããããã« __ããŒã«ã«ãã¹ã__ã __ããªã³ã¿ãã¹ã__ã® LPD ãµãŒãã¹ã®äœ¿çšãèš±å¯ãããŠããã確èªããŠäžãã (ã<<printing-advanced-restricting-remote, ãªã¢ãŒããã¹ãããã®å©çšãå¶éãã >>ãåç
§)ã
LPD äºæã®ãããã¯ãŒã¯ã€ã³ã¿ãã§ãŒã¹ãæã€ããªã³ã¿ã䜿çšããŠããå Žåã¯ã ãã®ããªã³ã¿èªèº«ã以äžã§èª¬æãã __ããªã³ã¿ãã¹ã__ã«ãªããŸãããããŠã __ããªã³ã¿å__ãšã¯ã ãã®ããªã³ã¿ã«èšå®ããååã®ããšãæããŸãã ããã«ã€ããŠã¯ãããªã³ã¿ãããã³ (ãŸãã¯)ã ããªã³ã¿ã®ãããã¯ãŒã¯ã€ã³ã¿ãã§ãŒã¹ã«ä»å±ããããã¥ã¡ã³ããåç
§ããŠãã ããã
[TIP]
====
ãã¥ãŒã¬ããã»ããã«ãŒã瀟㮠Laserjet ã·ãªãŒãºã䜿çšããŠããå Žåã«ã¯ã ããªã³ã¿åã `text` ãšãããšã èªåçã« LF ãã CRLF ãžã®å€æãè¡ãªãããŸãã ãã®ããã[.filename]#hpif# ã¹ã¯ãªããã¯å¿
èŠãããŸããã
====
次ã«ã ãã®ããªã³ã¿ã«ã¢ã¯ã»ã¹ããããšæã£ãŠããä»ãã¹ãã«ãããŠã ãã®ãã¹ãã® [.filename]#/etc/printcap# ãã¡ã€ã«ã«æ¬¡ã«ããããšã³ããªãäœããŸãã
. ååã®ãšã³ããªãã©ããªååã§ãããã®ã§ãããç°¡åã®ãããå€åã ããªã³ã¿ãã¹ãã§èšå®ãããããªã³ã¿åãå¥åãšåããã®ã䜿ããããšæãã§ãããã
. `lp` é
ç®ã§æå®ãããããã€ã¹ã¯æç€ºçã«ç©ºã«ããŸã (`:lp=:` ãšããŸã)ã
. ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªãäœæãã `sd` é
ç®ã§ãã®äœçœ®ãæå®ããŸãã LPD ã§ã¯ãããªã³ã¿ãã¹ãã«ãžã§ããéä¿¡ãããŸã§ã®éã ãã®ãã£ã¬ã¯ããªã«ãžã§ããæ ŒçŽããŸãã
. `rm` é
ç®ã§ããªã³ã¿ãã¹ãã®ååãæå®ããŸãã
. `rp` é
ç®ã§ __ããªã³ã¿ãã¹ã__ã«æ¥ç¶ããããªã³ã¿åãæå®ããŸãã
ããã§çµããã§ãã 倿ãã£ã«ã¿ãããŒãžã®å€§ããããã®ä»ã®äºé
ã [.filename]#/etc/printcap# ã«å ããå¿
èŠã¯ãããŸããã
次ã«ã ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿ã§å°åããããã®èšå®äŸã瀺ããŸãã ãã¹ã `rose` ã«ã¯ 2 å°ã®ããªã³ã¿ `bamboo` ãš `rattan` ãæ¥ç¶ãããŠããŸãããããã®ããªã³ã¿ããã¹ã `orchid` ã®ãŠãŒã¶ã䜿ããããã«ããŸããããæåã« `orchid` ã® [.filename]#/etc/printcap# ã瀺ããŸã (ãã®ãã¡ã€ã«ã¯ãã<<printing-advanced-header-pages-enabling, ãããããŒãžã®åºåãèš±å¯ãã>>ã ã§åç
§ããããšãã§ããŸã)ããã®ãã¡ã€ã«ã«ã¯ãæ¢ã«ãããªã³ã¿ `teak` çšã®ãšã³ããªããããŸããã以äžã§ã¯ã ããã«ããã¹ã `rose` ã«ãã2å°ã®ããªã³ã¿çšã®ãšã³ããªãå ããããŠããŸãã
[.programlisting]
....
#
# /etc/printcap for host orchid - added (remote) printers on rose
#
#
# teak is local; it is connected directly to orchid:
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/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` ã§å¿
èŠãšãªãäœæ¥ã¯ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªãäœãããšã ãã§ãã
[source,shell]
....
# 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` ã®ãŠãŒã¶ã次ã®ããã«å
¥åãããšããŸãã
[source,shell]
....
% lpr -P bamboo -d sushi-review.dvi
....
ãããšã`orchid` ã® LPD ã·ã¹ãã ã¯ã ãžã§ããã¹ããŒãªã³ã°ãã£ã¬ã¯ã㪠[.filename]#/var/spool/lpd/bamboo# ã«ã³ããŒããããã DVI ãã¡ã€ã«ãå°åãããžã§ãã§ããããšãèšé²ããŸãã ãã¹ã `rose` ã® `bamboo` ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã«ååãªå®¹éã確ä¿ã§ã次第ã äž¡è
ã® LPD ã¯ããžã§ãã®ãã¡ã€ã«ã `rose` ã«è»¢éããŸãã ãã®ãã¡ã€ã«ã¯ããã®ãã¹ãŠãå°åããããŸã§ã`rose` ã®ãã¥ãŒã«çãŸããŸãã (`bamboo` 㯠PostScript(R) ããªã³ã¿ãªã®ã§) DVI ãã PostScript(R) ãžã®å€æã¯ `rose` ã§ãããªãããŸãã
[[printing-advanced-network-net-if]]
==== ãããã¯ãŒã¯ã«ãããããŒã¿ã¹ããªãŒã ã® ã€ã³ã¿ãã§ãŒã¹ãæã€ããªã³ã¿
ããªã³ã¿ã®ãããã¯ãŒã¯ã€ã³ã¿ãã§ãŒã¹ã«ãŒãã¯ã 2 çš®é¡ã«åé¡ããããšãã§ããŸãã 1 ã€ã¯ã¹ããŒã©ããšãã¥ã¬ãŒããããã® (é«äŸ¡) ã§ããã 1 ã€ã¯ã·ãªã¢ã«ããã©ã¬ã«ããŒãã䜿ãããã« ããªã³ã¿ã«ããŒã¿ãéãããšãã§ããã ãã®ãã® (å®äŸ¡) ã§ãããã®ç¯ã§ã¯ã åŸè
ã®äœ¿ãæ¹ã説æããŸããåè
ã®ããªã³ã¿ã¯ãåç¯ã<<printing-advanced-network-rm, ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿>>ã ã®æ¹æ³ãé©çšã§ããŸãã
[.filename]#/etc/printcap# ãã¡ã€ã«ã§ã¯ã ã·ãªã¢ã«ããã©ã¬ã«ã®ã€ã³ã¿ãã§ãŒã¹ã®ã©ã¡ãã䜿ãã®ãã ãããŠã(ã·ãªã¢ã«ã€ã³ã¿ãã§ãŒã¹ã䜿ãå Žå) ãã®ããŒã¬ãŒãã¯ãããã§ãããããããŒå¶åŸ¡ã¯äœ¿ãã®ãã ã¿ãã®ããã®é
å»¶ãå ããã®ãã æ¹è¡æåã倿ããããªã©ã®æå®ããããªãããšãã§ããŸãã ããããTCP/IP ãä»ã®ãããã¯ãŒã¯ããŒãããããŒã¿ãåãåãããªã³ã¿ã æ¥ç¶ããããã®æå®ããããªãããšã¯ã§ã ãŸããã
ãããã¯ãŒã¯æ¥ç¶ãããããªã³ã¿ã«ããŒã¿ãéãããã«ã¯ã ããã¹ããã£ã«ã¿ãšå€æãã£ã«ã¿ããåŒã³åºãããšãã§ãã éä¿¡ããã°ã©ã ãéçºããå¿
èŠããããŸãã以äžã«ã ãã®ãããªããã°ã©ã ã®äŸã瀺ããŸããã¹ã¯ãªãã `netprint` ã§ã¯ã æšæºå
¥åããå°åããŒã¿ããã¹ãŠåãåãã ãããã¯ãŒã¯æ¥ç¶ãããããªã³ã¿ã«ãããéããŸãã `netprint` ã®æåã®åŒæ°ã§ããªã³ã¿ã®ãã¹ãåãã 2 çªç®ã®åŒæ°ã§æ¥ç¶ããããŒãçªå·ãæå®ããŸãã ãã®ããã°ã©ã ã§ã¯åæ¹åéä¿¡ (FreeBSD ããããªã³ã¿) ã®ã¿ããµããŒãããŠããããšã«æ³šæããŠãã ããã ãããã¯ãŒã¯ããªã³ã¿ã®å€ãã¯åæ¹åéä¿¡ããµããŒãããŠããŸãã®ã§ã ãã®æ©æµ (ããªã³ã¿ã®ç¶æ
ãåŸããã 課éããããªããªã©) ã«ãããããããšæããããããããŸããã
[.programlisting]
....
#!/usr/bin/perl
#
# netprint - Text filter for printer attached to network
# Installed in /usr/local/libexec/netprint
#
$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
$printer_host = $ARGV[0];
$printer_port = $ARGV[1];
require 'sys/socket.ph';
($ignore, $ignore, $protocol) = getprotobyname('tcp');
($ignore, $ignore, $ignore, $ignore, $address)
= gethostbyname($printer_host);
$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address);
socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol)
|| die "Can't create TCP/IP stream socket: $!";
connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
while (<STDIN>) { print PRINTER; }
exit 0;
....
ãã®ã¹ã¯ãªããã¯ã æ§ã
ãªãã£ã«ã¿ãå©çšããããšãã§ããŸããä»®ã«ãDiablo 750-N ã©ã€ã³ããªã³ã¿ãæã£ãŠããã ããããããã¯ãŒã¯ã«æ¥ç¶ãããŠãããšããŸãããã ããªã³ã¿ã¯ããŒãçªå· 5100 ã«ãŠå°åããããŒã¿ãåãåããŸãã ããªã³ã¿ã®ãã¹ãå㯠`scrivener` ãšããŸãããã®ãšãã ãã®ããªã³ã¿ã®ããã¹ããã£ã«ã¿ã¯æ¬¡ã®ããã«ãªããŸãã
[.programlisting]
....
#!/bin/sh
#
# diablo-if-net - Text filter for Diablo printer `scrivener' listening
# on port 5100. Installed in /usr/local/libexec/diablo-if-net
#
exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
....
[[printing-advanced-restricting]]
=== ããªã³ã¿ã®å©çšã«å¶çŽãäžãã
æ¬ç¯ã§ã¯ãããªã³ã¿ã®å©çšã«å¶çŽãäžããããã®æ
å ±ãèšããŠããŸãã LPD ã·ã¹ãã ã§ã¯ãããªã³ã¿ (ããŒã«ã«ã ãªã¢ãŒãã®ãããã«æ¥ç¶ãããŠããŠã) ã«ã¢ã¯ã»ã¹ã§ãã人ãå¶éããæ©èœã è€æ°éšã®ã³ããŒã®å°åã®å¯åŠãå¶åŸ¡ããæ©èœã ãžã§ãã®ãµã€ãºã®æå€§å€ãããªã³ã¿ãã¥ãŒã«å
¥ã ãžã§ãã®æå€§åæ°ãå¶åŸ¡ããæ©èœãæäŸããŠããŸãã
[[printing-advanced-restricting-copies]]
==== è€æ°éšã®ã³ããŒã®å°åãå¶éãã
LPD ã·ã¹ãã ã§ã¯ãŠãŒã¶ãè€æ°éšã®ã³ããŒã®å°åãç°¡åã«ãããªã æ©èœãæäŸããŠããŸãããŠãŒã¶ãã(ããšãã°) `lpr -#5` ã³ãã³ãã䜿ã£ãŠãžã§ããå°åãããšã ãžã§ãã®ããããã®ãã¡ã€ã«ã®ã³ããŒã 5 éšåŸãããšãã§ããŸãã ãããããæ©èœã§ãããšæããã©ããã¯äººããããã§ãããã
è€æ°éšã®ã³ããŒã®å°åã«ãã£ãŠããªã³ã¿ã å¿
èŠä»¥äžã«æ¶èããŠããŸããšæãããªãã°ã [.filename]#/etc/printcap# ãã¡ã€ã«ã« `sc` é
ç®ãå ããŠãã ãããããã«ããã man:lpr[1] ã® `-#` ãªãã·ã§ã³ã®äœ¿çšãçŠæ¢ãããŸãã ãã®ãªãã·ã§ã³ãæå®ãããŠããã«ãé¢ããã `-#` ãªãã·ã§ã³ã䜿ããšã 次ã®ãããªã¡ãã»ãŒãžã衚瀺ããã ãã®ãªãã·ã§ã³ã®å©çšã§ããªãæšãäŒããŸãã
[source,shell]
....
lpr: multiple copies are not allowed
....
ãªã¢ãŒããã¹ãããããªã³ã¿ãã¢ã¯ã»ã¹ã§ãã èšå®ã«ããŠããå Žå (ãã® èšå®ã«ã€ããŠã¯ãã<<printing-advanced-network-rm, ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿>>ã ãã芧ãã ãã)ããã®ãªã¢ãŒããã¹ãã® [.filename]#/etc/printcap# ã«ãåãããã« `sc` é
ç®ã远å ããå¿
èŠãããããšã«æ³šæããŠãã ããã ããããªããšããŠãŒã¶ã¯å¥ãªãã¹ãããè€æ°éšã®ã³ããŒã® å°åãããããšãã§ããŠããŸããŸãã
äŸã䜿ã£ãŠèª¬æããŸããããæ¬¡ã«ç€ºã [.filename]#/etc/printcap# ãã¡ã€ã«ã¯ããã¹ã `rose` ã®ãã®ã§ããããªã³ã¿ `rattan` ã¯æ¥µããŠé äžãªã®ã§ã è€æ°éšã®ã³ããŒã®å°åã¯èš±å¯ãããŠããŸãããããã ã¬ãŒã¶ããªã³ã¿ã® `bamboo` ã¯ããå°ãããªã±ãŒãã§ã ãã®ããªã³ã¿ããè€æ°éšã®ã³ããŒãå°åããããšã `sc` é
ç®ã远å ããããšã§çŠæ¢ããŠããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/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:
....
ããã«ãorchid ã® [.filename]#/etc/printcap# ã«ã
....
sc
....
é
ç®ã远å ããå¿
èŠããããŸã (`orchid` ã§ãã®ç·šéããããªã£ãŠãããšãã«ãã€ãã§ã«ãããªã³ã¿ `teak` ã§ãè€æ°éšã®ã³ããŒã®å°åãçŠæ¢ããããšã«ããŸããã)ã
[.programlisting]
....
#
# /etc/printcap for host orchid - no multiple copies for local
# printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/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 -#` ã®äœ¿çšãé²ãããšãã§ããŸãããããããã®ç¶æ
ã§ã¯ man:lpr[1] ãè€æ°åèµ·åãããã 1 åã®ãžã§ãã§æ¬¡ã®ããã«åããã¡ã€ã«ãè€æ°åæå®ããããšãé²ããŸã§ã«ã¯è³ã£ãŠããŸããã
[source,shell]
....
% lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
....
ãã®ãããªæªçšãé²ãæ¹æ³ã¯ (ãã®æç€ºãç¡èŠããããšãå«ããŠ) ãããããããŸãã åèªã§èª¿ã¹ãŠã¿ãŠãã ããã
[[printing-advanced-restricting-access]]
==== ããªã³ã¿ã䜿çšã§ãã人ãéå®ãã
ããããã®ããªã³ã¿ã䜿çšã§ãã人ãéå®ããã«ã¯ãUNIX(R) ã® ã°ã«ãŒãæš©éã®ã¡ã«ããºã ãå©çšããããã«ã [.filename]#/etc/printcap# ã§ `rg` é
ç®ãæå®ããããšã§ãããªããŸãã ããããªã³ã¿ã«ã¢ã¯ã»ã¹ãããŠããããšæããŠãŒã¶ãã¹ãŠã ã°ã«ãŒãã®ã©ããã«å
¥ããŠãã ããããããŠã ãã®ã°ã«ãŒãåã `rg` ã§æå®ããŸãã
ãã®ãšãããã®ã°ã«ãŒãã«å«ãŸããªããŠãŒã¶ (`root` ãå«ã¿ãŸã) ãããªã³ãããããšãããšã次ã®ãããªã¡ãã»ãŒãžã衚瀺ãããŸãã
[source,shell]
....
lpr: Not a member of the restricted group
....
`sc` (suppress multiple copies : è€æ°éšã®ã³ããŒã®å°åãçŠæ¢ãã) ãæå®ãããšããšåæ§ã«ã`rg` ãæå®ãããããªã³ã¿ããªã¢ãŒããã¹ããããã¢ã¯ã»ã¹ã§ã (ãã®èšå®ã«ã€ããŠã¯ã ã<<printing-advanced-network-rm, ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿>>ã ãã芧ãã ãã)ããã€ã ãã®ãã¹ãã§ãããªã³ã¿ã䜿çšã§ãã人ãéå®ããã®ã 劥åœã§ãããšæãå Žåã¯ã ãã®ãã¹ãã® [.filename]#/etc/printcap# ã«ã _rg_ æå®ããããªãå¿
èŠããããŸãã
ããšãã°ãããªã³ã¿ `rattan` ã¯èª°ã§ãå©çšã§ãããã`bamboo` ã¯ã°ã«ãŒã `artists` ã«å±ããŠãã人ã®ã¿ãå©çšã§ããããã«ããŠã¿ãŸãããã 以äžã«ãããã銎æã¿ãšãªã£ããã¹ã `rose` ã® [.filename]#/etc/printcap# ã瀺ããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/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:
....
ãã以å€ã® [.filename]#/etc/printcap# ãã¡ã€ã« (ãã¹ã `orchid` ã®ãã®) ã¯ãã®ãŸãŸã«ããŠããããšã«ããŸãããã¡ããã `orchid` ã®ãŠãŒã¶ã¯å
šå¡ `bamboo` ãå©çšããããšãã§ããŸããããã¯ã `orchid` ã«ã¯ç¹å®ã®ãŠãŒã¶ã®ã¿ã«ããã¢ã¯ã»ã¹ãããŠãããã ãã®ãŠãŒã¶ã«ã¯ããªã³ã¿ãå©çšãããããšæã£ãŠãããããªã®ãããããŸãããã ããã§ãªããããããŸããã
[NOTE]
====
1å°ã®ããªã³ã¿ãè€æ°ã°ã«ãŒãã®ãŠãŒã¶ã«å©çšãããããšã¯ã§ããŸããã
====
[[printing-advanced-restricting-sizes]]
==== å
¥åå¯èœãªãžã§ãã®ãµã€ãºãå¶éãã
ããããã®ãŠãŒã¶ããããªã³ã¿ãå©çšãããå Žåã«ã¯ãå€åã ãŠãŒã¶ãå°åèŠæ±ãåºãããšãã§ãããã¡ã€ã«ã®ãµã€ãºã« äžéå€ã眮ãå¿
èŠãçããã§ããããçµå±ã®ãšããã ã¹ããŒãªã³ã°ãã£ã¬ã¯ã㪠ã眮ãããŠãããã¡ã€ã«ã·ã¹ãã ã®ç©ºã容éããã® äžéå€ã«ãªãèš³ã§ããã ãããŠãŒã¶ããããç¬å çã«äœ¿çšããããšé¿ããããã«ã ä»ãŠãŒã¶ããã®ãžã§ãçšã®ç©ºã容éã確ä¿ããå¿
èŠããããŸãã
LPD ã§ã¯ã`mx` é
ç®ãæå®ããããšã«ããã ãžã§ãäžã®åã
ã®ãã¡ã€ã«ã®ãµã€ãºã®äžéå€ãå¶éããæ©èœãæäŸããŠããŸãã æå®ããã ãã¡ã€ã«ãµã€ãºã®åäœã¯ BUFSIZ ãããã¯ã§ã1 `BUFSIZ` ãããã¯ã¯ 1024ãã€ãã衚ãããŸãããã® `mx` é
ç®ã®å€ãšã㊠0 ãæå®ããããšã ãã¡ã€ã«ãµã€ãºã®å¶éã¯ãªããªããŸãã `mx` ãæå®ãããªãå Žåã¯ã ããã©ã«ãã®å¶éãšã㊠1000 ãããã¯ã䜿ãããŸãã
[NOTE]
====
ãã®å¶éã¯ãžã§ãäžã®å __ãã¡ã€ã«__ã«å¯ŸããŠé©çšããããã®ã§ããã ãžã§ãå
šäœã®ãµã€ãº ãå¶éãããã®ã§ã¯__ãããŸãã__ã
====
ãšããã§ã ããªã³ã¿ã«èšå®ãããäžéå€ãè¶
ãããã¡ã€ã«ãµã€ãºã® ãã¡ã€ã«ãå
¥åãããå Žåã§ããLPD ã¯ãããæåŠããŸããããã®ä»£ããã«ããã®ãã¡ã€ã«ã¯ã ãã®å
é ããäžéå€ã®ãã¡ã€ã«ãµã€ãºãŸã§ãããã¥ãŒã«å
¥ããããŸããã ãããŠããã®éšåãŸã§ãå°åããã æ®ãã®éšåã¯æšãŠãããŸãã ãããæ£ããåäœãšãããã®ãã©ããã¯è°è«ã®äœå°ããããšããã§ãã
ããã§ã¯ãèšå®äŸã«ç»å ŽããŠããããªã³ã¿ `rattan` ãš `bamboo` ã®å°åå¯èœãªãã¡ã€ã«ãµã€ãºã«å¶éãå ããŠã¿ãŸãããã `artists` ã°ã«ãŒãã®äººéãäœã PostScript(R) ãã¡ã€ã«ã®ãµã€ãºã¯ 巚倧ã«ãªãåŸåãããã®ã§ãäžéå€ã 5M ãã€ããšããŸãã ããããã ãã¬ã€ã³ããã¹ãçšã®ã©ã€ã³ããªã³ã¿ã¯ç¡å¶éãšããŸãã
[.programlisting]
....
#
# /etc/printcap for host rose
#
#
# No limit on job size:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:mx#0:sd=/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:
....
ãã®å Žåãããã§ããããã®å¶éã¯ããŒã«ã« (ãã¹ã rose) ã®ãŠãŒã¶ã®ã¿ã«é©çšãããŸãã ãªã¢ãŒããã¹ãããããªã³ã¿ãå©çšã§ããããã«èšå®ããŠããå Žåã¯ã ãã®ãªã¢ãŒããã¹ãã®ãŠãŒã¶ã¯ãã®å¶éãåããŸããã ãããã®ãŠãŒã¶ã«ãå¶éãå ããå Žåã¯ããªã¢ãŒããã¹ãã® [.filename]#/etc/printcap# ã® `mx` ãæå®ããå¿
èŠããããŸãã ãªã¢ãŒããã¹ãããå°åããããã®è©³ããæ
å ±ã«ã€ããŠã¯ã ã<<printing-advanced-network-rm, ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿>>ã ãåç
§ããŠãã ããã
ãªã¢ãŒããã¹ãã«æ¥ç¶ãããããªã³ã¿ãžã®ãžã§ãã® ãµã€ãºãå¶éããç¹å¥ãªæ¹æ³ã¯ä»ã«ããããŸããããã«ã€ããŠã¯ã ã<<printing-advanced-restricting-remote, ãªã¢ãŒããã¹ãããã®å©çšãå¶éãã>>ã ãåç
§ããŠãã ããã
[[printing-advanced-restricting-remote]]
==== ãªã¢ãŒããã¹ãããã®å©çšãå¶éãã
LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã§ã¯ã ãªã¢ãŒããã¹ãããèŠæ±ããããžã§ãã®å°åãå¶éããããã®æ¹æ³ãããã€ãæäŸãããŠããŸãã
ãã¹ãã®å¶é::
ããŒã«ã«ã® LPD ãå°åèŠæ±ãåãä»ãããªã¢ãŒããã¹ãã¯ããã¡ã€ã« [.filename]#/etc/hosts.equiv# ãš [.filename]#/etc/hosts.lpd# ã«ãã£ãŠå¶åŸ¡ããããšãã§ããŸããLPD ã§ã¯ããããã¹ãããå°åã®èŠæ±ããããšãã ãã®ãã¹ãã®ååãããã 2 ã€ã®ãã¡ã€ã«ã®ã©ã¡ããã«å«ãŸããŠãã ãã©ããã調ã¹ãŸãããããå«ãŸããŠããªãå Žåã¯ãLPD ã¯ãã®èŠæ±ãæåŠããŸãã
+
ãããã®ãã¡ã€ã«ã®åœ¢åŒã¯åçŽã§ãã åè¡ã«ãã¹ãã®ååã 1ã€ãã€æžããŠãããŸãããã¡ã€ã« [.filename]#/etc/hosts.equiv# ã®æ¹ã¯ man:ruserok[3] ãããã³ã«ã§ãå©çšããã man:rsh[1] ã man:rcp[1] ãšãã£ãããã°ã©ã ã®åäœã«åœ±é¿ããã®ã§æ³šæãå¿
èŠã§ãã [.filename]#/etc/hosts.equiv# ã®èšè¿°ã¯æ
éã«ãããªããŸãããã
+
äŸãšããŠã以äžã«ãã¹ã `rose` ã® [.filename]#/etc/hosts.lpd# ã瀺ããŸãã
+
[.programlisting]
....
orchid
violet
madrigal.fishbaum.de
....
+
ãã®äŸã§ã¯ã`rose` ã¯ãã¹ã `orchid`, `violet` ãã㊠`madrigal.fishbaum.de` ããã®èŠæ±ãåãä»ããããšã«ãªããŸãã ãã®ä»ã®ãã¹ãã `rose` ã® LPD ã«ã¢ã¯ã»ã¹ããããšããŠãã LPD ã¯ãã®ãžã§ããæåŠããŸã (蚳泚: æåŠãããã®ã¯ããã®ãã¹ãã [.filename]#/etc/hosts.equiv# ã«ãå«ãŸããŠããªãå Žåã§ã)ã
ãµã€ãºã®å¶é::
ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªããã ãã¡ã€ã«ã·ã¹ãã ã«æ®ããŠããå¿
èŠããã 空ã容éã®å€§ãããå¶åŸ¡ããããšãã§ããŸãã ããŒã«ã«ããªã³ã¿çšã®ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã« [.filename]#minfree# ãšããååã®ãã¡ã€ã«ãäœæããŸãããããŠã ãã®ãã¡ã€ã«ã®äžã«ãªã¢ãŒããã¹ãããã®ãžã§ãã® èŠæ±ãåãä»ããããã«å¿
èŠãªç©ºã容éã®ãã£ã¹ã¯ãããã¯ãµã€ãº (1 ãã£ã¹ã¯ããã㯠= 512 ãã€ã) ãèšããŸãã
+
ããã§ã ãªã¢ãŒããã¹ãã®ãŠãŒã¶ã«ãã¡ã€ã«ã·ã¹ãã ãæºæ¯ã«ãããªãããšãä¿èšŒãããŸãã ãã®æ©èœã䜿ããšã ããŒã«ã«ãã¹ãã®ãŠãŒã¶ã«å¯ŸããŠããçš®ã®åªå
æš©ãäžããããšãã§ããŸãã ããŒã«ã«ãã¹ãã®ãŠãŒã¶ã¯ã [.filename]#minfree# ãã¡ã€ã«ã§æå®ãããå€ããããã£ã¹ã¯ã®ç©ºã容éãäžåã£ãåŸã§ããã£ãšã ãžã§ãããã¥ãŒã«å
¥ããããšãã§ããã®ã§ãã
+
ããšãã°ãããªã³ã¿ `bamboo` çšã® [.filename]#minfree# ãäœã£ãŠã¿ãŸãããã ãã®ããªã³ã¿ã®ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã調ã¹ãããã«ã [.filename]#/etc/printcap# ã調ã¹ãŠã¿ãŸãããã 以äžã«ã`bamboo` ã®ãšã³ããªéšåã瀺ããŸãã
+
[.programlisting]
....
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:mx#5000:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:
....
+
ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã¯ `sd` é
ç®ã§æå®ãããŸããLPD ããªã¢ãŒããã¹ãããã®ãžã§ããåãä»ããããã«å¿
èŠãª ãã¡ã€ã«ã·ã¹ãã ã®ç©ºã容éã 3M ãã€ã (= 6144 ãã£ã¹ã¯ãããã¯) ã«ããããšã«ããŸãããã
+
[source,shell]
....
# echo 6144 > /var/spool/lpd/bamboo/minfree
....
å©çšãŠãŒã¶ã®å¶é::
[.filename]#/etc/printcap# ã® `rs` é
ç®ãæå®ããããšã§ã ããŒã«ã«ããªã³ã¿ãå©çšã§ãããªã¢ãŒããã¹ãã®ãŠãŒã¶ãå¶éããããšãã§ããŸãã ããŒã«ã«ãã¹ãã«æ¥ç¶ãããããªã³ã¿çšã®ãšã³ããªã« `rs` é
ç®ãæå®ãããŠããå Žåã LPD ã¯ãå°åãèŠæ±ãããŠãŒã¶ã®ã¢ã«ãŠã³ããšåããã°ã€ã³åã ããŒã«ã«ãã¹ãã«ç»é²ãããŠãã__å Žåã«éã__ã ãã®ãžã§ããåãä»ããŸãããã以å€ã®ãžã§ãã LPD ã¯æåŠããŸãã
+
ãã®æ©èœã¯ã(ããšãã°) è€æ°ã®éšçœ²ããããã¯ãŒã¯ãå
±æããŠããã ãã®å
ã®ãããŠãŒã¶ãéšçœ²ã®å¢çãè¶ããŠæŽ»åããŠããå Žåã«ã¯ç¹ã«æçšã§ãã ãã®ãããªãŠãŒã¶ã«å¯ŸããŠãã·ã¹ãã ã®ã¢ã«ãŠã³ããäžããã ãã§ã ãããã®ãŠãŒã¶ã¯èªåãæå±ããéšçœ²ã®ã·ã¹ãã ãã ãã®ã·ã¹ãã ã«æ¥ç¶ãããŠããããªã³ã¿ã䜿çšããããšãã§ããŸãã ãããã®ãŠãŒã¶ã«ã¯ãããã ããªã³ã¿ã®äœ¿çš__ã ã__ãèªãã ãã®ä»ã®ã³ã³ãã¥ãŒã¿è³æºãå©çšãããããªããšãã¯ã ãããã®ãŠãŒã¶ã«ã¯ããŒã ãã£ã¬ã¯ããªãäžããã ãã°ã€ã³ã·ã§ã«ã¯ã·ã§ã«ãšããŠã¯äœã®åœ¹ã«ãç«ããªã [.filename]#/usr/bin/false# ãªã©ãæå®ããŠã ãããã®ãŠãŒã¶ã®ã¢ã«ãŠã³ãã¯ããªã³ã¿çšã® "圢åŒçãª" ãã®ãšããŸãã
[[printing-advanced-acct]]
=== ããªã³ã¿ã®å©çšã«å¯Ÿãã課é
ãšããèš³ã§ãå°åããããã«ã¯æéããšãããšãå¿
èŠã§ãã åããªãçç±ãªã©ãããŸãããããçŽãã€ã³ã¯ã«ã¯ãéãããããŸãã ãããŠãããªã³ã¿ã®ç¶æè²»ãããããŸãã ããªã³ã¿ã«ã¯å¯åéšåãæèŒãããŠããã ãããã®éšåã¯å£ãããããšããåŸåããããŸãã ããªã³ã¿ãããã®å©çšåœ¢æ
ãç¶æè²»ã«ã€ããŠèª¿æ»ããã1 ããŒãž (1 ãã£ãŒãã1 ã¡ãŒãã«ãªã©) åœããã«ãããã³ã¹ãã調ã¹ãŠãããŠãã ããã ããã«åºã¥ããããªã³ã¿ã®å©çšã«å¯Ÿãã課éããå®éã«ã ã©ã®ããã«å§ããã°ããã®ã§ããããã
ããŠãæ®å¿µãªããããã®éšåã«é¢ããŠã¯ LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã¯ã»ãšãã©åœ¹ã«ç«ã¡ãŸããã 課éã¯äœ¿çšããŠããããªã³ã¿ã®çš®é¡ãå°åãããã®ã®ãã¡ã€ã«ã®åœ¢åŒã ããªã³ã¿ã®å©çšã«å¯Ÿãã課éã§ã® __ããªãèªèº«ã®__èŠæ±ã«å€§ããå·Šå³ãããŸãã
課éã·ã¹ãã ãå®çŸããããã«ã¯ãããªã³ã¿ã®ããã¹ããã£ã«ã¿ (ãã¬ã€ã³ããã¹ãã®ãžã§ãã«å¯ŸããŠèª²éãããã) ãšå€æãã£ã«ã¿ (ãã®ä»ã®ãã¡ã€ã«åœ¢åŒã«å¯ŸããŠèª²éãããã) ã倿ŽããŠã å°åããããŒãžãæ°ãããã ããªã³ã¿ã«å°åããããŒãžæ°ãååŸããããã®èŠæ±ãéãå¿
èŠããããŸãã ãã ããåºåãã£ã«ã¿ã®ã¿ãå©çšããŠããå Žåã¯ã 課éããããªãããšãã§ããŸããããã£ã«ã¿ã«é¢ããŠã¯ã ã<<printing-advanced-filter-intro, ãã£ã«ã¿>>ããã芧ãã ããã
äžè¬ã«ãèª²éæ¹åŒã«ã¯æ¬¡ã® 2 ã€ããããŸãã
* _宿çã«èª²éããæ¹æ³_ ã¯ããå©çšãããæ¹æ³ã§ãããã®çç±ã¯ã æããæ¯èŒçç°¡åã«å®çŸã§ããããã§ãã 誰ãããžã§ããå°åãã床ã«ããã£ã«ã¿ã¯ãã®ãŠãŒã¶åã ãã¹ãåãå°åããããŒãžæ°ã課éããŒã¿ãã¡ã€ã«ã«èšé²ããŸãã æ¯æãæ¯åŠæãæ¯å¹Žããã®ä»ã奜ã¿ã®ææã«ã åããªã³ã¿ã®èª²éçšãã¡ã€ã«ãéãã ããããã®ãŠãŒã¶ãå°åããããŒãžæ°ãåèšã㊠ãã®åã®èª²éããããªããŸãã æ¬¡åã®èª²éæéãããŒã¿ã 0 ã«ããŠèª²éãåéããããã«ã ãã¹ãŠã®ãã°ãã¡ã€ã«ãåé€ããŸãã
* _å©çšæ¯ã«èª²éããæ¹æ³_ ã¯ããŸãå©çšãããŠããŸãããããã¯ã å®çŸããã®ãæ¯èŒçé£ããããã§ãããã®æ¹åŒã§ã¯ã ããªã³ã¿ã䜿çšãããããã«ã ãã£ã«ã¿ããŠãŒã¶ã«ãã®å©çšã«å¯Ÿãã課éããããªããŸãã ãã£ã¹ã¯ã¯ã©ãŒã¿ã®ããã«ã課éäœæ¥ã¯ç¬æã«ãããªãããŸãã ãã®æ¹åŒã§ã¯ããŠãŒã¶ã®ã¢ã«ãŠã³ããèµ€åã«ãªãå Žåã«ã ãŠãŒã¶ãå°åããããªãããšãæåŠããããšãã§ããŸãã ãŸãããŠãŒã¶ã« "ããªã³ã¿ç quota" ã調ã¹ããã 調æŽãããããæ¹æ³ãæäŸããããšæããããã ãŸããã ãããå®çŸããããã«ã¯ããŠãŒã¶ãšãã® quota ã远跡ããããã«ã ããããŒã¿ããŒã¹çšã®ã³ãŒããå¿
èŠãšãªããŸãã
LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã§ã¯ã ã©ã¡ãã®æ¹åŒã«ãç°¡åã«å¯Ÿå¿ã§ããŸãã(ã»ãšãã©ã®å Žåã¯) ãã£ã«ã¿ãçšæããªããã°ãªããªãã®ã§ã 課éäœæ¥ã®ããã®ã³ãŒããçšæããªããã°ãªããŸããã ããããæããé¢ããããŸãã ããã¯ãèª²éæ¹åŒã«é¢ããŠãéåžžã«å€§ããªæè»æ§ãäžãããããšããããšã§ãã ããšãã°ãã宿çã«èª²éããæ¹æ³ããã ãå©çšæ¯ã«èª²éããæ¹æ³ãã®ã©ã¡ãããéžã³ãŸãããããŠã ã©ããªæ
å ± (ãŠãŒã¶åããã¹ãåããžã§ãã®ã¿ã€ããå°åãããé æ°ã 䜿çšããçŽã®å€§ãããå°åãããããã«èŠããæéãªã©) ããã°ã«èšé²ããããæ±ºããŸãã 以äžã®ããšããããªãã«ã¯ãäžèšã®æ
å ±ãä¿æããããã«ã ãã£ã«ã¿ã倿ŽããªããŠã¯ãªããŸããã
==== æè»œãªããªã³ã¿èª²éæ¹æ³
FreeBSD ã«ã¯ãã宿çã«èª²éããæ¹æ³ãã«ãã課éã ããã«èšå®ã§ããããã«ã2 åã®ããã°ã©ã ãæ·»ä»ããŠããŸãã ãã®å
ã®1ã€ã¯ããã¹ããã£ã«ã¿ `lpf` ã§ã ããã«ã€ããŠã¯ãã<<printing-advanced-lpf, ããã¹ããã£ã«ã¿ lpf>>ããã芧ãã ããããã1ã€ã¯ã man:pac[8] ã§ã ããã¯ããªã³ã¿ã®èª²éããŒã¿ãã¡ã€ã«ããã®ãšã³ããªãéãã ãããåèšããããã°ã©ã ã§ãã
ã<<printing-advanced-filters, ãã£ã«ã¿ã¯ã©ã®ããã«æ©èœããŠããã>>ãã§è¿°ã¹ãããã«ã LPD ã§ã¯ããã¹ããã£ã«ã¿ã倿ãã£ã«ã¿ãèµ·åããŸããã ãã®ã³ãã³ãã©ã€ã³ã§äœ¿çšããŠãã課éããŒã¿ãã¡ã€ã«ã®ååãæå®ãããŸãã äž¡ãã£ã«ã¿ã¯ãã®åŒæ°ã䜿ã£ãŠã ã©ã®èª²éããŒã¿ãã¡ã€ã«ã®ãšã³ããªã«æžã蟌ãã°ããã®ããç¥ãããšãã§ããŸãã ãã®ãã¡ã€ã«ã®åå㯠[.filename]#/etc/printcap# äžã® `af` é
ç®ã«ãã£ãŠæå®ãããŸãã ãã®ãã¡ã€ã«ã絶察ã ã¹ã§æå®ãããªãå Žåã¯ã ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªããã®çžå¯Ÿãã¹ãšããŠæ±ãããŸãã
LPD ã¯ãçŽã®ããŒãžã®å¹
ãšè¡æ° (`pw` ãš `pl` é
ç®ã§ æå®ããã) ãåŒæ°ãšã㊠`lpf` ãèµ·åããŸãã`lpf` ãã£ã«ã¿ã§ã¯ã äœããŒãžå°åããããæ±ºå®ããããã«ãããã®åŒæ°ã䜿çšããŸãã ãã¡ã€ã«ãããªã³ã¿ã«éã£ãåŸã 課éæ
å ±ã課éããŒã¿ãã¡ã€ã«ã«æžã蟌ã¿ãŸãã ãã®ãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
[.programlisting]
....
2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
2.00 orchid:zhang
....
課éããŒã¿ãã¡ã€ã«ã¯ããªã³ã¿æ¯ã«åããŠäœãã¹ãã§ãã ããã¯ã`lpf` ã«ã¯ãã¡ã€ã«ãããã¯ããæ©æ§ãçµã¿èŸŒãŸããŠããªãããã§ãã ãããã£ãŠã`lpf` ã 2 ã€èµ·åããããšãã åããã¡ã€ã«ã«åæã«æžã蟌ã¿ããããªã£ãå Žåã ãäºãã®ãšã³ããªãç Žå£ããŠããŸããããããŸããã 課éçšãã¡ã€ã«ãåããªã³ã¿æ¯ã«ç¢ºå®ã«åããã«ã¯ã [.filename]#/etc/printcap# äžã® `af=acct` é
ç®ã䜿ããŸãã ããããã°ãããããã®èª²éçšãã¡ã€ã«ãããªã³ã¿ã®ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã«ã [.filename]#acct# ãšããåç§°ã§äœæãããŸãã
ããªã³ã¿ã®å©çšã«å¯ŸããŠãŠãŒã¶ã«èª²éããæºåãã§ãããã man:pac[8] ããã°ã©ã ãå®è¡ããŠãã ãã (課éãããããªã³ã¿ã®ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã«ç§»åããåŸã `pac` ãšå
¥åããŠãã ãã)ã æ¬¡ã®ãããªããã«äžå¿äž»çŸ©ã®èª²éãªã¹ãã衚瀺ãããŸã (蚳泚: ãã«äžå¿äž»çŸ©ãšãã衚çŸã¯ã 衚瀺ããã«ã§åºãããšãžã®èè
ã®ç®èã§ãããã ã»ã³ããããã®ã§å°æ°ç¹ä»¥äžã衚瀺ãããŸããã ãã®æ©èœãæ¥æ¬ã§ã¯éªéã§ãã)ã
[source,shell]
....
Login pages/feet runs price
orchid:kelly 5.00 1 $ 0.10
orchid:mary 31.00 3 $ 0.62
orchid:zhang 9.00 1 $ 0.18
rose:andy 2.00 1 $ 0.04
rose:kelly 177.00 104 $ 3.54
rose:mary 87.00 32 $ 1.74
rose:root 26.00 12 $ 0.52
total 337.00 154 $ 6.74
....
man:pac[8] ãåãä»ããåŒæ°ã«ã¯æ¬¡ã®ãããªãã®ããããŸãã
`-P _printer_`::
ããªã³ã¿ _printer_ ã®å©çšã«å¯Ÿãã課éãªã¹ããäœæããŸãã ãã®ãªãã·ã§ã³ã¯ã[.filename]#/etc/printcap# ã® `af` ã絶察ãã¹ã§æå®ãããŠããå Žåã«éããåäœããŸãã
`-c`::
ãŠãŒã¶åã®ã¢ã«ãã¡ãããé ã§ã¯ãªãã 課éé¡ã®äœãé ã«ãªã¹ãã䞊ã¹ãŸãã
`-m`::
課éããŒã¿ãã¡ã€ã«ã«ãããã¹ãåãç¡èŠããŸãã ãã®ãªãã·ã§ã³ã䜿çšãããšããã¹ã `alpha` ã®ãŠãŒã¶ `smith` ãšãã¹ã `gamma` ã®ãŠãŒã¶ `smith` ã¯åäžäººç©ãšããŠæ±ãããŸãã ãã®ãªãã·ã§ã³ãæå®ãããªãå Žåã¯ã äž¡è
ã¯å¥ãªãŠãŒã¶ãšããŠæ±ããŸãã
`-p _price_`::
[.filename]#/etc/printcap# ã® `pc` é
ç®ã§æå®ãããå€ããŸãã¯ã ããã©ã«ãã®å€ (2 ã»ã³ã) ã«ä»£ãããçŽ1ããŒãžããŸãã¯ã 1ãã£ãŒãåœããã®äŸ¡æ Œãæå®ããŸãã _price_ ãšããŠã æµ®åå°æ°ç¹æ°ãæå®ããããšãã§ããŸãã
`-r`::
ãªã¹ãã®äžŠã¹ãé çªãéé ã«ããŸãã
`-s`::
課éãªã¹ããäœæãã 課éããŒã¿ãã¡ã€ã«ãåé€ããŸãã
_name..._::
ãŠãŒã¶ _names_ ã«å¯Ÿãã課éæ
å ±ã®ã¿ã衚瀺ããŸãã
man:pac[8] ãçæããããã©ã«ãã®ãªã¹ãã«ã¯ã åãã¹ãã®ãŠãŒã¶å¥ã«å°åããŒãžæ°ã衚瀺ãããŸãã (ãŠãŒã¶ããµã€ãå
ã®ãã¹ãŠã®ãã¹ãã䜿çšã§ãããã) ãã¹ãåã®æ
å ±ãæå³ãæããªãå Žåã `pac -m` ãå®è¡ããŠãã ãããæ¬¡ã®ãããªãªã¹ããåŸãããŸãã
[source,shell]
....
Login pages/feet runs price
andy 2.00 1 $ 0.04
kelly 182.00 105 $ 3.64
mary 118.00 35 $ 2.36
root 26.00 12 $ 0.52
zhang 9.00 1 $ 0.18
total 337.00 154 $ 6.74
....
課éé¡ã決ããããã«ã man:pac[8] 㯠[.filename]#/etc/printcap# ãã¡ã€ã«ã® `pc` é
ç®ã§æå®ãããå€ (ããã©ã«ãå€ã¯ 200ãããªãã¡ 1 ããŒãžåœãã 2 ã»ã³ã) ã䜿ããŸãããã®é
ç®ã§ãå°åç©ã«èª²éããã ãã¡ãšæã 1 ããŒãžåœããã ãŸãã¯ã1 ãã£ãŒãåœããã®äŸ¡æ Œã 100 åã® 1 ã»ã³ãåäœã§æå®ããŸãã man:pac[8] ã `-p` ãªãã·ã§ã³ä»ãã§èµ·åãããšã ãã®å€ã眮ãæããããšãã§ããŸãã ãã® `-p` ãªãã·ã§ã³ã§æå®ããé¡ã®åäœã¯ã 100 åã® 1 ã»ã³ãåäœã§ã¯ãªãããã«åäœã§ããããšãã°ãæ¬¡ã®æå®ã§ã¯ã 1 ããŒãžåœããã®å䟡ã 1 ãã« 50 ã»ã³ãã«ãªããŸãã
[source,shell]
....
# pac -p1.50
....
ãã®ãªãã·ã§ã³ã䜿ããšã å®éã®èª²éé¡ãéèšããããšãã§ããŸãã
æåŸã«ã`pac -s` ãèµ·åãããšã課éæ
å ±ã¯èª²éããŒã¿çޝèšãã¡ã€ã«ã«ä¿åãããŸãã ãã®ãã¡ã€ã«ã®ååã¯ãããªã³ã¿ã®èª²éããŒã¿ãã¡ã€ã«ã®åŸãã« `_sum` ãä»ãããã®ãšãªããŸãããããŠã 課éããŒã¿ãã¡ã€ã«ã¯åé€ãããŸããæ¬¡ã« man:pac[8] ãèµ·åããããšã ãã®æç¹ãŸã§ã®çޝèšéé¡ãåŸãããã«ã 課éããŒã¿çޝèšãã¡ã€ã«ãèªã¿èŸŒãŸãã éåžžã®èª²éããŒã¿ãã¡ã€ã«ããã®æ
å ±ã«å ç®ãããŸãã
==== å°åãããããŒãžæ°ãã©ã®ããã«æ°ããã?
課éãããªã¢ãŒããã¹ãããã®å°åã§ãããã æ£ç¢ºã«ãããªãããã«ã¯ã ãžã§ãã§äœ¿çšãããçŽãäœããŒãžã§ããããç¹å®ã§ããå¿
èŠããããŸãã ãã®ããšã¯ãããªã³ã¿å©çšã«å¯Ÿãã課éããããªãäžã®æ ¹æ¬çãªåé¡ã§ãã
ãã¬ã€ã³ããã¹ãã®ãžã§ãã®å Žåã åé¡ã解決ããã®ã¯ãã»ã©é£ããã¯ãããŸããã ãžã§ããäœè¡ã§ãã£ãããæ°ããããªã³ã¿ããµããŒãããŠããçŽ 1 ããŒãžã«å°åã§ããæå€§ã®è¡æ°ãšæ¯èŒããã°ããã®ã§ãã éãæã¡ããããã«å©çšããããã¡ã€ã«äžã®ããã¯ã¹ããŒã¹æåãã ç©ççã«è€æ°ã®è¡ã«æž¡ãé·ãè«çè¡ã«å¯Ÿããåãæ±ããå¿ããã«ãããªã£ãŠãã ããã
(ã<<printing-advanced-lpf,ããã¹ããã£ã«ã¿ lpf>>ãã§ç޹ä»ãã) ããã¹ããã£ã«ã¿ `lpf` ã§ã¯ã課éããããªããšãã«ã ãããã®åãæ±ãããããªã£ãŠãããŸãã 課éããããªãããã«å¿
èŠãªããã¹ããã£ã«ã¿ãäœæããŠããæ¹ã¯ã `lpf` ã®ãœãŒã¹ã³ãŒããåèã«ãªãã§ãããã
ããã«å¯ŸããŠãä»ã®ãã¡ã€ã«åœ¢åŒã®åŠçã¯ã©ã®ããã«ããã° ããã®ã§ããããã
ãŸããDVI ãã LaserJet, ãŸãã¯ãDVI ãã PostScript(R) ãžã®å€æã®å Žåããã£ã«ã¿ã `dvilj` ã `dvips` ã® åºåã¡ãã»ãŒãžãè§£æããããšã§ã äœããŒãžåã®å€æããããªãããããç¥ãããšãã§ããŸãã ä»ã®ãã¡ã€ã«åœ¢åŒãšãã®å€æããã°ã©ã ã«é¢ããŠãã åæ§ã®ããšãã§ãããããããŸããã
ãããããã®æ¹åŒã«ã¯åé¡ç¹ããããŸããããã¯ã 倿ãããããŒãžããã¹ãŠå°åããããšã¯éããªããšããããšã§ãã ããšãã°ãããªã³ã¿ãçŽè©°ãŸããèµ·ããããããããŒåãã«ãªã£ããã ã¯ããŸããççºããããããããããŸããã ãã®ãããªç¶æ³ã«ããå°åãéäžã§äžæ¢ããããšããŠãããã®æ¹åŒã§ã¯ã ãŠãŒã¶ã¯å
šããŒãžåã®æéã課ãããŠããŸãã®ã§ãã
ããã§ã¯ãã©ã®ãããªå¯ŸçãããŠãããšãã§ããã®ã§ããããã
_æ£ç¢ºãª_ 課éããããªãããã®å¯äžã®__確å®ãª__æ¹æ³ã¯ã äœããŒãžå°åããã®ããç¥ãããããšãã§ããããªã³ã¿ãå
¥æãã ãããã·ãªã¢ã«ããŒãããããã¯ãŒã¯ã«æ¥ç¶ããããšã§ãã ã»ãšãã©ãã¹ãŠã® PostScript(R) ããªã³ã¿ã§ã¯ãã®æŠå¿µããµããŒããããŠããŸãã ä»ã®ããªã³ã¿ãåæ§ã§ã (Imagen ã¬ãŒã¶ããªã³ã¿ããããã¯ãŒã¯æ¥ç¶ãããªã©)ã ããããã®ããªã³ã¿ã®ãã£ã«ã¿ãã ãžã§ããå°åããåŸã§å°åããŒãžæ°ãåŸãããã«å€æŽããŠãã ããã ãããŠã課éæ
å ±ã¯ããã§åŸãããå€__ã®ã¿ã«__ åºã¥ããŠèšé²ããŠãã ãããè¡æ°ãæ°ãããã ãšã©ãŒãçãããããã¡ã€ã«ã®èª¿æ»ã¯å¿
èŠãšãããŸããã
ãã¡ããã æ°åããå°åæéããã¹ãŠç¡æã«ããããšãã§ããŸãã
[[printing-using]]
== ããªã³ã¿ã䜿ã
ãã®ç¯ã§ã¯ãFreeBSD ã§èšå®ããããªã³ã¿ãäœ¿ãæ¹æ³ã«ã€ããŠèª¬æããŸãã ããã§ã¯ããŠãŒã¶ã¬ãã«ã§ã®ã³ãã³ããæŠèª¬ããŸãã
man:lpr[1]::
å°åããããªããŸãã
man:lpq[1]::
ããªã³ã¿ãã¥ãŒã調ã¹ãŸãã
man:lprm[1]::
ããªã³ã¿ãã¥ãŒã«ãããžã§ããåé€ããŸãã
ãŸããã<<printing-lpc,ããªã³ã¿ã®ç®¡ç>>ã ç¯ã§èª¬æãããŠãã管çè
çšã³ãã³ã man:lpc[8] ãããã ããªã³ã¿ããã®ãã¥ãŒã®å¶åŸ¡ã®ããã«çšããããŠããŸãã
man:lpr[1]ãman:lprm[1]ããã㊠man:lpq[1] ã® 3 ã³ãã³ãã¯ã`-P _printer-name_` ãªãã·ã§ã³ããšããããã«ãã£ãŠã [.filename]#/etc/printcap# ã®ããã«æäœã®å¯Ÿè±¡ãšãªã ããªã³ã¿ããã¥ãŒãæå®ããŸãã ããã«ãã£ãŠãæ§ã
ãªããªã³ã¿ã«å¯ŸããŠãžã§ããéãã åãæ¶ãã調æ»ããããšãã§ããŸãã `-P` ã䜿ãããªãã£ãå Žåã¯ããããã®ã³ãã³ã㯠`PRINTER` ç°å¢å€æ°ã§æå®ãããããªã³ã¿ã䜿çšããŸãã ãããŠã`PRINTER` ç°å¢å€æ°ããªãã£ãå Žåã¯ã ãããã®ã³ãã³ãã¯ããã©ã«ãã®ããªã³ã¿ `lp` ã䜿ããŸãã
以äžã§ã¯ã_ããã©ã«ãããªã³ã¿_ ãšããçšèªãæå³ããããªã³ã¿ã¯ã`PRINTER` ç°å¢å€æ°ã§æå®ãããããªã³ã¿ããããã¯ã`PRINTER` ç°å¢å€æ°ããªãå Žåã¯ã`lp` ãšããååã®ããªã³ã¿ã§ãã
[[printing-lpr]]
=== å°åãã
ãã¡ã€ã«ãå°åããããã«ã¯ã 次ã®ããã«å
¥åããŠãã ããã
[source,shell]
....
% lpr filename ...
....
ããã«ããã å
¥åããããã¡ã€ã«ã®ãããããããã©ã«ãã®ããªã³ã¿ ããå°åããŸãããã¡ã€ã«åãäžããããªãã£ãå Žåã man:lpr[1] ã¯æšæºå
¥åããå°åããããŒã¿ãèªã¿èŸŒã¿ãŸããããšãã°ã 次ã®ã³ãã³ãã«ãããããéèŠãªã·ã¹ãã ãã¡ã€ã«ãå°åãããŸãã
[source,shell]
....
% lpr /etc/host.conf /etc/hosts.equiv
....
å°åãããããªã³ã¿ãéžæããããã«ã¯ã 次ã®ããã«å
¥åããŸãã
[source,shell]
....
% lpr -P printer-name filename ...
....
次ã®äŸã§ã¯ãããªã³ã¿ `rattan` ã«ã ã«ã¬ã³ããã£ã¬ã¯ããªã«ãããã¡ã€ã«ã®è©³çްãªãªã¹ããå°åããŠããŸãã
[source,shell]
....
% ls -l | lpr -P rattan
....
äžèšã® man:lpr[1] ã³ãã³ãã§ã¯ãã¡ã€ã«åã®æå®ããªãã®ã§ã `lpr` ã¯æšæºå
¥åããå°åããããŒã¿ã ãã®å Žåã`ls -l` ã³ãã³ãã®åºåããèªã¿èŸŒã¿ãŸãã
man:lpr[1] ã³ãã³ãã§ã¯ã åºåã®æŽåœ¢ãå¶åŸ¡ãããããã¡ã€ã«å€æãé©çšãããã è€æ°éšæ°ã®ã³ããŒãäœæãããã ãªã©ãšããæ§ã
ãªå¹
åºããªãã·ã§ã³ãåãä»ããããšãã§ããŸãã 詳现ã«ã€ããŠã¯ã ã<<printing-lpr-options, ãã®ä»ã®å°åãªãã·ã§ã³>>ããã芧ãã ããã
[[printing-lpq]]
=== ãžã§ãã®åŠçç¶æ³ã調ã¹ã
man:lpr[1] ã³ãã³ãã䜿ã£ãŠå°åãããå Žåãããªã³ãããããš ããããŒã¿ã¯ "ããªã³ããžã§ã" ãšåŒã°ããç®±ã«äžç·ã«çœ®ããã ããã LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã«éãããŸãã ããªã³ã¿ã«ã¯ãããããžã§ãçšã®ãã¥ãŒãããã éãããŠãããžã§ãã¯ããªããä»ã®ãŠãŒã¶ããã®å¥ã®ãžã§ããšäžç·ã«ãã®ãã¥ãŒã§äžŠãã§ã åŠçãããé çªãåŸ
ã¡ãŸãã ããªã³ã¿ã¯å°çé ã«ãããã®ãžã§ãã®å°åããããªããŸãã
ããã©ã«ãããªã³ã¿ã®ãã¥ãŒã®ç¶æ
ã衚瀺ããã«ã¯ã man:lpq[1] ãšå
¥åããŸããããªã³ã¿ãæå®ãããšãã¯ã `-P` ãªãã·ã§ã³ã䜿ããŸããããšãã°ã次ã®ã³ãã³ã
[source,shell]
....
% lpq -P bamboo
....
ã¯ãããªã³ã¿ `bamboo` ã®ãã¥ãŒã®ç¶æ
ã衚瀺ããŸãããã® `lpq` ã³ãã³ãã®åºåçµæã®äŸã次ã«ç€ºããŸãã
[source,shell]
....
bamboo is ready and printing
Rank Owner Job Files Total Size
active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
2nd kelly 10 (standard input) 1635 bytes
3rd mary 11 ... 78519 bytes
....
ãã®äŸã§ã¯ã`bamboo` ã®ãã¥ãŒã« 3 ã€ã®ãžã§ããããããšãåãããŸãã æåã®ãžã§ãã¯ãŠãŒã¶ kelly ããã®ãã®ã§ããã "ãžã§ãçªå·" 9 ãå²ãåœãŠãããŠããŸãã ããªã³ã¿ã®ãã¹ãŠã®ãžã§ãã«ã¯äžæãªãžã§ãçªå·ãä»ããããŠããŸãã ã»ãšãã©ã®å Žåããã®ãžã§ãçªå·ã¯ç¡èŠããããšãã§ããŸããã ãžã§ãããã£ã³ã»ã«ãããšãã«ã¯ãã®çªå·ãå¿
èŠã«ãªããŸãã ãã®ããšã®è©³çްã«ã€ããŠã¯ãã<<printing-lprm,ãžã§ãã®åé€>> ããã芧ãã ããã
ãžã§ãçªå· 9 ã®ãžã§ã㯠2 ã€ã®ãã¡ã€ã«ãåŠçããŸããããªãã¡ã man:lpr[1] ã®ã³ãã³ãã©ã€ã³ã«è€æ°ã®ãã¡ã€ã«åãäžãããããšãã¯ã 1ã€ã®ãžã§ããšããŠæ±ãããã®ã§ãããã®ãžã§ãã¯ãçŸåšã ã¢ã¯ãã£ããžã§ã ("Rank" ã®æ¬ã® `active` ãšããåŸã«æ³šç®) ã«ãªã£ãŠããŸãã ããã¯ãããªã³ã¿ãããã®ãžã§ããçŸåšå°åãããŠããã¯ãã§ããããšãæå³ããŠããŸãã 2 çªç®ã®ãžã§ãã§ã¯ã man:lpr[1] ã³ãã³ãã«æšæºå
¥åããããŒã¿ãäžããããŠããŸãã 3çªç®ã®ãžã§ãã¯ãŠãŒã¶ `mary` ããäžããããŸããã ãã®ãžã§ãã®ãµã€ãºã¯ãšãŠã倧ãããªã£ãŠããŸãã 圌女ãããªã³ãããããšãããã¡ã€ã«ã®ãã¹åã¯ããã§è¡šç€ºãããã«ã¯é·ãããããã man:lpq[1] ã³ãã³ãã¯ãããã 3 ã€ã ã衚瀺ããŠããŸãã
man:lpq[1] ããã®åºåã§äžçªæåã®è¡ããŸãæçãªæ
å ±ãäžããŠããŸãã ãã®è¡ãããããªã³ã¿ãçŸåšäœãããŠããã (ãããã¯ãå°ãªããšã LPD ãããªã³ã¿ãããŠãããšæã£ãŠããããš) ãåãããŸãã
man:lpq[1] ã³ãã³ã㯠`-l` ãªãã·ã§ã³ããµããŒãããŠããŸãã ããã«ããã 詳ããæ
å ±ã衚瀺ãããŸãã `lpq -l` ã®å®è¡äŸã次ã«ç€ºããŸãã
[source,shell]
....
waiting for bamboo to become ready (offline ?)
kelly: 1st [job 009rose]
/etc/host.conf 73 bytes
/etc/hosts.equiv 15 bytes
kelly: 2nd [job 010rose]
(standard input) 1635 bytes
mary: 3rd [job 011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
....
[[printing-lprm]]
=== ãžã§ãã®åé€
å°åãããããžã§ãã éã£ãåŸã§å°åãäžæããããªã£ããšãã¯ã man:lprm[1] ã³ãã³ãã§ã ãã¥ãŒã®äžãããã®ãžã§ããåé€ããããšãã§ããŸãã 倧æµã®å Žåãã¢ã¯ãã£ããžã§ãã§ããã man:lprm[1] ã䜿ã£ãŠåé€ããããšãã§ããŸããã ãã®ãžã§ãã®äžéšãŸãã¯ãã¹ãŠãå°åãããŠããŸããããããŸããã
ããã©ã«ãããªã³ã¿ãžã®ãžã§ããåé€ããããã«ã¯ãæåã«ã man:lpq[1] ã䜿ã£ãŠãã®ãžã§ãçªå·ã調ã¹ãŸãã ããªãã¡ãããããã æ¬¡ã®ããã«å
¥åããŠããžã§ããåé€ããŸãã
[source,shell]
....
% lprm job-number
....
ç¹å®ã®ããªã³ã¿ãžã®ãžã§ããåé€ãããšãã¯ã `-P` ãªãã·ã§ã³ã䜿ã£ãŠãã®ããªã³ã¿ãæå®ããŸãã ããšãã°ãããªã³ã¿ `bamboo` ã®ãã¥ãŒãããžã§ãçªå· 10 ã®ãžã§ããåé€ããã«ã¯æ¬¡ã®ããã«ããŸãã
[source,shell]
....
% lprm -P bamboo 10
....
man:lprm[1] ã³ãã³ãã«ã¯ç¥èšæ³ãããã€ããããŸãã
lprm -::
ããªãã (ããã©ã«ãããªã³ã¿ãž) éã£ããžã§ãããã¹ãŠåé€ããŸãã
lprm _user_::
ãŠãŒã¶ _user_ ã (ããã©ã«ãããªã³ã¿ãž) éã£ããžã§ãããã¹ãŠåé€ããŸãã ä»ã®ãŠãŒã¶ã®ãžã§ããåé€ã§ããã®ã¯ã¹ãŒããŠãŒã¶ã ãã§ãã ããªãã¯ãããªãèªèº«ã®ãžã§ãããåé€ããããšã¯ã§ããŸããã
lprm::
ãžã§ãçªå·ããŠãŒã¶åãã·ã³ãã« ``-``ãæå®ãããªããšãã¯ã man:lprm[1] ã¯çŸåšã®ã¢ã¯ãã£ããžã§ããã ãã®ãžã§ããéã£ãã®ãããªãèªèº«ã§ãããšãã«éãã ããã©ã«ãããªã³ã¿ããåé€ããŸãããã ãã ã¹ãŒããŠãŒã¶ã¯ä»»æã®ã¢ã¯ãã£ããžã§ããåé€ããããšãã§ããŸãã
äžèšã®ç¥èšæ³ãããã©ã«ãããªã³ã¿ã§ã¯ãªã ç¹å®ã®ããªã³ã¿ã«å¯ŸããŠãããªããšãã¯ã`-P` ãªãã·ã§ã³ã§ãã®ããªã³ã¿ãæå®ããã ãããã®ã§ããããšãã°ã ããªã³ã¿ `rattan` ã®ãã¥ãŒãžããªããéã£ããžã§ãã ãã¹ãŠåé€ããããã«ã¯æ¬¡ã®ããã«ããŸãã
[source,shell]
....
% lprm -P rattan -
....
[NOTE]
====
ãããã¯ãŒã¯ç°å¢ã§äœæ¥ãããŠããå Žåã ãããã¹ãããéãããããªã³ã¿ãžã§ãã¯ããããéã£ããã¹ãã§ man:lprm[1] ã䜿ã£ãå Žåã«éã£ãŠã ãããåé€ããããšãã§ããŸãã ä»ã®ãã¹ãã§åãããªã³ã¿ã䜿ãããšããŠãã ãã®ãžã§ããåé€ããããšã¯ã§ããŸããã æ¬¡ã®äŸã§ã¯ãä»ãã¹ããããžã§ããåé€ããããšã詊ã¿ãŠããŸãã
[source,shell]
....
% lpr -P rattan myfile
% rlogin orchid
% lpq -P rattan
Rank Owner Job Files Total Size
active seeyan 12 ... 49123 bytes
2nd kelly 13 myfile 12 bytes
% lprm -P rattan 13
rose: Permission denied
% logout
% lprm -P rattan 13
dfA013rose dequeued
cfA013rose dequeued
....
====
[[printing-lpr-options]]
=== ãã®ä»ã®å°åãªãã·ã§ã³
man:lpr[1] ã³ãã³ãã«ã¯ãããã¹ãã®æŽåœ¢ãã å³ãä»ã®ãã¡ã€ã«åœ¢åŒã®å€æãè€æ°éšã³ããŒã®çæã ãžã§ãã®æ±ããªã©ãå¶åŸ¡ããããšãã§ããŸãã ãã®ç¯ã§ã¯ãããã«é¢ãããªãã·ã§ã³ã«ã€ããŠèšããŠããŸãã
[[printing-lpr-options-format]]
==== æŽåœ¢ãšå€æã«é¢ãããªãã·ã§ã³
以äžã® man:lpr[1] çšã®ãªãã·ã§ã³ã¯ãžã§ãã«ããã ãã¡ã€ã«ã®æŽåœ¢ã®å¶åŸ¡ã«é¢ãããã®ã§ãã ãã®ãªãã·ã§ã³ã¯ããžã§ãã«ãã¬ã€ã³ããã¹ããå«ãŸããªãå Žåã man:pr[1] ãŠãŒãã£ãªãã£ã䜿ã£ãŠãã¬ã€ã³ããã¹ããæŽåœ¢ããå Žåã«çšããŠãã ããã
次ã®äŸã§ã¯ãããªã³ã¿ `bamboo` ã« (TeX çµçã·ã¹ãã ã«ãã) DVI ãã¡ã€ã« [.filename]#fish-report.dvi# ãå°åããŠããŸãã
[source,shell]
....
% lpr -P bamboo -d fish-report.dvi
....
ãã®ãªãã·ã§ã³ã¯ã ãžã§ãã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ã«å¯ŸããŠé©çšãããŸãã ãããã£ãŠã1 ã€ã®ãžã§ãã« (ããšãã°) DVI ãã¡ã€ã«ãš ditroff ãã¡ã€ã«ãæ··åšãããããšã¯ã§ããŸããããã®ä»£ããã«ã ãã¡ã€ã«ãåœ¢åŒæ¯ã«å¥ã
ã®ãžã§ãã«åãã ããããã®ãžã§ãã§ãã®åœ¢åŒçšã®å€æãªãã·ã§ã³ã䜿ã£ãŠå°åããŠãã ããã
[NOTE]
====
`-p` ãš `-T` ãé€ããã¹ãŠã®ãªãã·ã§ã³ãäœ¿çš ããããã«ã¯ã åºåå
ããªã³ã¿çšã®å€æãã£ã«ã¿ãå¿
èŠã§ããããšãã°ã `-d` ãªãã·ã§ã³ã䜿çšããã«ã¯ãDVI çšã®å€æãã£ã«ã¿ãå¿
èŠ ã§ãã詳现ã«ã€ããŠã¯ãã<<printing-advanced-convfilters, 倿ãã£ã«ã¿>>ãã§èª¬æããŠããŸãã
====
`-c`::
cifplot ãã¡ã€ã«ãå°åããŸãã
`-d`::
DVI ãã¡ã€ã«ãå°åããŸãã
`-f`::
FORTRAN ããã°ã©ã ãå°åããŸãã
`-g`::
plot ã®ããŒã¿ãå°åããŸãã
`-i _number_`::
åºåã«å¯ŸããŠã_number_ ã«ã©ã åã®åäžãããããªããŸãã _number_ ãçç¥ããããšã 8 ã«ã©ã ååäžããããŸãã ãã®ãªãã·ã§ã³ã¯ãã倿ãã£ã«ã¿ãšäžç·ã®æå®ããããšãã®ã¿ã«æ©èœããŸãã
+
[NOTE]
====
`-i` ãšæ°åã®éã«ç©ºçœãå
¥ããŠã¯ãããŸããã
====
`-l`::
å¶åŸ¡æåãå«ãæåéãã®ããã¹ãããŒã¿ãå°åããŸãã
`-n`::
ditroff (device independent troff) ããŒã¿ãå°åããŸãã
-p::
å°åããåã« man:pr[1] ã«ãã£ãŠãã¬ã€ã³ããã¹ããæŽåœ¢ããŸãã 詳现ã«ã€ããŠã¯ man:pr[1] ãã芧ãã ããã
`-T _title_`::
man:pr[1] ã³ãã³ãã«ããçæãããããããã ãã¡ã€ã«åã®ä»£ããã« _title_ ãšããã ãã®ãªãã·ã§ã³ã¯ã`-p` ãšäžç·ã«äœ¿ã£ããšãã®ã¿æ©èœããã
`-t`::
troff ããŒã¿ãå°åããŸãã
`-v`::
ã©ã¹ã¿ã®ããŒã¿ãå°åããŸãã
次ã®äŸã§ã¯ãman:ls[1] ã®ããã¥ã¢ã«ãçŸããæŽåœ¢ãããã®ãããã©ã«ãããªã³ã¿ã§å°åããŠããŸãã
[source,shell]
....
% zcat /usr/shared/man/man1/ls.1.gz | troff -t -man | lpr -t
....
man:zcat[1] ã³ãã³ãã§ man:ls[1] ã®ããã¥ã¢ã«ã®ãœãŒã¹ãã¡ã€ã«ã®å§çž®ã埩å
ããããã man:troff[1] ã³ãã³ãã«æž¡ããŠããŸãã ããã«ãããœãŒã¹ãã¡ã€ã«ãæŽåœ¢ãã GNU troff ã®åœ¢åŒãšãªããŸãã ãã®çµæã¯ man:lpr[1] ã«æž¡ããã LPD ã¹ããŒã©ãžãžã§ãã®èŠæ±ãçºããããŸãã man:lpr[1] ã«ã¯ `-t` ãªãã·ã§ã³ã䜿ãããŠããããã ã¹ããŒã©ã§ãžã§ããå°åãããšãã« GNU troff ã®åœ¢åŒãããããã©ã«ãããªã³ã¿ãè§£éã§ãã圢åŒãžãšå€æãããŸãã
[[printing-lpr-options-job-handling]]
==== ãžã§ãã«é¢ãããªãã·ã§ã³
以äžã®ãªãã·ã§ã³ã¯ãman:lpr[1] ã«ãã£ãŠã ãã®ãžã§ããç¹æ®ãªæ±ãã«ãããã LPD ã«æç€ºããããã®ãã®ã§ãã
-# _copies_::
ãžã§ãã«å«ãŸãããã¡ã€ã«ã®ããããã 1 éšã ãå°åããã®ã§ã¯ãªãã _copies_ éšã®ã³ããŒãçæããããã®ã§ãã管çè
ã«ãã£ãŠã¯ã ããªã³ã¿ã®æ¶èãé¿ããã³ããŒæ©ã«ããè€è£œã奚å±ããããã« ãã®ãªãã·ã§ã³ã®äœ¿çšãçŠæ¢ãããŠãããããããŸããã ããã«é¢ããŠã¯ãã<<printing-advanced-restricting-copies, è€æ°éšã®ã³ããŒã®å°åãå¶éãã >>ããã芧ãã ããã
+
次ã®äŸã§ã¯ãããã©ã«ãããªã³ã¿ã§ [.filename]#parser.c# ã 3 éšã³ããŒããæ¬¡ã«ã [.filename]#parser.h# ã 3 éšã³ããŒããŠããŸãã
+
[source,shell]
....
% lpr -#3 parser.c parser.h
....
-m::
å°åãžã§ããå®äºããåŸã§ãã¡ãŒã«ãéããŸãã ãã®ãªãã·ã§ã³ãä»ãããšãLPD ã·ã¹ãã ã¯ãžã§ãã®åŠçãçµäºãããšãã«ã ããªãã®ã¢ã«ãŠã³ãã«ã¡ãŒã«ãéããŸãã ã¡ãŒã«ã®ã¡ãã»ãŒãžã«ã¯ããžã§ããæ£åžžçµäºããã®ãããããã¯ã äœãç°åžžãããã(ãã°ãã°) ãã®ç°åžžãäœã§ãã£ãã®ããæžãããŠããŸãã
-s::
å°åãã¡ã€ã«ãã¹ããŒã«ãã£ã¬ã¯ããªã«ã³ããŒããã 代ããã«ã ã·ã³ããªãã¯ãªã³ã¯ãäœæããããæç€ºããŸãã
+
å°åããããžã§ãã®ãµã€ãºã倧ãããšãã ãã®ãªãã·ã§ã³ã䜿ããšäŸ¿å©ãããããŸããããã®ãªãã·ã§ã³ã«ããã ã¹ã㌠ã«ãã£ã¬ã¯ããªã®å®¹éãç¯çŽãããŸã (ããã«ã 巚倧ãªãžã§ãã®ãé°ã§ã¹ããŒã«ãã£ã¬ã¯ããªã®ãããã¡ã€ã«ã·ã¹ãã ã®ç©ºã容éããªããªã£ãŠããŸããããããŸãã)ã ããã«ãLPD ããã¡ãã¡ãã¹ãŠã®ããŒã¿ãã³ããŒããå¿
èŠããªããªããŸãã®ã§ã æéã®ç¯çŽã«ããªããŸãã
+
ãã ããæ¬ ç¹ããããŸããLPD ã¯ãªãªãžãã«ã®ãã¡ã€ã«ãçŽæ¥åç
§ããã®ã§ã å°åãçµäºãããŸã§ãã®ãã¡ã€ã«ã倿Žãããåé€ããããšãã§ããŸããã
+
[NOTE]
====
ãªã¢ãŒãã®ããªã³ã¿ã§å°åããŠããå Žåã LPD ã¯ãçµå±ã®ãšããã ããŒã«ã«ãã¹ããããªã¢ãŒããã¹ãã«ãã¡ã€ã«ãã³ããŒããå¿
èŠããããŸãã ãããã£ãŠã`-s` ãªãã·ã§ã³ã¯ããŒã«ã«ã®ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã®ç©ºã容éãç¯çŽããã ãã§ã ãªã¢ãŒãåŽã§ã¯ç¯çŽãããŸããã ããã§ãããã®ãªãã·ã§ã³ã¯æçšã§ãã
====
-r::
ãžã§ãã«å«ãŸãããã¡ã€ã«ãã ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã« ãã¡ã€ã«ãã³ããŒããåŸã«åé€ããŸãããããã¯ã `-s` ãªãã·ã§ã³ãšäžç·ã«äœ¿ãããå Žåã¯ã å°åçµäºåŸã«åé€ãããŸãã ãã®ãªãã·ã§ã³ã®äœ¿çšã«ã¯ååæ³šæããŠäžããã
[[printing-lpr-options-misc]]
==== ãããããŒãžçšãªãã·ã§ã³
以äžã®ãªãã·ã§ã³ã«ããã ãžã§ãã®ãããããŒãžã«éåžžå°åã ããããã¹ãã man:lpr[1] ã«èª¿æŽãããããšãã§ããŸãã 察象ã®ããªã³ã¿ãããããããŒãžãåºåãããªãå Žåã¯ã ãããã®ãªãã·ã§ã³ã¯äœã®å¹åãæã¡ãŸããã ãããããŒãžã®èšå®ã«é¢ããæ
å ±ã«ã€ããŠã¯ã ã<<printing-advanced-header-pages, ãããããŒãž>>ããåç
§ããŠãã ããã
-C _text_::
ãããããŒãžã«å°åããããã¹ãåã _text_ ã«çœ®ãæããŸãããªãã ãã¹ãåã®å Žæã«ã¯ãéåžžã ãžã§ãã®èŠæ±ããã£ããã¹ãã®ååãå°åãããŸãã
-J _text_::
ãããããŒãžã«å°åããããžã§ãåã _text_ ã«çœ®ãæããŸãã ãžã§ãåã®å Žæã«ã¯ãéåžžããžã§ãã®æåã®ãã¡ã€ã«åã ãŸãã¯ãæšæºå
¥åããããŒã¿ãå°åããããšã㯠[.filename]#stdin# ãå°åãããŸãã
-h::
ãããããŒãžã®åºåãçŠæ¢ããŸãã
+
[NOTE]
====
ãµã€ãã«ãã£ãŠã¯ã ãã®ãããããŒãžã®çææ¹æ³ã«ããã ãã®ãªãã·ã§ã³ã®å¹æãçŸããªããããããŸããã 詳现ã¯ãã<<printing-advanced-header-pages, ãããããŒãž>>ããã芧ãã ããã
====
[[printing-lpc]]
=== ããªã³ã¿ã®ç®¡ç
ããªã³ã¿ã®ç®¡çè
ãšããŠãããªã³ã¿ã®èšçœ®ãèšå®ã ãããŠããããã®ãã¹ãããããªãå¿
èŠããããŸããã man:lpc[8] ã³ãã³ãã«ããã ãããŸã§ãšã¯å¥ãªç®¡çæ¹æ³ãããªã³ã¿ãšå¯Ÿè©±çã«ãããªãããŸãã man:lpc[8] ã«ãããæ¬¡ã®ããšãå¯èœãšãªããŸãã
* ããªã³ã¿ã®èµ·åã忢ããããªãã
* ãã¥ãŒãžã®å
¥åã®èš±å¯ãçŠæ¢ããããªãã
* ããããã®ãã¥ãŒã«ãããžã§ãã®é çªã倿Žããã
æåã«çšèªã«é¢ããæ³šæãããŠãããŸãã ããªã³ã¿ã__忢ããŠãã__ãšã¯ã ãã¥ãŒã®äžã«ããã©ã®ãžã§ããå°åãããããšããªãç¶æ
ãèšããŸãããã®ç¶æ
ã«ãããŠãã ãŠãŒã¶ã¯ãŸã ãžã§ãã®èŠæ±ããããªãããšãã§ããŸããã ãããã®ãžã§ãã¯ãã¥ãŒã®äžã§ã ããªã³ã¿ã__ã¹ã¿ãŒããã__ç¶æ
ã«ãªããŸã§ã ãããã¯ããã¥ãŒã®å
容ãåé€ããããŸã§åŸ
ããããããšã«ãªããŸãã
ãã¥ãŒã__çŠæ¢ç¶æ
__ã«ãããšã (`root` 以å€ã®) ãã¹ãŠã®ãŠãŒã¶ãããªã³ã¿ã«ãžã§ããèŠæ±ããããšãã§ããŸããã ãã¥ãŒã__èš±å¯ç¶æ
ã«ãã__å Žåã¯ã ãžã§ãã®å
¥åãèš±å¯ãããŸãã ãã¥ãŒã__çŠæ¢ç¶æ
ã«ãã__å Žåã§ãã ããªã³ã¿ã__ã¹ã¿ãŒãã ã__ç¶æ
ã«ããããšã¯å¯èœã§ãããã®å Žåã¯ã ãã¥ãŒã空ã«ãªããŸã§ã ãã¥ãŒå
ã®ãžã§ãã®å°åãç¶ããããŸãã
äžè¬çã«ãman:lpc[8] ã³ãã³ãã䜿çšããã«ã¯ `root` æš©éãæã£ãŠããå¿
èŠããããŸãã äžè¬ã®ãŠãŒã¶ã man:lpc[8] ã³ãã³ãã䜿ãããšã¯ã§ããŸããã ããªã³ã¿ã®ç¶æ
ãååŸããããšãšãã³ã°ããããªã³ã¿ ãåã¹ã¿ãŒãããããšã ãã«äœ¿çšãå¶éãããŠããŸãã
以äžã«ã man:lpc[8] ã³ãã³ãã«é¢ãã説æã®èŠçŽãè¿°ã¹ãŸãã ã»ãšãã©ã®ã³ãã³ãã§ã¯ãæäœå¯Ÿè±¡ãšãªãããªã³ã¿ãæå®ãããã _printer-name_ åŒæ°ãäžããŸãã _printer-name_ ã®ä»£ããã« `all` ãäžãããããšãæäœã¯ [.filename]#/etc/printcap# å
ã«ããå
šããªã³ã¿ã«å¯ŸããŠãããªãããããšã«ãªããŸãã
`abort printer-name`::
çŸåšã®ãžã§ãããã£ã³ã»ã«ããããªã³ã¿ã忢ãããŸãã ãã¥ãŒãèš±å¯ç¶æ
ã«ããå Žåã¯ã ãŠãŒã¶ã¯ãŸã ãžã§ããå
¥åããããšãã§ããŸãã
`clean printer-name`::
ããªã³ã¿ã®ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªããã ãžã§ãã®å€ããã¡ã€ã«ãåé€ããŸããç¶æ³ã«ãã£ãŠã ãšããããå°åéäžã§ãšã©ãŒãçºçããŠãããã 管çæäœãé »çºããŠããå Žåã«ã¯ã ãžã§ãã§äœããããã¡ã€ã«ã LPD ãå®å
šã«åé€ããªãããšããããŸãããã®ã³ãã³ãã§ã¯ã ã¹ããŒãªã³ã°ãã£ã¬ã¯ããªã«å
¥ã£ãŠããªããã¡ã€ã«ãèŠã€ãåºãã ãããåé€ããŠããŸãã
`disable printer-name`::
ãã¥ãŒã«æ°ãããžã§ããå
¥ããããšãçŠæ¢ããŸãã ããªã³ã¿ãåäœããŠãããšãã¯ã ãã¥ãŒã«æ®ã£ãŠãããžã§ãã®å°åã¯ç¶ããããŸãããã ãã ãã¥ãŒãçŠæ¢ç¶æ
ã«ãã£ããšããŠããã¹ãŒããŒãŠãŒã¶ (`root`) ã¯åžžã«ãžã§ããå
¥åããããšãã§ããŸãã
+
ãã®ã³ãã³ãã¯ã æ°ããããªã³ã¿ããã£ã«ã¿ãèšçœ®ããŠããéã«äœ¿çšãããšæçšã§ãã ããªãã¡ããã¥ãŒãçŠæ¢ç¶æ
ã«ããŠãããšã `root` ã«ãããžã§ãã®ã¿ãå
¥åãããŸãã ãããŠãä»ã®ãŠãŒã¶ã¯ããã¹ããå®äºãã `enable` ã³ãã³ãã§ãã¥ãŒãå床蚱å¯ç¶æ
ã«ãªããŸã§ã ãžã§ãã®å
¥åã¯ã§ããªããªããŸãã
`down printer-name message`::
ããªã³ã¿ãããŠã³ãããŸããããã¯ã `disable` ããããªã£ãåŸã§ã `stop` ããããªã£ãå Žåãšç䟡ã«ãªããŸãã _message_ ã¯ããŠãŒã¶ã man:lpq[1] ã³ãã³ãã§ããªã³ã¿ã®ãã¥ãŒã®ç¶æ
ã調ã¹ããã `lpc status` ã§ããªã³ã¿ã®ç¶æ
ã調ã¹ããšãã«ã ããªã³ã¿ã®ç¶æ³ãšããŠè¡šç€ºãããã¡ãã»ãŒãžã§ãã
`enable printer-name`::
ããªã³ã¿ã®ãã¥ãŒãèš±å¯ç¶æ
ã«ããŸãã ãŠãŒã¶ã¯ãžã§ãã®å
¥åãã§ããããã«ãªããŸããã ããªã³ã¿ãã¹ã¿ãŒãã®ç¶æ
ã«ãªããŸã§ã¯ã ããªã³ã¿ããã¯äœãå°åãããŸããã
`help command-name`::
_command-name_ ã³ãã³ãã®ãã«ãã¡ãã»ãŒãžã衚瀺ããŸãã _command-name_ ãæå®ãããªãã£ãå Žåã¯ã å©çšã§ããã³ãã³ãã®èŠçŽã衚瀺ãããŸãã
`restart printer-name`::
ããªã³ã¿ãã¹ã¿ãŒããããŸããéåžžã®ãŠãŒã¶ã¯ã LPD ãããç°åžžãªç¶æ³ã§ãã³ã°ãããšãã«éãã ãã®ã³ãã³ãã䜿çšããããšãã§ããŸãããããã `stop` ãŸã㯠`down` ã³ãã³ãã«ããã åæ¢ç¶æ
ã«ããããªã³ã¿ãã¹ã¿ãŒããããããšã¯ã§ããŸããã `restart` ã³ãã³ãã¯ã `abort` ã®åŸã« `start` ããããªã£ãããšãšåãã«ãªããŸãã
`start printer-name`::
ããªã³ã¿ãã¹ã¿ãŒããããŸãã ããªã³ã¿ã®ãã¥ãŒã«ãããžã§ããå°åããããšã§ãããã
`stop printer-name`::
ããªã³ã¿ã忢ããŸããããªã³ã¿ã¯ã çŸåšã®ãžã§ããçµäºããããããŠã ãã¥ãŒã«ãããã®ä»ã®ãžã§ãã¯å°åããŸããã ããªã³ã¿ãåæ¢ç¶æ
ã«ãã£ããšããŠãããŸã ã èš±å¯ç¶æ
ã«ãããã¥ãŒã«å¯ŸããŠããžã§ããéãããšãã§ããŸãã
`topq printer-name job-or-username`::
_printer-name_ ã®ãã¥ãŒã«å¯ŸããŠããžã§ãçªå· _job_ ã®ãžã§ãããŸãã¯ããŠãŒã¶ _username_ ããéããããžã§ãã眮ãæããŠããã¥ãŒã®å
é ã«æã£ãŠããŸãã ãã®ã³ãã³ãã«é¢ããŠã¯ã _printer-name_ ã®ä»£ããã« `all` ã䜿çšããããšã¯ã§ããŸããã
`up printer-name`::
ããªã³ã¿ãã¢ããç¶æ
ã«ããŸããããã®å察ã®ã³ãã³ãã `down` ã§ãã`start` ã®æ¬¡ã« `enable` ããããªã£ãããšãšçãããªããŸãã
ã³ãã³ãã©ã€ã³ããäžèšã®ã³ãã³ããå
¥åãããšã man:lpc[8] ã¯ãããåãä»ããŸããã³ãã³ããå
¥åãããªãã£ãå Žåã¯ã man:lpc[8] ã¯å¯Ÿè©±ã¢ãŒãã«å
¥ãã `exit`ã`quit`ã ãŸãã¯ã ãã¡ã€ã«çµç«¯æåãå
¥åããããŸã§ã³ãã³ãã®å
¥åãã§ããŸãã
[[printing-lpd-alternatives]]
== æšæºã¹ããŒã©ã®ä»£æ¿å
ãã®ããã¥ã¢ã«ãæåããéèªãããŠããæ¹ãªãã°ããããŸã§ã§ã FreeBSD ä»å±ã® LPD ã¹ããŒãªã³ã°ã·ã¹ãã ã«é¢ããŠç¥ã£ãŠããã¹ãããšãã¹ãŠãåŠã°ããããšãšæããŸãã å€åããã®ã·ã¹ãã ã«ããããããã®æ¬ ç¹ã«ã€ããŠèªèã§ããããšã§ãããã ãããã "(FreeBSD äžã§åäœãã) ã¹ããŒãªã³ã°ã·ã¹ãã ã«ã¯ä»ã«ã©ã®ãããªãã®ãããã®ã" ãšããçåãèªç¶ãšæ¹§ããŠããŸãã
LPRng::
"次äžä»£ LPR" ãç§°ããLPRng ã¯ã PLP ãå®å
šã«æžãæãããã®ã§ãã Patrick Powell ãš Justin Mason (PLP ã®äž»èŠãªç®¡çè
) ãå
±åã§ LPRng ãäœæããŸããã LPRng ã®æ¬ãµã€ã㯠http://www.lprng.org/[http://www.lprng.org/] ã§ãã
CUPS::
CUPS (the Common UNIX Printing System) ã¯ãUNIX(R) ããŒã¹ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«å¯ŸããŠã ç§»æ€æ§ã®é«ãå°å·ã¬ã€ã€ãæäŸããŸãã CUPS 㯠Easy Software Products ã«ãã£ãŠããã¹ãŠã® UNIX(R) ãã³ããšãŠãŒã¶ã«ã æšæºçãªå°å·ãœãªã¥ãŒã·ã§ã³ãæ®åããããã«éçºãããŠããŸãã
+
CUPS ã¯ãããªã³ããžã§ããšãã¥ãŒã管çããåºç€ãšã㊠Internet Printing Protocol (IPP) ã䜿ã£ãŠããŸããæ©èœã¯éå®ãããŸããã ã©ã€ã³ããªã³ã¿ããŒã¢ã³ (LPD)ã ãµãŒããŒã¡ãã»ãŒãžãããã¯ã(SMB) ã AppSocket (JetDirect ãšãåŒã°ããŠããŸã) ãããã³ã«ã«ã察å¿ããŠããŸãã CUPS ã¯ãUNIX(R) ã«çŸå®çãªããªã³ãæ©èœãåããããã ãããã¯ãŒã¯ããªã³ã¿ã®æ€çŽ¢ã PostScript ããªã³ã¿èšè¿°èšèª (PPD) ã«åºã¥ããå°å·ãªãã·ã§ã³ã远å ããŸãã
+
CUPS ã®ã¡ã€ã³ãµã€ã㯠http://www.cups.org/[http://www.cups.org/] ã§ã
HPLIP::
HPLIP (the HP Linux(R) Imaging and Printing system) ã¯ã HP ã¢ãã©ã€ã¢ã³ã¹çšã« HP ãéçºããã ããªã³ã¿ãã¹ãã£ãããã¡ãã¯ã¹ãžã®å¯Ÿå¿ã®ããã®ããã°ã©ã 矀ã§ãã ãã®ããã°ã©ã ã§ã¯ãå°å·æ©èœã«ãã㊠CUPS å°å·ã·ã¹ãã ãããã¯ãšã³ããšããŠå©çšããŠããŸãã
+
HPLIP ã®ã¡ã€ã³ãµã€ãã¯ã http://hplipopensource.com/hplip-web/index.html[http://hplipopensource.com/hplip-web/index.html] ã§ãã
[[printing-troubleshooting]]
== ãã©ãã«ã·ã¥ãŒãã£ã³ã°
man:lptest[1] ã䜿ã£ãç°¡åãªãã¹ãããããªã£ãçµæã æ£ããåº åãåŸãããã«ã以äžã«ç€ºããããªåºåãåŸããããããããŸããã
ãã°ãããããåºåãããããŸãã¯ã çŽã®å
šäœãåºãŠããªã::
ããªã³ã¿ã¯äžã§ç€ºããããããªå°åã ãããªã£ãã®ã§ããããã°ããããŠæ¢ãŸã£ãŠããŸãã åããªããªã£ãŠããŸããŸããã å°åãããçµæãããªã³ã¿ããåãåºãããã«ã¯ã ããªã³ã¿ã«ãã PRINT REMAINING ãã¿ã³ããŸãã¯ãFORM FEED ãã¿ã³ãæŒãå¿
èŠãããããã§ãã
+
ãã®å Žåã¯ã ãããããžã§ãã¯ããªã³ããããåã« æŽã«ããŒã¿ãéãããŠããªããåŸ
ã¡ç¶ããŠããã®ã§ãããã ãã®åé¡ã解決ããããã«ã¯ãããªã³ã¿ã« FORM FEED æå (ãããã¯ç¹å®ã®å¿
èŠãªæåã³ãŒã) ã éãããã¹ããã£ã«ã¿ã䜿ã£ãŠãã ããã ããªã³ã¿å
éšã«æ®ã£ãããŒã¿ãããªã³ã¿ã«ããã«å°åãããã«ã¯ã æ®éã¯ããã§ååã§ãã æ¬¡ã®ãžã§ããåã®ãžã§ãã®æçµããŒãžã®äžå€®ã® ã©ããããå°åãéå§ãããªãããã«ãã çŽã®éäžã§å°åã®ãžã§ããçµäºãããã©ããã確èªããã®ã¯æçã§ãã
+
ã·ã§ã«ã¹ã¯ãªãã [.filename]#/usr/local/libexec/if-simple# ãæ¬¡ã®ããã«å€æŽããŠãããªã³ã¿ãžãžã§ããéä¿¡ããåŸã« FORM FEED æåãå°åãããããã«ããŸãã
+
[.programlisting]
....
#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Writes a form feed character (\f) after printing job.
/bin/cat && printf "\f" && exit 0
exit 2
....
"éæ®µå¹æ" ãçŸãã::
åºåãããçŽã«ã¯æ¬¡ã®ããã«å°åãããŠããŸããã
+
[source,shell]
....
!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
....
+
ããªãã¯__ãéæ®µå¹æã__ ã®æ°ããªãç ç²è
ã«ãªã£ãŠããŸããŸããããã®åå ã¯ã æ¹è¡ã衚ããã¹ãæåããªãã§ããã ã®è§£éãæ··ä¹±ããŠããããšã«ãããŸããUNIX(R) ã¹ã¿ã€ã«ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã¯ãæ¹è¡æå㯠ASCII ã³ãŒã 10 ã® line feed (LF) ã® 1 æåã䜿ãããŠããŸããMS-DOS(R) ã OS/2(R) ãªã©ã¯ ASCII ã³ãŒã 10ã® LF _ãš_ãASCII ã³ãŒã 13 ã®æå (carriage return ãŸã㯠CR) ããã¢ã§äœ¿ããŸã (蚳泚: Macintosh ã§ã¯ CR ã®ã¿ã§è¡šçŸãããŠããŸã)ã倧æµã®ããªã³ã¿ã§ã¯ã æ¹è¡ã衚ããããã« MS-DOS(R) ã®æ
£ç¿ã«ãããããŸãã
+
FreeBSD ã§å°åããå Žåãå°åããããã¹ã㯠LF æåã ã ã䜿ãããŠããŸãããããªã³ã¿ã§ã¯ LF æåãèŠã€ãããšãçŽã 1 è¡åéãåºããŸããããããã æ¬¡ã®æåãå°åããã ãã®çŽã®æ°Žå¹³æ¹åã®äœçœ®ã¯ç¶æãããŸãããããªãã¡ãCR æåãæå³ããããšã¯ã æ¬¡ã®æåãå°åããäœçœ®ãçŽã®å·Šç«¯ã«åããããšã§ãã
+
FreeBSD ãããªã³ã¿ã«åäœãããŠæ¬²ãããšæã£ãŠããåäœã以äžã«ç€ºããŸãã
+
[.informaltable]
[cols="1,1", frame="none"]
|===
|ããªã³ã¿ã CR ãåãåã£ããšã
|CR åäœ (埩垰) ããããªã
|ããªã³ã¿ã LF ãåãåã£ããšã
|CR + LF åäœ (åŸ©åž°ãæ¹è¡) ããããªã
|===
+
ãã®ããã«åäœãããããã®æ¹æ³ãããã€ããããŸãã
** ãããã®æåã®è§£éãå€ããããã«ã ããªã³ã¿ã®èšå®ã¹ã€ãããã³ã³ãããŒã«ããã«ãæäœããæ¹æ³ã ã©ã®ããã«ããŠèšå®ããããã¯ããªã³ã¿ã®ããã¥ã¢ã«ãåç
§ããŠãã ããã
+
[NOTE]
====
FreeBSD 以å€ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãåãæ¿ããŠäœ¿ãå Žåã CR ãš LF æåã®è§£éããã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§äœ¿ãããŠããããã«ããªã³ã¿ã __åèšå®__ããå¿
èŠããããããããŸããã 以äžã«ç€ºãè§£æ±ºæ¹æ³ã®ããããã éžã¶ã®ããããããããŸãããã
====
** èªåçã« LF ã CR+LF ã«å€æããŠããã FreeBSD çšã®ã·ãªã¢ã«ãã©ã€ããå
¥æããæ¹æ³ã ãã¡ããããã®ãã©ã€ãã¯ããªã³ã¿å°çšã«æ¥ç¶ããã ã·ãªã¢ã«ããŒã __ã®ã¿__ã§åäœããŸãã ãã®æ©èœãèš±å¯ããããã«ã¯ã `ms#` é
ç®ã䜿ãã 察象ããªã³ã¿ã® [.filename]#/etc/printcap# ãã¡ã€ã«ã§``onlcr`` ã¢ãŒããèšå®ããŸãã
** LF æåã®æ±ããäžæçã«å€æŽããããã® _ãšã¹ã±ãŒãã³ãŒã_ ãããªã³ã¿ã«éãæ¹æ³ã ããªã³ã¿ããµããŒãããŠãããããããªããšã¹ã±ãŒãã³ãŒã ã«ã€ããŠã¯ã ããªã³ã¿ã®ããã¥ã¢ã«ãåç
§ããŠãã ããã é©åãªãšã¹ã±ãŒãã³ãŒããèŠã€ãã£ããã æåã«ãã®ã³ãŒããéããæ¬¡ã«ããªã³ããžã§ããéä¿¡ ããããã«ããã¹ããã£ã«ã¿ã倿ŽããŠãã ããã
+
次ã«ãHewlett Packard 瀟㮠PCL ãšã¹ã±ãŒãã³ãŒãã«å¯Ÿå¿ããŠããããªã³ã¿ã®ããã® ããã¹ããã£ã«ã¿ã®äŸã瀺ããŸãã ãã®ãã£ã«ã¿ã§ã¯ãããªã³ã¿ ã« LF æåã LF ãš CR ã®2æåãšããŠæ±ãããŸãã ãã®åŸã«ãããªã³ã¿ã«ãžã§ããéããŸããæåŸã«ã ãžã§ãã®æçµããŒãžã®çŽãæåºãããããFROM FEED æåãéããŸãããã®ãã£ã«ã¿ã¯ Hewlett Packard 瀟ã®ã»ãšãã©ãã¹ãŠã®ããªã³ã¿ã§æ©èœããã¯ãã§ãã
+
[.programlisting]
....
#!/bin/sh
#
# hpif - Simple text input filter for lpd for HP-PCL based printers
# Installed in /usr/local/libexec/hpif
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Tells printer to treat LF as CR+LF. Ejects the page when done.
printf "\033&k2G" && cat && printf "\f" && exit 0
exit 2
....
+
ãã¹ã `orchid` ã® [.filename]#/etc/printcap# ã®äŸã以äžã«ç€ºããŸããããã«ã¯ã äžçªç®ã®ãã©ã¬ã«ããŒãã«ããªã³ã¿ (Hewlett Packard LaserJet 3Si) ãäžå°æ¥ç¶ãããŠããããã®ããªã³ã¿å㯠`teak` ã§ãã
+
[.programlisting]
....
#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:
....
[NOTE]
====
LF ã CR+LF ã«çœ®ãæãã cat ã³ãã³ããäœãæ¹æ³ãåœç¶èããããŸãã ãããŠããã®ã³ãã³ããšã_if-simple_ ã® cat ã®éšåã眮ãæããã°ããããã§ãã å
·äœçã«ã©ã®ããã«ãããã¯ã èªè
ãžã®ç·Žç¿åé¡ãšããŸãããã
====
åè¡ãéãæžããããŠããŸã£ã::
ããªã³ã¿ã¯çŽéãããŸã£ããããŸããã§ããã ããã¹ããã¹ãŠã®è¡ãããè¡ã®äžã§éããŠå°åãããŠããŸããŸããã
+
ãã®åé¡ã¯ã éæ®µçŸè±¡ãšã¯ "æ£å察" ãªåé¡ã§ã ã»ãšãã©ãŸãã«ããèµ·ãããŸãããFreeBSD ã§ã¯è¡æ«ãšããŠæ±ããã LF æåããçŽã®å·Šç«¯ã«å°åäœçœ®ã埩垰ããŸããã çŽéãã¯ããªã CR æåãšããŠæ±ãããŠããŸãã
+
ããªã³ã¿ã®èšå®ã¹ã€ãããã³ã³ãããŒã«ããã«ã䜿ã£ãŠã LF ãš CR ã®æåãæ¬¡ã®ãããªè§£éãããããã«ããŠãã ããã
+
[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| ããªã³ã¿ãåãåã£ããšã
| ããªã³ã¿ããããªã
|CR
|CR åäœ (埩垰)
|LF
|CR + LF (åŸ©åž°ãæ¹è¡)
|===
+
[NOTE]
====
LF ã CR+LF ã«çœ®ãæãã cat ã³ãã³ããäœãæ¹æ³ãåœç¶èããããŸãã ãããŠããã®ã³ãã³ããšã [.filename]#if-simple# ã® cat ã®éšåã眮ãæããã°ããããã§ãã å
·äœçã«ã©ã®ããã«ãããã¯ã èªè
ãžã®ç·Žç¿åé¡ãšããŸãããã
====
ããªã³ã¿ãæåãçŽå€±ããŠããŸã::
å°åããŠããã®ã§ããã åè¡ã® 2 ïœ 3 æåãå°åãããŸããã ããªã³ã¿ãåããã°åããã»ã©ã ãã£ãšããããã®æåãçŽå€±ãããŠããã ãã®åé¡ã¯æŽã«æªããªã£ãŠãããããããŸããã§ããã
+
ãã®åé¡ã¯ã ã·ãªã¢ã«ããŒããéããŠã³ã³ãã¥ãŒã¿ããéãããŠããããŒã¿ã®é床ã«ã ããªã³ã¿ãã€ããŠãããªãããšã«èµ·å ããŸã (ãã®åé¡ã¯ããã©ã¬ã«ããŒãã«æ¥ç¶ããã ããªã³ã¿ã§ã¯çºçããããšã¯ãããŸãã)ã ãã®åé¡ãå
æããæ¹æ³ã2ã€ãããŸãã
** ããªã³ã¿ã XON/XOFF ã®ãããŒå¶åŸ¡ããµããŒã ããŠããå Žåã¯ãé
ç® `ms#` ã§ `ixon` ã¢ãŒããã»ããããŠãFreeBSD ã«ãã®æ©èœã䜿çšãããŠãã ããã
** ããªã³ã¿ã Request to Send / Clear to Send ããŒããŠã§ã¢ãã³ãã·ã§ã€ã¯ (éç§° `RTS/CTS`) ããµããŒãã㊠ããå Žåã¯ãé
ç® `ms#` ã§ `crtscts` ã¢ãŒããã»ããããŠäžãããããããã ããªã³ã¿ãšã³ã³ãã¥ãŒã¿ãæ¥ç¶ããŠããã·ãªã¢ã«ã±ãŒãã«ã ããŒããŠã§ã¢ãããŒå¶åŸ¡çšã«æ£ããé
ç·ããããã®ãã©ããã確èªããŠãã ããã
ããªã³ã¿ã¯æå³äžæãªæååãå°åãã::
ããªã³ã¿ã¯ã©ã³ãã ãªãŽãã®ããã« èŠãããã®ãå°åããŸãããã æå³ããããã¹ãã¯å°åããŠãããŸããã§ããã
+
ãã®åé¡ã¯ãéåžžã ã·ãªã¢ã«ããŒãã«æ¥ç¶ããããªã³ã¿ã§ã® éä¿¡ãã©ã¡ãŒã¿ã®èª€ãããããåé
ãšã¯å¥ã®çç¶ã§ãã `br` é
ç®ã®éä¿¡é床㚠`ms#` é
ç®ãå確èªããŠãã ããã ãŸããããªã³ã¿ã§ã®èšå®ã [.filename]#/etc/printcap# ãã¡ã€ã«ã§èšå®ãã å
容ãšäžèŽããŠãããã©ããã確èªããŠãã ããã
+
[NOTE]
====
simple-if ã®ãããªåçŽãªãã£ã«ã¿ã ãã®ç¶æ
ã§ã æ¥æ¬èªãå«ãããã¹ããå°åããããšããå Žåã«ãã ã·ãªã¢ã«ããŒãããã©ã¬ã«ããŒãã®äœ¿çšã«é¢ä¿ãªãã ãã®ãããªçç¶ã¯èŠãããŸããæ¥æ¬èªããªã³ã¿ã®å Žåã æŒ¢åã³ãŒããã®ãã® ãéä¿¡ããã ãã§ãã®æŒ¢åãå°åããŠããããã®ã¯ã å°ãªããšãèš³è
ã¯èŠãããšããããŸããã æŒ¢åãå°åããããã®å¶åŸ¡ ã³ãŒããå¥ééä¿¡ãããã£ã«ã¿ãå¿
èŠãšãªããŸãã ãŸãããã®ãããªãã£ã«ã¿ã䜿çšããŠããŠãã ãã®ãã£ã«ã¿ãæ³å®ããŠã挢åã³ãŒããšç°ãªã£ãææžã ããªã³ãããããšãããšãããã®ãããªçç¶ã¯åºãŸãã ãã¡ãããããã¯ããªã³ã¿çšã® èšèªãæããªãããªã³ã¿ã®è©±ã§ãPostScript(R) ããªã³ã¿ ãªã©ã«ãã¬ã€ã³ããã¹ããéä¿¡ããŠããæ¥æ¬èªå¯Ÿå¿ã é察å¿ã«é¢ãããæå³äžæãªæååãå°åããã (ãããã¯ãäœãå°åãããªã) ããšã§ãããã
====
äœãèµ·ããªã::
ããããªã³ã¿ãäœã®åäœãããªãã®ã§ããã°ã ããŒãçãªåé¡ã§ã¯ãªããå€å FreeBSD ã®äžã«åé¡ããããŸãã [.filename]#/etc/printcap# ãã¡ã€ã«ã§ã ãããã°ããŠããããªã³ã¿ã®ãšã³ããªã« (`lf` é
ç®ã§) ãã°ãã¡ã€ã«ãåãããã« èšå®ã远å ããŠãã ãããããšãã°ãããªã³ã¿ `rattan` çšã®ãšã³ããªã®é
ç® `lf` ã¯æ¬¡ã®ããã«ãªããŸãã
+
[.programlisting]
....
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:\
:lf=/var/log/rattan.log
....
+
次ã«ãããäžåºŠå°åããããªã£ãŠã¿ãŸãããããŠã çºçãããšæããããšã©ãŒã¡ãã»ãŒãžãèŠãããã«ãã°ãã¡ã€ã« (äžèšã®äŸã§ã¯ã [.filename]#/var/log/rattan.log#) ã調ã¹ãŸããããã§èŠãããã¡ãã»ãŒãžãå
ã«ã åé¡ã解決ããŠã¿ãŠãã ããã
+
é
ç® `lf` ãæå®ãããŠããªãå ŽåãLPD ã¯ããã©ã«ãã®ãã°ãã¡ã€ã«ãšã㊠[.filename]#/dev/console# ã䜿ããŸãã