亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > FreeBSD > 正文

FreeBSD handbook中文版 11 打印 (1)基本設(shè)置

2024-07-26 00:29:04
字體:
供稿:網(wǎng)友
目錄
11 打印
11.1 概要
11.2 介紹
11.3 基本設(shè)置

=============================================================
第11 章打印
=============================================================
(翻譯中出現(xiàn)的任何問題或錯(cuò)誤,請(qǐng)廣大讀者及時(shí)反饋給我:freebsdhandbook@163.com) 
11.1 概要
FreeBSD 支持許多種類的打印機(jī),從最老式的impact 打印機(jī),到最新的激光打印機(jī), 
都可以讓你通過相關(guān)的應(yīng)用程序來提供高質(zhì)量的打印效果。
FreeBSD 也可以通過網(wǎng)絡(luò)來配置一個(gè)打印服務(wù)器。通過這種功能,F(xiàn)reeBSD 也可以從其
他的電腦上得到打印任務(wù),包括其它的FreeBSD 電腦、windows 和MACos 主機(jī)。FreeBSD 能
夠確保每個(gè)打印作業(yè)都能完成,并能夠統(tǒng)計(jì)用戶和機(jī)器的工作狀況,以使它們能達(dá)到最佳的
打印效果。FreeBSD 也能生成“banner”頁,來顯示誰打了什么和打了多少。
閱讀完這章,你將了解到: 
如何配置FreeBSD 的打印機(jī)spooler。
如何安裝打印機(jī)的過濾器,處理一些特殊的打印作業(yè)。包括轉(zhuǎn)換打印文件的格式。
如何在打印輸出文件中啟用header 或banner 文件。
如何通過連接到其他電腦來打印到打印機(jī)。
如何直接連接到網(wǎng)絡(luò)來打印到打印機(jī)。
如何管理打印機(jī)的限制,包括打印尺寸的大小,以及阻止某些用戶的打印。
如何記錄打印機(jī)的統(tǒng)計(jì)情況和用戶使用打印機(jī)的情況。
如何處理打印機(jī)出現(xiàn)的問題。
在閱讀這章之前,你應(yīng)當(dāng)先了解: 
如何配置和安裝一個(gè)新的內(nèi)核(第9 章)。
11.2 介紹
第1 頁FreeBSD 使用手冊(cè)
要在FreeBSD 下使用打印機(jī),你需要設(shè)置Berkeley line PRint spooling(打印池) 
系統(tǒng),也叫做LPD spooling 系統(tǒng)。這是FreeBSD 下控制打印機(jī)的標(biāo)準(zhǔn)。這一節(jié)將介紹LPD 
spooling 系統(tǒng),以下將簡稱為LPD。
如果你已經(jīng)熟悉LPD 或是其它的打印機(jī)spooling 系統(tǒng),你可以先跳到設(shè)置spooling 系
統(tǒng)那一節(jié)。LPD 控制任何有關(guān)連接在本機(jī)上的打印機(jī)的事情,包括: 
1. 控制本地打印機(jī)及網(wǎng)絡(luò)上其它打印機(jī)的訪問權(quán)限。
2. 接收使用者傳送的文件來打?。贿@些要打印的要求稱為工作。
3. 利用隊(duì)列來防止多個(gè)使用者同時(shí)訪問同一臺(tái)打印機(jī)。
4. 在輸出時(shí)打出header pages(也稱做banner 或burst)。這樣,使用者可以在厚厚
一打紙張中找出他們自己所打印的東西。
5. 為連接在串口上的打印機(jī)設(shè)置適當(dāng)?shù)耐ㄓ崊?shù)。
6. 通過網(wǎng)絡(luò)將工作送給另一臺(tái)機(jī)器上的LPD spooler。
7. 執(zhí)行特定的過濾程序,讓你的工作可以兼容于使用不同打印機(jī)語言的打印機(jī)。
8. 統(tǒng)計(jì)打印機(jī)的使用情況。
11.2.1 為什么要使用spooler 
通過適當(dāng)?shù)脑O(shè)置并提供特別的過濾程序,你可以使LPD 系統(tǒng)在不同的打印機(jī)上擁有上述
全部或部分的功能。
如果你的系統(tǒng)只有自己一個(gè)人在用,那么你可能會(huì)覺得既不需要權(quán)限控制、header 
pages、或是統(tǒng)計(jì)打印機(jī)使用情況,為什么還要用spooler?如果可以直接訪問打印機(jī),那
么你仍然得使用spooler,因?yàn)椋?nbsp;
. LPD 在執(zhí)行脫機(jī)打印的工作時(shí),你不需要花時(shí)間等待資料傳送到打印機(jī)。
. LPD 可以通過過濾程序,在你的文件上加上日期/時(shí)間等信息,或是轉(zhuǎn)換特別的文件
格式(如Tex、DVI 的文件)使打印機(jī)能處理。你不需要手動(dòng)轉(zhuǎn)換。
. 很多免費(fèi)及商業(yè)軟件所提供的打印功能通常會(huì)需要用到你系統(tǒng)上的spooler。你只
要設(shè)置好spooling 系統(tǒng),將來可以很容易的讓其它的程序使用打印機(jī)。
. 統(tǒng)計(jì)打印機(jī)的使用情況。
第2 頁FreeBSD 使用手冊(cè)
11.3 基本設(shè)置
讓LPD 可以配合打印機(jī)工作,你需要同時(shí)設(shè)置好你的打印機(jī)以及LPD。設(shè)置分為兩大部
分: 
1. 簡單的打印機(jī)設(shè)置這一節(jié)將告訴你如何連接打印機(jī),并設(shè)置LPD 打印純文本的文
件。
2. 高級(jí)打印機(jī)設(shè)置這一節(jié)將告訴你如何讓打印機(jī)打出各種不同格式的文件、header 
pages、通過網(wǎng)絡(luò)打印、設(shè)置訪問權(quán)限以及統(tǒng)計(jì)打印機(jī)的使用情況。
11.3.1 簡單的打印機(jī)設(shè)置
這一節(jié)將說明如何連接打印機(jī)及設(shè)置LPD。包括: 
硬件設(shè)置這一節(jié)說明如何將打印機(jī)接到計(jì)算機(jī)上的連接端口。
軟件設(shè)置這一節(jié)說明如何撰寫LPD spooler 的設(shè)置文件/etc/printcap 。
如果你要設(shè)置的是網(wǎng)絡(luò)打印機(jī),請(qǐng)參考使用網(wǎng)絡(luò)數(shù)據(jù)傳輸接口的打印機(jī)這一節(jié)。
雖然這一節(jié)叫做“簡單的打印機(jī)設(shè)置”,但其實(shí)是挺復(fù)雜的。讓你的打印機(jī)可以配合
LPD spooler 是設(shè)置工作中最難的一部分。一旦你的打印機(jī)可以正常工作了,較高級(jí)的功能
如打印header pages 和打印機(jī)使用情況統(tǒng)計(jì)反而比較容易設(shè)置。
11.3.1.1 硬件設(shè)置
這一節(jié)說明有哪些方法可以將打印機(jī)連到我們的個(gè)人計(jì)算機(jī)上;有哪些通訊端口、連接
線以及kernel 的設(shè)置。如果你的打印機(jī)在你使用的計(jì)算機(jī)上可以通過其它操作系統(tǒng)來打印, 
你也許可以跳過這一節(jié)直接到軟件設(shè)置那一節(jié)。
11.3.1.1.1 端口和線纜
幾乎所有可以和PC 連接的打印機(jī)都能支持下列兩種或是其中一種接口: 
第3 頁FreeBSD 使用手冊(cè)
1. 串行打印機(jī)通過串口和計(jì)算機(jī)傳輸資料。串行接口的配備及連接線可以容易的取得
及安裝。但是串行接口有時(shí)需要較特別的連接線及較復(fù)雜的設(shè)置。
2. 并行打印機(jī)通過并口和計(jì)算機(jī)傳輸資料。并口在市場(chǎng)上很普遍,連接線也很容易找
得到,但是不容易自己制作。利用并口連接打印機(jī)十分的容易,通常不需要設(shè)置額
外的通訊參數(shù)。
并口有時(shí)也稱做“Centronics”接口,這是根據(jù)打印機(jī)上面的接頭來命名的。
通常,只有使用PostScript 的打印機(jī)才需要用到雙向傳輸。PostScript 打印機(jī)可以說
是十分復(fù)雜。事實(shí)上,PostScript 的打印工作常常是由程序?qū)⒐ぷ魉偷酱蛴C(jī)處理后,并
不打出來,而是將結(jié)果再傳回計(jì)算機(jī)。PostScript 也使用雙向傳輸將錯(cuò)誤傳回計(jì)算機(jī)。比
如說PostScript 程序有問題或是打印機(jī)卡紙。機(jī)器上的使用者可能會(huì)需要這些信息。更進(jìn)
一步的,PostScript 打印機(jī)統(tǒng)計(jì)打印情況最好的方式就是使用雙向傳輸。比如說:你可先
詢問打印機(jī)啟動(dòng)以來一共打過幾張,然后送出使用者要打的東西,打完后再詢問一共打了幾
張,由此就可得知得向使用者收多少紙張的錢。
那么,你該選擇哪一種接口呢? 
1. 如果你需要雙向傳輸,那么就選擇使用串口。FreeBSD 目前并不支持并口上的雙向
傳輸。
2. 如果你不需要雙向傳輸,那么,你只要選擇你的打印機(jī)支持的接口即可,當(dāng)然最好
是可以用并行端口,而將串行端口留作其它的用途—比如連接終端機(jī)或調(diào)制解調(diào)器
—通常并口傳輸比較快,設(shè)置起來也較容易。
3. 最后,如果還是不知道怎么選的話,就看哪個(gè)能用就接哪個(gè)吧。
11.3.1.1.2 并行口
用Centronics 連接線通過并口連接打印機(jī)和計(jì)算機(jī)。打印機(jī)的手冊(cè)、計(jì)算機(jī)的手冊(cè)這
兩者都可以給你足夠的安裝說明。記住你所使用的并行口。在FreeBSD 里,第一個(gè)并行口是
/dev/lpt0;第二個(gè)則是/dev/lpt1,依此類推。
11.3.1.1.3 串行口
第4 頁FreeBSD 使用手冊(cè)
用適當(dāng)?shù)倪B接線通過串行口連接打印機(jī)和計(jì)算機(jī)。打印機(jī)的手冊(cè)、計(jì)算機(jī)的手冊(cè)這兩者
都可以給你足夠的安裝說明。如果你不確定你的連線是否為“合適的串行口連接線”,你可
以試試下面幾種不同用途的線: 
1. 連接調(diào)制解調(diào)器的線。這種線是一個(gè)接腳對(duì)一個(gè)接腳直接對(duì)接的。這種線也叫做
“DTE-to-DCE”連接線。
2. Null-modem 連接線大部分是一個(gè)接腳對(duì)一個(gè)接腳直接對(duì)接,而有少部分接腳相互
交換(如send data 和receive data);有少部分接腳則是兩端都是短路。這種線
也叫做“DTE-to-DTE”連接線。
3. 并行打印機(jī)連接線,某些不常見的打印機(jī)需要這種線。這種線類似null-modem 連
接線,但是有些信號(hào)是送到相對(duì)應(yīng)的接腳而不是兩端短路。
你應(yīng)當(dāng)為打印機(jī)設(shè)置通訊參數(shù),通??梢岳么蛴C(jī)上的控制面板或是DIP 開關(guān)設(shè)置。
選擇你的計(jì)算機(jī)和打印機(jī)同時(shí)支持的最高傳輸速率(單位為bps,bits per second,也稱做
baud rate)。選擇7 或8 的數(shù)據(jù)位;無、奇數(shù)或偶數(shù)的同位檢查;1 或2 停止位。同時(shí)也選
擇流量控制的方式:無、XON/XOFF (也稱做“in-band”或“軟件”)流量控制。記住你的軟
件設(shè)置也要使用同樣的值。
11.3.1.2 軟件設(shè)置
這節(jié)說明如何設(shè)置FreeBSD 下的LPD spooling 系統(tǒng),使其能打印。
下列是所需的步驟: 
1. 如果需要的話,設(shè)置你的kernel,使該連接端口可被打印機(jī)使用。設(shè)置Kernel 這
一節(jié)將告訴你需要做些什么。
2. 如果你使用的是并行口,那么你得設(shè)置并口的通訊模式。設(shè)置并列端口的通訊模式
這一節(jié)有詳細(xì)的說明。
3. 測(cè)試操作系統(tǒng)是否可以將資料送給打印機(jī)。檢查打印機(jī)連接狀況這節(jié)將給你一些關(guān)
于這一方面的建議。
4. 修改/etc/printcap 以正確設(shè)置LPD。/etc/printcap 設(shè)置文件將告訴你如何做。
第5 頁FreeBSD 使用手冊(cè)
11.3.1.2.1 內(nèi)核配置
操作系統(tǒng)的kernel 為了能配合某些設(shè)備需要重新編譯。而串口和并口就是這些設(shè)備之
一。如果你的kernel 目前并不支持你想用的串口或并口,那么你可能需要將它們加入你的
kernel 設(shè)置并重新編譯。如果要檢查你的kernel 目前是否支持串口,你可以用這個(gè)命令: 
# dmesg | grep sioN 
其中N 是串口的編號(hào),從0 開始計(jì)算。如果你得到的結(jié)果類似下面這個(gè)樣子: 
sio2 at 0x3e8-0x3ef irq 5 on isa 
sio2: type 16550A 
表示你的kernel 支持這個(gè)通訊端口。
如果要檢查你的kernel 目前是否支持并行口,你可以用這個(gè)命令: 
# dmesg | grep lptN 
其中N 是并行口的編號(hào),從0 開始計(jì)算。如果你得到的結(jié)果類似
lpt0 at 0x378-0x37f on isa 
表示你的kernel 支持這個(gè)通訊端口。
你可能會(huì)需要重新設(shè)置你的kernel 使得操作系統(tǒng)可以辨認(rèn)并使用你連接打印機(jī)的并口
或串口。
如果要讓你的kernel 支持串口,請(qǐng)參考關(guān)于重新編譯kernel 的那一節(jié)。如果要讓你的
kernel 支持并口,請(qǐng)參考關(guān)于重新編譯kernel 的那一節(jié)以及下一節(jié)。
11.3.1.3 為端口新增/dev 下的設(shè)備文件
既然kernel 已經(jīng)支持你所需的并口或串口,你仍然需要一個(gè)程序接口在系統(tǒng)里協(xié)助傳
送和接收資料。這也是/dev 里設(shè)備文件存在的目的。
第6 頁FreeBSD 使用手冊(cè)
如果要在/dev 目錄下為你的通訊端口建立相對(duì)應(yīng)的設(shè)備文件: 
1. 用su 命令切換成root。
2. 更改當(dāng)前的目錄到/dev 下: 
# cd /dev 
3. 輸入: 
# ./MAKEDEV port 
其中port 是你想要建立的設(shè)備文件名稱。如果是第一個(gè)并口,你可以用lpt0;如
果是第二個(gè)并口,你可以用lpt1,依此類推。如果是第一個(gè)串口,你可以用ttyd0 
如果是第二的串口,而用ttyd1;依此類推。
4. 輸入: 
# ls -l port 
以確定你剛剛是否建立成功。
11.3.1.3.1 為并口設(shè)置通訊模式
當(dāng)你決定要用并口時(shí),在FreeBSD 下你可以決定要用中斷驅(qū)動(dòng)(interrupt-driven)或是
輪詢(polled)的方式與打印機(jī)溝通。
1. 中斷驅(qū)動(dòng)是GENERIC kernel 里默認(rèn)的方式。如果選擇這個(gè)方式,操作系統(tǒng)將利用
IRQ 來判斷打印機(jī)是否已經(jīng)準(zhǔn)備好接收資料。
2. 而輪詢的方式則是由操作系統(tǒng)一直重復(fù)地去詢問打印機(jī)是否已經(jīng)準(zhǔn)備好可以接收
資料。如果打印機(jī)已經(jīng)準(zhǔn)備好了,那么kernel 再將要打印的資料送過去。
中斷驅(qū)動(dòng)的方式較快但是要占用一個(gè)IRQ。你可以從上述兩者任選一個(gè)可以正常工作的
來使用。設(shè)置通訊模式有兩種方式:設(shè)置kernel 或是使用lptcontrol 這個(gè)程序。
如果要從kernel 里設(shè)置: 
第7 頁FreeBSD 使用手冊(cè)
1. 編輯你的kernel 設(shè)置文件。找出或是自行加入lpt0 這一項(xiàng)。如果你要設(shè)置使用第
二個(gè)并口,那就加入lpt1 這項(xiàng)。如果是第三個(gè)并口就用lpt2,依此類推。
如果你要設(shè)置使用中斷驅(qū)動(dòng)模式,那么要指定irq: 
device lpt0 at isa? port? tty irq N vector lptintr 
其中N 是你并口所使用的IRQ 編號(hào)。
如果你要用輪詢模式,那么就不要指定irq: 
device lpt0 at isa? port? tty vector lptintr 
2. 將設(shè)置文件存儲(chǔ)好后,重新編譯、安裝kernel 并重新啟動(dòng)。你可以參考內(nèi)核配置那
一節(jié)里更詳細(xì)的說明。
如果你想用lptcontrol 來設(shè)置通訊模式: 
1. 輸入: 
# lptcontrol -i -u N 
將lptN 設(shè)置為中斷驅(qū)動(dòng)模式。
2. 輸入: 
# lptcontrol -p -u N 
將lptN 設(shè)置為輪詢模式。
你可以把上述的命令加到你的/etc/rc.local 文件里使得每次啟動(dòng)時(shí)都可以自動(dòng)設(shè)置。
你可以查看lptcontrol 以得到更多有關(guān)的信息。
11.3.1.3.2 檢查打印機(jī)的通訊狀況
在設(shè)置spooling 系統(tǒng)前,你應(yīng)該先確定你的操作系統(tǒng)可以成功地將資料送到你的打印
機(jī)。將打印機(jī)的連接和spooling 系統(tǒng)分開來測(cè)試會(huì)較容易。
你可以送一些文字來測(cè)試你的打印機(jī)。打印機(jī)應(yīng)該會(huì)馬上將它們收到的資料打出來。
lptest 這個(gè)程序會(huì)送96 行每行96 個(gè)ASCII 文字的資料給你的打印機(jī)以協(xié)助測(cè)試。
第8 頁FreeBSD 使用手冊(cè)
使用PostScript(或是其它語言)的打印機(jī)測(cè)試起來較復(fù)雜。我們得先寫一個(gè)較小的測(cè)
試程序,像下面這樣: 
%!PS 
100 100 moveto 300 300 lineto stroke 
310 310 moveto /Helvetica findfont 12 scalefont setfont 
(Is this thing working?) show 
showpage 
注意:上面這個(gè)小程序是給使用PostScript 的打印機(jī)用的,不能給比如說Hewlett 
Packard 公司的PCL 語言使用。PCL 語言可以讓你打印純文本,同時(shí)里面夾雜PCL 特別的命
令。PostScript 不能直接打印純文本,因此對(duì)于這樣的打印機(jī),我們必需做一些特別的設(shè)
置。
11.3.1.3.2.1 檢查一下并口打印機(jī)
這節(jié)將告訴你如何檢查FreeBSD 是否可以使用接在并口的打印機(jī)。
測(cè)試并口上的打印機(jī): 
1. 用su 命令切換成root。
2. 將資料傳送給打印機(jī)。
如果這個(gè)打印機(jī)可以直接打印純文本,請(qǐng)使用lptest。輸入: 
# lptest > /dev/lptN 
其中N 是你打印機(jī)所連接的并列端口。從0 開始計(jì)算。
如果這個(gè)打印機(jī)使用PostScript 或其它的打印機(jī)語言,那么送一個(gè)小小的測(cè)試程序給
打印機(jī)。輸入: 
# cat > /dev/lptN 
然后,一行接著一行,小心的把你的命令打進(jìn)去,因?yàn)槟惆聪翬NTER 后,就無法再修改
了。當(dāng)你輸入完畢后,按CONTROL+D 或是其它產(chǎn)生文件結(jié)尾字符的按鍵?;蛘呤悄憧梢詫⒛?
的測(cè)試程序放在一個(gè)文件里并輸入: 
# cat file > /dev/lptN 
第9 頁FreeBSD 使用手冊(cè)
其中file 就是存儲(chǔ)你測(cè)試程序的文件名。
你應(yīng)該可以看到有一些東西打出來了。如果打出來的資料看起來不大正確,別擔(dān)心,我
們等一會(huì)就修正它們。
11.3.1.3.2.2 檢查一下串口打印機(jī)
這節(jié)將告訴你如何檢查FreeBSD 是否可以使用接在串口的打印機(jī)。
測(cè)試串口上的打印機(jī): 
1. 用su 命令切換成root。
2. 編輯/etc/remote 這個(gè)文件,并加入下列幾行: 
printer:dv=/dev/port:br#bps-rate:pa=parity 
其中port 指的是哪一個(gè)串口(ttyd0、ttyd1、等等),bps-rate 指的是該串口的傳
輸速度,而parity 是設(shè)置打印機(jī)是否需要同位檢查(這個(gè)值可以是even、odd、none 
或zero)。
下面這個(gè)例子是一臺(tái)連接在串行端口上以19200 bps 傳輸?shù)?,同時(shí)不使用同位檢查
的打印機(jī)設(shè)置方式: 
printer:dv=/dev/ttyd2:br#19200:pa=none 
3. 用tip 命令連上打印機(jī)。輸入: 
# tip printer 
如果失敗的話,再次編輯/etc/remote 這個(gè)文件同時(shí)以/dev/cuaaN 取代/dev/ttydN。
4. 將資料傳送給打印機(jī)。
如果這個(gè)打印機(jī)可以直接打印純文本,請(qǐng)使用lptest。輸入: 
~$lptest 
如果這個(gè)打印機(jī)使用PostScript 或其它的打印機(jī)語言, 那么送一個(gè)小小的測(cè)試程序給
打印機(jī)。一行接著一行,非常小心地將程序輸入,因?yàn)橥烁矜I或是其它編輯時(shí)常用的按鍵, 
第10 頁FreeBSD 使用手冊(cè)
對(duì)打印機(jī)可能有特殊的意義。最后你可能要打一個(gè)給打印機(jī)的文件結(jié)尾的字符,讓它知道程
序結(jié)束了。對(duì)PostScript 的打印機(jī)來說,是用CONTROL+D 鍵。
或者是你可以將你的測(cè)試程序放在一個(gè)文件里并輸入: 
~>file 
其中file 就是存儲(chǔ)你測(cè)試程序的文件名。用tip 將這個(gè)文件送給打印機(jī)后,而按文件
結(jié)尾字符。
你應(yīng)該可以看到有一些東西打出來了。如果打出來的資料看起來不大正確,別擔(dān)心,我
們稍待一會(huì)就修正它們。
11.3.1.4 啟用spooler:編輯/etc/printcap 文件
到目前為止,你的打印機(jī)應(yīng)該已經(jīng)連接好了,你的kernel 應(yīng)該也設(shè)置無誤了,而且你
也可以傳送資料給打印機(jī)了?,F(xiàn)在,我們應(yīng)該可以開始設(shè)置LPD 來控制打印機(jī)了。
LPD 的設(shè)置文件是/etc/printcap。每當(dāng)spooler 被使用時(shí),LPD spooling 系統(tǒng)就會(huì)來讀這
個(gè)文件,所以只要這個(gè)文件一被修改,馬上就會(huì)生效。
編輯printcap 這個(gè)設(shè)置文件是很簡單的。用你喜歡的編輯器對(duì)/etc/printcap 這個(gè)設(shè)
置文件做修改就可以了。這個(gè)文件的格式寫法和其它的設(shè)置文件如
/usr/share/misc/termcap 和/etc/remote 是相同的。關(guān)于這些設(shè)置文件的格式,請(qǐng)參考
cgetent。
要建立一個(gè)簡單的spooler 設(shè)置,請(qǐng)按照下列步驟: 
1. 為你的打印機(jī)選擇一個(gè)名字(以及一些方便的別名),并把它們放在/etc/printcap 
這個(gè)文件里。請(qǐng)閱讀為打印機(jī)取名這一節(jié)。
2. 用sh 關(guān)鍵詞關(guān)閉打印header pages 的功能(默認(rèn)是打開此功能)。請(qǐng)閱讀不打印
Header Pages 這一節(jié)。
3. 用sd 關(guān)鍵詞指定一個(gè)目錄給spooler 用。請(qǐng)閱讀建立Spooling 目錄這一節(jié)。
4. 在/etc/printcap 設(shè)置文件里用lp 關(guān)鍵詞指定打印機(jī)連接端口在/dev 下使用的設(shè)備
文件。請(qǐng)閱讀辨認(rèn)打印機(jī)設(shè)備這一節(jié)。如果你的打印機(jī)是接在串口,那么你可以用
fs、fc、xs 以及xc 等關(guān)鍵詞來設(shè)置通訊參數(shù)。請(qǐng)閱讀設(shè)置Spooler 的通訊參數(shù)。
5. 安裝輸入文字過濾程序;請(qǐng)參考安裝文字過濾程序這一節(jié)。
第11 頁FreeBSD 使用手冊(cè)
6. 利用lpr 命令打印以測(cè)試設(shè)置是否正確;請(qǐng)閱讀測(cè)試及疑難解答這兩節(jié)。
注意: 使用特定語言的打印機(jī),比如說PostScrit 打印機(jī),無法直接打印純文本。上述
以及下面要介紹的方法將假設(shè)你所要打印的文件都是不需要轉(zhuǎn)換就能讓打印機(jī)直接了解
的。
使用者通常會(huì)期望它們可以直接將純文本的資料直接由打印機(jī)輸出,而使用LPD 打印的
程序通常也是這么假設(shè)的。如果你的打印機(jī)使用某個(gè)特定的打印機(jī)語言,且你希望可以同時(shí)
處理特定打印機(jī)語言的資料以及純文本的資料,那么你應(yīng)該要另外再多安裝一項(xiàng)以前沒有提
到的東西:純文本轉(zhuǎn)成PostScript(或其它打印機(jī)語言)的自動(dòng)轉(zhuǎn)換程序。在PostScript 打
印機(jī)上打印純文本這一節(jié)將告訴你要怎么做。
11.3.1.4.1 為打印機(jī)命名
第一就是為你的打印機(jī)取一個(gè)名字。此外,你也可為你的打印機(jī)取很多別名,因此,你
要取符合功能的名字或是古怪的名字都可以。
在/etc/printcap 里定義的打印機(jī),至少要有一臺(tái)取lp 別名。這是默認(rèn)的打印機(jī)名稱。
如果使用者沒有環(huán)境變量PRINTER 設(shè)置打印機(jī)的名稱,且在LPD 的命令也沒有指定任何打印
機(jī)的話,那么別名為lp 的打印機(jī)就會(huì)被視為默認(rèn)的打印機(jī)。
通常,我們會(huì)將一臺(tái)打印機(jī)的最后一別名取為它的全名,包括制造商以及型號(hào)。
當(dāng)你將打印機(jī)的名稱及別名設(shè)置在/etc/printcap 文件里時(shí),打印機(jī)的名稱一定要放
在最左邊的字段。其它的別名則以垂直的線(|)分開,而在最后一個(gè)別名之后加一個(gè)冒號(hào)(:)。
在下面的例子里,我們大略描述一下/etc/printcap 的骨干。這個(gè)例子里定義了兩臺(tái)打印機(jī)。
(Diablo 630 以及Panasonic KX-P4455 PostScript 激光打印機(jī)。): 

# /etc/printcap for host rose 

rattan|line|diablo|lp|Diablo 630 Line Printer: 
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4: 
在這個(gè)例子里,第一臺(tái)打印機(jī)取名為rattan 而它的別名有l(wèi)ine、diablo、lp 以及Diablo 
630 Line Printer。這臺(tái)打印機(jī)有l(wèi)p 這個(gè)別名,因此它也是默認(rèn)的打印機(jī)。第二臺(tái)取名為
bamboo,而它的別名有ps、PS、S、panasonic 以及Panasonic KX-P4455 PostScript v51.4。
11.3.1.4.2 不打印頭文件
第12 頁FreeBSD 使用手冊(cè)
LPD spooling 系統(tǒng)默認(rèn)是為每個(gè)打印工作打印header page 的。Header page 包括了送
出打印工作的使用者名稱、送出工作的機(jī)器名稱以及工作的名稱。不幸的是,這些額外的信
息可能會(huì)妨礙我們做簡單的打印機(jī)設(shè)置測(cè)試,因此我們想不要打印header pager。
在/etc/printcap 用sh 關(guān)鍵詞為特定的打印機(jī)設(shè)置不打印header pages。這里有一個(gè)
在/etc/printcap 里使用sh 的例子: 

# /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: 
注意:我們使用的正確格式:打印機(jī)定義的第一行得從第一個(gè)字開始寫的,而其后的每
一行用TAB 鍵往內(nèi)縮一格。而一行如果寫不完需要接到下一行時(shí),則以反斜線字符結(jié)尾。
11.3.1.4.3 建立spooling 目錄
下一步就是建立一個(gè)spooling 目錄,一個(gè)在打印時(shí)會(huì)用到以及存放一些spooler 需要
的文件的地方。
通常我們會(huì)將spooling 目錄指定在/var/spool 目錄下。你不需要備份spooling 目錄, 
而建立它也只要以mkdir 命令即可。
通常我們會(huì)將spooling 目錄以打印機(jī)的名稱建立,如下所示: 
# mkdir /var/spool/printer-name 
然而,如果在你的網(wǎng)絡(luò)中有很多打印機(jī)的話,你也許會(huì)希望將所有的spooling 目錄放
在一個(gè)LPD 專用的目錄下。以我們的打印機(jī)rattan 和bamboo 為例: 
# mkdir /var/spool/lpd 
# mkdir /var/spool/lpd/rattan 
# mkdir /var/spool/lpd/bamboo 
注意: 如果你關(guān)心的是使用者打印資料的隱私,那么你應(yīng)該要將spooling 目錄的權(quán)限
做適當(dāng)?shù)脑O(shè)置。Spooling 目錄應(yīng)該要屬于daemon 這個(gè)使用者同時(shí)并允許它讀、寫及搜索, 
而其它人都無法訪問此目錄。因此,我們應(yīng)該要這樣設(shè)置: 
第13 頁FreeBSD 使用手冊(cè)
# 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 
最后,在/etc/printcap 文件里,你可以用sd 關(guān)鍵詞來指定spooling 的目錄: 

# /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: 
注意:打印機(jī)的名字一定是在定義第一行的第一個(gè)字,而其它行都要以TAB 縮進(jìn)。如果
需要換行則需要在行末加上反斜線字符。
如果你沒有用sd 指定spooling 目錄,那么系統(tǒng)默認(rèn)的spooling 目錄將會(huì)是
/var/spool/lpd 。
11.3.1.4.4 識(shí)別打印機(jī)設(shè)備
在為通訊端口新增/dev 目錄下的設(shè)備文件這一節(jié)里,我們?cè)?dev 目錄下選定了要給
FreeBSD 使用與打印機(jī)通訊的連接端口。現(xiàn)在我們要告訴LPD 這個(gè)信息。當(dāng)spooling 系統(tǒng)
有工作要打印時(shí),它將會(huì)告訴過濾程序(負(fù)責(zé)送資料給打印機(jī))使用指定的設(shè)備。
在/etc/printcap 用lp 關(guān)鍵詞指定使用/dev 下的設(shè)備名稱。
在我們的例子中,我們?cè)O(shè)置rattan 使用第一個(gè)并口,而bamboo 使用第六個(gè)串口。因此
在/etc/printcap 中我們?cè)O(shè)置: 

# /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: 
第14 頁FreeBSD 使用手冊(cè)
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:/ 
:sh:sd=/var/spool/lpd/bamboo:/ 
:lp=/dev/ttyd5: 
如果你在/etc/printcap 里沒有用lp 關(guān)鍵詞指定要使用哪個(gè)通訊端口,LPD 將會(huì)使用
/dev/lp 為默認(rèn)的通訊端口。/dev/lp 目前在FreeBSD 中并不存在。
如果你現(xiàn)在安裝的打印機(jī)是連接在并口上,那么請(qǐng)?zhí)涟惭b文字過濾程序這一節(jié),否
則,請(qǐng)按照下面這一節(jié)繼續(xù)設(shè)置。
11.3.1.4.5 配置spooler 通訊參數(shù)
對(duì)于連接在串口上的打印機(jī),LPD 設(shè)置的傳輸速率、同位檢查、以及其它的通訊參數(shù), 
使得過濾程序能送資料到打印機(jī)上。這是較有利的。因?yàn)椋?nbsp;
1. 你只要編輯/etc/printcap 就可以使用不同的通訊參數(shù)。不需要去重新編譯你的過
濾程序。
2. 允許spooling 系統(tǒng)在多臺(tái)打印機(jī)、多種不同通訊參數(shù)設(shè)置的情況下用同一個(gè)過濾
程序。
在/etc/printcap 設(shè)置文件里,下列關(guān)鍵詞控制lp 所指定的通訊端口: 
br#bps-rate 
設(shè)置通訊端口傳輸速度為bps-rate 其中bps-rate 可以是50、75、110 、134、150、
200、300、600、1200、1800、2400、4800、9600、19200 或是38400 bit-per-second。
fc#clear-bits 
打開通訊端口后,清除sgttyb 結(jié)構(gòu)里的標(biāo)記位clear-bits。
fs#set-bits 
設(shè)置sgttyb 結(jié)構(gòu)里的標(biāo)記位set-bits。
xc#clear-bits 
打開通訊端口后,清除local 模式位clear-bits。
xs#set-bits 
設(shè)置local 模式位set-bits。
第15 頁FreeBSD 使用手冊(cè)
關(guān)于fc、fs、xc 以及xs 關(guān)鍵詞各個(gè)bit 的說明,請(qǐng)參考
/usr/include/sys/ioctl_compat.h。當(dāng)LPD 打開由lp 所指定的通訊端口時(shí),會(huì)先讀取
sgttyb 這個(gè)結(jié)構(gòu),然后清掉fc 關(guān)鍵詞所指定的位再設(shè)置由fs 關(guān)鍵詞所指定的位。設(shè)置完
成后,才開始使用這個(gè)結(jié)構(gòu)。同樣的,對(duì)local 模式位設(shè)置也是以一樣方式的處理。
讓我們?cè)谖覀兊睦永餅榈诹鶄€(gè)串行端口設(shè)置這些位。我們會(huì)將傳輸速率設(shè)置成38400 bps。
而在標(biāo)記位方面,我們會(huì)設(shè)置TANDEM、ANYP、LITOUT、FLUSHO 以及PASS8 這些位。而local 
模式位,我們將設(shè)置LITOUT 以及PASS8 位: 
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:/ 
:sh:sd=/var/spool/lpd/bamboo:/ 
:lp=/dev/ttyd5:fs#0x82000c1:xs#0x820: 
11.3.1.4.6 安裝文本過濾器
現(xiàn)在可以開始設(shè)置LPD 用什么文字過濾程序送工作給打印機(jī)。一個(gè)文字過濾程序也叫做
輸入用過濾程序,當(dāng)LPD 有東西要打印時(shí),它就會(huì)執(zhí)行這個(gè)程序。當(dāng)LPD 運(yùn)行這個(gè)程序時(shí), 
它會(huì)將過濾程序的標(biāo)準(zhǔn)輸入設(shè)為要打印工作的標(biāo)準(zhǔn)輸入,而過濾程序的標(biāo)準(zhǔn)輸出則送給以
lp 關(guān)鍵詞指定的通訊端口。因此過濾程序必需要能從標(biāo)準(zhǔn)輸入讀入要打印的東西,做適當(dāng)
的處理后,將結(jié)果從標(biāo)準(zhǔn)輸出送出。而這些輸出就會(huì)被打出來。請(qǐng)參考過濾程序的運(yùn)作方式
這一節(jié)以更進(jìn)一步的了解過濾程序。
在我們的打印機(jī)設(shè)置里,文字過濾程序可能只是一個(gè)執(zhí)行/bin/cat 命令的shell script 
將工作送給打印機(jī)。FreeBSD 里有一個(gè)叫做lpf 的過濾程序能處理倒退、底線等打印機(jī)可能
無法正確處理的資料。當(dāng)然,你也可以用任何你想用的過濾程序。關(guān)于lpf 這個(gè)過濾程序在
文字過濾程序:lpf 這一節(jié)里有更詳細(xì)的說明。
首先, 讓我們做一個(gè)簡單的shell script 文字過濾程序, 
/usr/local/libexec/if-simple。用你熟悉的編輯器編輯這個(gè)文件: 
#!/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. 
第16 頁FreeBSD 使用手冊(cè)
/bin/cat && exit 0 
exit 2 
然后要讓這個(gè)文件可執(zhí)行: 
# chmod 555 /usr/local/libexec/if-simple 
同時(shí),在/etc/printcap 設(shè)置文件里用if 關(guān)鍵詞告訴LPD 來使用這個(gè)過濾程序。在下面
的例子里,我們?cè)?etc/printcap 中為兩臺(tái)打印機(jī)都指定了過濾程序: 

# /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/ttyd5:fs#0x82000e1:xs#0x820:/ 
:if=/usr/local/libexec/if-simple: 
11.3.1.4.7 打開LPD 
lpd 從/etc/rc 運(yùn)行,通過使用lpd_enable 來控制。默認(rèn)是NO。如果你還沒有啟用它, 
可以加入下面這行到/etc/rc.conf,然后重新啟動(dòng)電腦或只運(yùn)行l(wèi)pd: 
lpd_enable="YES" 
# lpd 
11.3.1.4.8 測(cè)試
你已經(jīng)把LDP 需要的設(shè)置都完成了。不過,我們需要測(cè)試看看這些設(shè)置是否可以正確地
工作。測(cè)試的方法就是打出一些東西。如果要用LPD 系統(tǒng)來打印,我們可以使用lpr 這個(gè)命
令來送出一些打印工作。
你可以使用檢查打印機(jī)連接狀況這一節(jié)里介紹的lpr 及l(fā)ptest 來產(chǎn)生一些測(cè)試文字。
測(cè)試LPD 設(shè)置: 
第17 頁FreeBSD 使用手冊(cè)
輸入:
# lptest 20 5 | lpr -Pprinter-name 
其中printer-name 是/etc/printcap 里的某一臺(tái)打印機(jī)名稱或別名。如果要測(cè)試默認(rèn)
的打印機(jī),那么在執(zhí)行l(wèi)pr 命令時(shí)不要指定-P 這個(gè)參數(shù)。再一次的提醒,如果你要測(cè)試的
是PostScript 打印機(jī),那么請(qǐng)傳送PostScript 程序給打印機(jī),而不要用lptest。你可以
將程序放在一個(gè)文件里然后輸入lpr file。
如果是PostScript 打印機(jī),你應(yīng)該會(huì)得到程序輸出的結(jié)果。如果你是用lptest 的話, 
那么你的結(jié)果看起來應(yīng)該是下面這個(gè)樣子: 
!”#$%&’()*+,-./01234 
“#$%&’()*+,-./012345 
#$%&’()*+,-./0123456 
$%&’()*+,-./01234567 
%&’()*+,-./012345678 
如果要做更進(jìn)一步的測(cè)試,你可以下載更大的程序(給某個(gè)特定打印機(jī)語言的打印機(jī)使
用)或是在執(zhí)行l(wèi)ptest 時(shí)加一些額外的參數(shù)。例如lptest 80 60 將會(huì)產(chǎn)生60 行每行80 個(gè)
字符的測(cè)試數(shù)據(jù)。
如果打印機(jī)并沒有反應(yīng),請(qǐng)參考疑難解答這一節(jié)。
11.3.1.4.9 疑難解答
用lptest 做過簡單的測(cè)試后,你可能會(huì)遇到下列的問題。打印機(jī)打了一陣子,但是并
沒有輸出任何結(jié)果。
打印機(jī)打出上面所列的東西,但是沒多久就停了。這時(shí),你可能需要按打印機(jī)上的PRINT 
REMAINING 或FORM FEED 鈕才看得到輸出的結(jié)果。
如果是這種情況的話,打印機(jī)在打印前可能在等待是否還有更多的資料要打印。要解決
這個(gè)問題,你可以讓你的文字過濾程序送出FORM FEED 字符(或是其它需要的字符)給打印機(jī)。
這個(gè)動(dòng)作讓打印機(jī)打出目前打印機(jī)緩存區(qū)里的資料。同時(shí)也確定每個(gè)工作的最后一頁可以完
整的輸出,使得下個(gè)工作不會(huì)從前一個(gè)工作的最后一頁中間輸出。
下面這個(gè)shell script 取代/usr/local/libexec/if-simple。將工作送給打印機(jī)后, 
會(huì)再送出一個(gè)form feed 字符: 
#!/bin/sh 
第18 頁FreeBSD 使用手冊(cè)

# 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 
打出了“階梯效應(yīng)”。
你的結(jié)果可能是這個(gè)樣子: 
!”#$%&’()*+,-./01234 
“#$%&’()*+,-./012345 
#$%&’()*+,-./0123456 
這時(shí)你已經(jīng)成為因?yàn)閾Q行字符沖突而產(chǎn)生的階梯效應(yīng)受害者。UNIX 風(fēng)格的操作系統(tǒng)只
使用ASCII 碼10,line feed (LF) 作為換行字符。MS-DOS、OS/2 以及其它的操作系統(tǒng)使用
兩個(gè)字符ASCII 碼10 以及ASCII 碼13 (稱做carriage return 或CR)。很多打印機(jī)使用MS-DOS 
的表示法來代表換行字符。
當(dāng)你用FreeBSD 打印時(shí),你的文件只用line feed 字符換行。當(dāng)打印機(jī)看到一個(gè)line feed 
字符時(shí),將紙卷了一行,仍然從同一個(gè)位置繼續(xù)往后打印。這就是為什么要用carriage 
return 字符的原因:將下一個(gè)字的打印位置移到紙張的最左邊。
FreeBSD 希望你的打印機(jī)可以: 
打印機(jī)收到CR 打印機(jī)打印CR 
打印機(jī)收到LF 打印機(jī)打印CR + LF 
有一些方法可以達(dá)到這個(gè)目地: 
1. 用打印機(jī)上的開關(guān)或控制面板設(shè)置這些字符的處理方式。請(qǐng)查閱你的打印機(jī)手冊(cè)并做正
確的設(shè)置。
注意: 如果你的計(jì)算機(jī)安裝了除了FreeBSD 外的操作系統(tǒng),你也許得常常重新
設(shè)置打印機(jī)處理CR 和LF 的設(shè)置。因此,你可能會(huì)希望使用下面其中之一的方
第19 頁FreeBSD 使用手冊(cè)
法: 
2. 讓FreeBSD 的串口驅(qū)動(dòng)程序自動(dòng)將LF 轉(zhuǎn)換成CR+LF。當(dāng)然,你的打印機(jī)只能在串行口
上。如果要打開這個(gè)功能,只要在/etc/printcap 設(shè)置文件里為你的打印機(jī)用fs 關(guān)鍵詞設(shè)
置CRMOD 這個(gè)位即可。
3. 送一個(gè)句柄給打印機(jī)告訴它暫時(shí)把LF 字符做額外的處理。請(qǐng)參閱你的打印機(jī)手冊(cè)以了
解你的打印機(jī)是否支持此功能。如果你找到適用的句柄,修改你的文字過濾程序先送出這些
句柄,再送出要打印的工作。
下面這個(gè)文字過濾程序的例子是使用Hewlett-Packard PCL 句柄。先讓打印機(jī)將LF 視
為LF 和CR 處理,再送出工作。最后,再送出將整頁送出的句柄。這個(gè)過濾程序應(yīng)該可以應(yīng)
付大部分Hewlett-Packard 的打印機(jī)。
#!/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 “/033&l0H” && exit 0 
exit 2 
而下面這個(gè)/etc/printcap 的例子是設(shè)置一臺(tái)叫做orchid 計(jì)算機(jī)。它在第一個(gè)并口連
接了一臺(tái)叫做teak 的Hewlett-Packard LaserJet 3Si 打印機(jī)。同時(shí),它使用了上述的script 
作為它的文字過濾程序: 

# /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: 
第20 頁每一行都重迭在一起
打印機(jī)從不換行,把每一行都印在同一行上。這個(gè)問題和上述的階梯效應(yīng)“相反”。而
且也較罕見。FreeBSD 用來換行的LF 字符被當(dāng)成CR 字符使得打印機(jī)一直回到紙張的最左邊
開始打印但卻不換行。使用打印機(jī)上的設(shè)置開關(guān)或是控制面板設(shè)置使LF 和CR 字符這樣被處
理: 
打印機(jī)會(huì)少打某些字
打印時(shí),打印機(jī)在一行之中會(huì)少打某些字。這個(gè)情況在打印時(shí)可能會(huì)變得愈來愈嚴(yán)重, 
有愈來愈多的字打不出來。這是因?yàn)榇蛴C(jī)接收資料的速度無法跟上計(jì)算機(jī)通過串行端口送
資料的速度(這個(gè)問題在并列端口打印機(jī)上應(yīng)該不會(huì)發(fā)生)。有兩種方式可以解決這個(gè)問題: 
1. 如果打印機(jī)支持XON/XOFF 流量控制,在FreeBSD 里可以用fs 關(guān)鍵詞來設(shè)置TANDEM 位。
2. 如果打印機(jī)支持carrier 流量控制,用fs 關(guān)鍵詞來設(shè)置MDMBUF 位。確定連接打印機(jī)及
計(jì)算機(jī)的連接線可以配合carrier 流量控制使用。
3. 如果打印機(jī)不支持任何一種流量控制,那么在fs 關(guān)鍵詞里試著設(shè)置NLDELAY、TBDELAY、
CRDELAY、VTDELAY 以及BSDELAY 等位的組合以適當(dāng)?shù)难舆t資料送到打印機(jī)。
打出亂碼
打印機(jī)打出看不懂的符號(hào),而不是我們期望中的數(shù)據(jù)。這通常是因?yàn)樾蛄写蛴C(jī)的通訊
參數(shù)設(shè)置不正確而造成的。再檢查一次br 關(guān)鍵詞所設(shè)置的傳輸速率、fs 及fc 關(guān)鍵詞所設(shè)置
的同位檢查。同時(shí)也檢查打印機(jī)是否也使用與/etc/printcap 文件里相同的設(shè)置。
沒有任何動(dòng)作發(fā)生
如果沒有任何反應(yīng),那么可能是FreeBSD 的問題而不是硬件的問題。為你的打印機(jī)在
/etc/printcap 設(shè)置文件里設(shè)置記錄文件(使用lf 關(guān)鍵詞)。下面的例子是用lf 為rattan 這臺(tái)打
印機(jī)設(shè)置記錄文件: 
rattan|line|diablo|lp|Diablo 630 Line Printer:/ 
:sh:sd=/var/spool/lpd/rattan:/ 
FreeBSD 使用手冊(cè)
打印機(jī)打印打印機(jī)收到
CR CR 
CR + LF LF 
第21 頁FreeBSD 使用手冊(cè)
:lp=/dev/lpt0:/ 
:if=/usr/local/libexec/if-simple:/ 
:lf=/var/log/rattan.log 
然后試著再打印一次,并檢查記錄文件(在我們的例子里,是/var/log/rattan.log 這個(gè)文
件)里是否有出現(xiàn)錯(cuò)誤信息。然后根據(jù)錯(cuò)誤信息來解決你的問題。
如果你沒有用lf 指定記錄文件,LPD 默認(rèn)是/dev/console 將錯(cuò)誤信息輸出。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
99视频精品免费| 国内成人精品一区| 荫蒂被男人添免费视频| 久久99国产精品久久| 日本女优一区| 免费观看成人高| 添女人荫蒂视频| 97超碰人人澡| 色综合色综合色综合色综合| 国产噜噜噜噜噜久久久久久久久| 国产精品美女久久久久久免费| 欧美激情a在线| 一本大道av伊人久久综合| 日本一二三区在线| 精品91久久| 99riav1国产精品视频| 91精品国产黑色紧身裤美女| 亚洲精品不卡在线观看| 福利在线白白| 麻豆视频在线免费看| av中文字幕免费观看| 亚洲精品一区二区三区蜜桃久| 日韩在线视频免费播放| 成人动漫一区二区| 亚洲精品午夜精品| eeuss一区二区三区| 狠狠爱在线视频一区| 蜜桃av噜噜一区二区三区小说| 中文字幕av高清片| 亚洲第一区第二区第三区| 久久精品magnetxturnbtih| 不卡大黄网站免费看| 2023国产一二三区日本精品2022| 欧美人禽zoz0强交| 欧美一区二区精品| 欧美一级久久久久久久大片| 成人免费毛片在线观看| 中国一级免费毛片| 91精品国产综合久久精品图片| 欧美 日韩 国产 精品| 欧美少妇网站| 日韩一区二区三区免费播放| 欧美性生交xxxxxdddd| 中文字幕日韩一区二区| 国产一级黄色录像| 精品剧情v国产在线观看在线| 户外极限露出调教在线视频| 国产麻豆a毛片| 女生裸体视频一区二区三区| 黄色网址免费在线| 欧美第一在线视频| 伊人网在线综合| 欧美黑人ⅹxxx另类猛交| 亚洲精品自拍动漫在线| 午夜影院免费在线观看| 91在线无精精品一区二区| 乳奴隷乳フ辱julia在线观看| ww国产内射精品后入国产| 水蜜桃av无码| 91精品国产高清久久久久久久久| 久久r这里只有精品| 久久一区二区电影| 尤物网站在线| 国产成人无码精品久久久久| 日韩欧美精品三级| 好看的日韩精品| 国产男女无遮挡| 3atv在线一区二区三区| japanese色系久久精品| 最近久乱中文字幕| 精品久久久久久久久久久久包黑料| 一本色道久久88综合日韩精品| 一女二男3p波多野结衣| 国产在线播放不卡| 国产野外战在线播放| 美女诱惑一区| 亚洲免费av在线| 亚洲精品视频在线观看视频| 网站黄在线观看| 国产在线你懂得| 亚洲在线观看av| 高清在线观看日韩| 国产一区二区三区综合| 狂野欧美性猛交xxxxx视频| 天天操天天干天天玩| free性护士videos欧美| 国产三级自拍| 国产精品一区二区三区高清在线| 99精品视频免费全部在线| 欧美日韩综合| 亚洲小少妇裸体bbw| 日韩精选在线观看| 欧美色精品天天在线观看视频| 欧美理论电影在线播放| 国产黄色免费电影| 偷偷要 色偷偷| 最近2019中文字幕mv免费看| 性欧美gay| 中文幕av一区二区三区佐山爱| 欧美日韩一区免费| 国产一区二区毛片| 亚洲熟妇无码另类久久久| 精品国产一区二区三区四区四| 国产精品91在线观看| 亚洲香蕉在线观看| 91精品国产欧美一区二区成人| www.日韩av| 国产妇女馒头高清泬20p多| 国产精品拍拍拍| 高清av一区二区| 欧美激情一区二区三区在线视频| 国产一区二区免费| av美女网站| 在线观看污网站| 91精品国产综合久久久久久豆腐| caopon在线免费视频| 精品人妻aV中文字幕乱码色欲| 在线观看18视频网站| 欧美精品在线观看播放| 色婷婷久久99综合精品jk白丝| 日韩a一级欧美一级| 伦理中文字幕亚洲| 美女av一区二区三区| 久久久久久久久成人| 北条麻妃一区二区三区在线| 国产视频一区免费看| 成人日韩精品| 国产调教视频在线观看| 1024视频在线| 性鲍视频在线观看| 久久蜜桃av一区精品变态类天堂| 精品国产乱码久久久久久88av| 精品国产成人| 色老头一区二区三区在线观看| 午夜精品久久久久久久星辰影院| 黄色一级片免费在线观看| 欧美第一精品| 成人午夜电影在线播放| jizz欧美性20| 青春草国产成人精品久久| 欧美日韩国产经典色站一区二区三区| 国产综合久久久久| 香蕉视频污视频| 国产视频手机在线播放| 18性欧美xxxⅹ性满足| 欧美孕妇孕交xxⅹ孕妇交| 黄色三及免费看| 日韩色淫视频| 日韩丝袜美女视频| 免费观看h电影在线观看| 97久久人人超碰caoprom欧美| 欧美老tube| 超级碰碰视频| 中文字幕乱码亚洲无线精品一区| 欧美精品中文字幕亚洲专区| 国产日韩欧美中文字幕| 精品视频在线播放色网色视频| 特黄特色欧美大片| 国产精品无码一本二本三本色| 久久五月精品| 亚洲自拍偷拍av| 红桃成人av在线播放| 亚洲一区二区偷拍| 午夜精品影院在线观看| a级免费观看| 性猛交富婆╳xxx乱大交一| 亚洲一卡二卡三卡四卡无卡网站在线看| 一区二区三区四区在线视频| 狠狠色丁香婷婷综合| 你懂的网站在线观看| 欧美性猛交xxxx久久久| 欧美激情喷水视频| 91影院未满十八岁禁止入内| jizz在线观看| 国产不卡av一区二区| 网友自拍视频在线| 中文字幕在线播放第一页| 日韩在线视频播放| 久久久影院免费| 丰满肉嫩西川结衣av| 一代武则天秘史| 高清视频在线观看三级| 国产美女被下药99| 日本一区二区三区电影| 日本一区高清| 国产精品91久久| 久久综合精品视频| ·天天天天操| 一级黄色特级片| 亚洲免费高清视频| 国产一区二区电影在线观看| 欧美成人国产精品一区二区| 亚洲一区中文字幕在线| 一区二区三区四区日本视频| 91短视频版在线观看www免费| 97超级碰在线看视频免费在线看| 精品国产乱码久久久久酒店| 亚洲国产成人va在线观看麻豆| 日韩欧美精品在线观看| 六月激情综合网| 久久久久久久久久久成人| 久草视频免费在线观看| 午夜免费电影一区在线观看| 精品国产伦一区二区三区观看说明| 性感av在线播放| 欧美精品在线观看播放| 亚洲熟妇av一区二区三区漫画| 在线播放豆国产99亚洲| 国产精品对白一区二区三区| 成人午夜碰碰视频| 精东传媒在线观看| 欧美性猛交xxxx乱| 亚洲一区在线观看免费观看电影高清| 99这里有精品| 成人免费视频一区二区| 蜜臀av色欲a片无码精品一区| 久久影视电视剧免费网站清宫辞电视| 久久久久久自在自线| 午夜久久美女| 亚洲视频在线观看免费视频| 免费国产自线拍一欧美视频| 亚洲AV成人无码网站天堂久久| 亚洲成人黄色小说| 成+人+亚洲+综合天堂| 亚洲va韩国va欧美va精四季| 成人性a激情免费视频| 6080yy精品一区二区三区| 最新中文字幕2018| 日本r级电影在线观看| 视频在线精品一区| 超碰免费在线播放| 97免费视频在线| 欧美日韩国产精品一区| 亚洲欧美视频在线播放| www.美色吧.com| 亚洲欧美国产日韩天堂区| 国产一二三四| 最近2019年手机中文字幕| 亚洲第一影院| 秋霞在线观看一区二区三区| 欧美大胆一级视频| 天堂中文在线观看视频| 国产精品毛片一区二区在线看舒淇| 91成人一区二区三区| 四虎永久在线精品免费一区二区| 国产国语**毛片高清视频| 亚洲六月丁香色婷婷综合久久| 97久久精品人人爽人人爽蜜臀| 日本一区二区三级电影在线观看| 亚洲色大成网站www久久九九| 国产日本在线| 国产成人亚洲精品青草天美| 久久久久久久免费| 青草在线视频在线观看| 欧美黄色三级网站| 中国女人精69xxxxxx视频| 日韩专区av| 少妇性l交大片7724com| 亚洲欧美另类久久久精品| 朝桐光av一区二区三区| 国产主播自拍av| 自拍自偷一区二区三区| 日本亚洲色大成网站www久久| 性色一区二区三区| 亚洲变态欧美另类捆绑| 中文字幕91爱爱| 亚洲高清久久网| 国产亚洲自拍一区| 欧美午夜不卡影院在线观看完整版免费| 一本色道久久综合| 中文字幕视频在线观看| 欧美另类在线视频| 欧美性xxxx| 欧美熟妇乱码在线一区| 国产久卡久卡久卡久卡视频精品| 亚洲精品免费观看| 欧洲精品一区二区三区在线观看| 久久久久久伊人| 国产日韩在线观看一区| 亚洲国产视频二区| 精品1区2区在线观看| 国产成人精品免费视频大全软件| aa级大片欧美三级| se在线电影| 不要播放器的av网站| 91综合视频| 国产欧美久久久久久久久| 日本人妖在线| 亚洲一区色图| 亚洲第一精品自拍| 九九热青青草| 成人av资源在线播放| 久久美女免费视频| 免费黄色网址在线观看| 在线观看免费网站黄| 五月天婷婷丁香| 国产一区欧美二区三区| 欧美日本视频在线| 国产日韩一区二区在线观看| www精品久久| 成人欧美一区二区三区在线观看| 男人的天堂亚洲| 久久精品国产精品亚洲毛片| 精品久久久久久久久久国产| av女优在线播放| 亚洲一区黄色| 国产精品爽爽爽| 亚洲av熟女高潮一区二区| 久久天天躁狠狠躁夜夜躁| 欧美一级一区| 激情成人综合| 久久精品国产亚洲av无码娇色| 精品欧美一区二区久久久| 国产精品中文久久久久久| 免费在线毛片网站| 午夜视频在线免费| 成人一级毛片| 中文字幕无码人妻少妇免费| 日韩深夜福利网站| 国产成人精品网址| 日本一区免费观看| 欧美亚洲国产一区在线观看网站| 午夜精品久久久久久久久久| 欧美电影免费观看| 99成人国产精品视频| 91精品成人久久| 无码国产精品一区二区色情男同| 欧美韩国日本精品一区二区三区|