日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

30 FreeBSD連載:配置打印機

配置打印機本地打印機通常連接到計算機的并口上,因此在安裝打印機之前,首先要查看并口的狀態(tài)是否正常 。正常情況下,缺省的硬件配置將能夠自動偵測到計算機的并口,那么在啟動時,系統(tǒng)將在控制臺上顯示下面的信息,如果由于滾屏太快而沒有看到這一行的話,可以使用dmesg命令進行查看:
$ dmesg | grep lpt
nlpt0:on ppbus 0
nlpt0: Interrupt-driven port在FreeBSD 3.0之前使用lpt作為打印機的驅(qū)動程序,這個老驅(qū)動程序?qū)τ诂F(xiàn)有具備多個模式的并口硬件支持能力不足 。3.1之后系統(tǒng)的并口驅(qū)動程序更新了,使用了nlpt作為新的驅(qū)動程序名字,但設(shè)備文件的名字仍然為/dev/lpt0 。以后當(dāng)老版本的驅(qū)動程序徹底從FreeBSD中消失之后,驅(qū)動程序名字會恢復(fù)為lpt 。
通常不需任何配置,并口就能正常工作 。此時就可以通過設(shè)備文件/dev/lpt0來直接訪問并口(0表示第一個并口,依次類推),如果并口和打印機的電纜連接也正常,就能測試打印機是否正常,此時需要root權(quán)限 。
# lptest > /dev/lpt0如果對于普通行式打印機,這將打印出一頁測試信息,但如果打印機是使用PostScript或其他頁面描述語言,打印機并不一定進行打印,但打印機的狀態(tài)指示燈將閃爍 。如果打印機是PostScript打印機,可以使用下面命令來測試:
# lptest | a2ps -q -o - > /dev/lpt0這需要預(yù)先通過Packages Collection安裝好a2ps軟件,其中使用的-q參數(shù)表示不輸出a2ps的狀態(tài)信息,-o -參數(shù)表示向標(biāo)準(zhǔn)輸出輸出轉(zhuǎn)化后的PS數(shù)據(jù),如果沒有使用這個參數(shù),則a2ps直接將PS數(shù)據(jù)發(fā)送給lpr命令,由于此時打印系統(tǒng)還未設(shè)置完畢,因此需要直接輸出到打印機端口上以進行測試 。
當(dāng)這個測試正常之后,就可以嘗試使用lpr命令來打印文檔了 。當(dāng)然此時打印系統(tǒng)的設(shè)置還沒有完成,缺省的設(shè)置并不一定適合每個計算機 。應(yīng)該調(diào)整打印設(shè)置,使得打印系統(tǒng)適合本系統(tǒng) 。
打印機配置文件printcap
當(dāng)并口和打印機連接正確之后,可以進行下一步配置/etc/printcap文件了 。在BSD打印系統(tǒng)中,使用這個printcap文件來定義打印機,包括命名打印機、將打印緩沖區(qū)和具體的打印機相聯(lián)系等 。下面的例子中配置了兩個打印機,一個為本地的LaserJet 6P型打印機,另一個為遠(yuǎn)程FreeBSD計算機printersvr上的打印機 。
lp|lj|ps|HP LaserJet 6P:
:lp=/dev/lpt0:sd=/var/spool/lpd/lp:lf=/var/log/lpd-errs:sh:mx#0:
:if=/usr/local/libexec/lpfilter:

rlp|remote printer:
:rm=printersvr:rp=lp:sd=/var/spool/output/lpd/printersvr:lf=/var/log/lpd-errs:從上面的例子可以看出printcap文件的格式:
printcap中的每行描述由多個部分組成,每個部分用 “:” 分隔;由于對打印機的描述一行寫不下,必須使用反斜杠 “” 分隔,這是Unix和C語言的標(biāo)準(zhǔn)做法 。為了避免出現(xiàn)配置錯誤等問題,不要在同一個描述部分的中間續(xù)行;
每行中的第一個描述部分定義打印機的名字,通常可以用多個名字來稱呼一個打印機,例如本例中第一個HP LaserJet 6P又有另外的名字lp、lj和ps,這些名字方便用戶和不同的程序使用打印機 。這些名字之間使用豎線“|” 分隔,習(xí)慣上使用最后一個名字作為打印機的全名;
每個打印機的各個定義部分定義了打印機的不同屬性,定義方式就是上例中使用的方式,定義字符串使用 “=“,定義數(shù)值使用 “#”。一個打印機應(yīng)該具備下面的不同屬性:
lp(local printer)定義本地打印機使用的設(shè)備,通常為并口設(shè)備/dev/lpt0 。
【30 FreeBSD連載:配置打印機】rm(remote Machine)定義遠(yuǎn)程計算機的名字,這在使用遠(yuǎn)程打印機時有用 。
rp(remote printer)的值應(yīng)該為rm定義的遠(yuǎn)程計算機上的一個打印機名 。遠(yuǎn)程打印機不需要lp來定義打印機端口,但需要使用rm和rp定義,以將打印文件發(fā)送到遠(yuǎn)程計算機上的正確打印機中 。這個打印機名應(yīng)該在遠(yuǎn)程計算機中/etc/printcap中進行了定義 。如果沒有使用rp定義而只使用了rm定義,則使用該計算機上的缺省打印機 。

推薦閱讀