📄 177.html
字号:
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>www.newok.com::FreeBSD使用大全</title>
<link rel=stylesheet href="newok.css" tppabs="http://www.newok.com/include/newok.css">
</head>
<body>
<div align=center>
<p> </p>
<table width=720>
<tr><td>
<strong>当前所在位置:</strong><a href="javascript:if(confirm('http://www.at.china.com/bsd/index.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.at.china.com/bsd/index.html'" tppabs="http://www.at.china.com/bsd/index.html" class=t1>FreeBSD使用大全>></a>
</td></tr>
</table>
<table width=700>
<tr><th><font color=white>FreeBSD连载(30):配置打印机(2)</font></th></tr>
<tr><td> </td></tr>
<tr><td align=left><i>作者:</i>王波 </td></tr>
<tr><td> </td></tr>
<tr><td><font color=white><br>在非PostScript打印机上打印<br><br> 通常非PostScript打印机使用特殊的ESC序列来表示命令,而对普通文本不做特殊处理,因此文本文件仍然被看作文本文件,能够直接打印文本文件,因此这些非PostScript的打印机能够直接设置为普通的文本打印机来使用。<br><br> 然而要想充分发挥打印机的能力,打印包括图形在内的文档,就必须有能理解这台非PostScirpt打印机使用的控制语言的过滤器。这些过滤器就相当于Windows下的打印机驱动,应该由生产这台打印机的厂商提供。但是很多低档打印机是专门为使用DOS或Windows的计算机生产的,没有为Unix配置过滤器,因此在这些打印机上打印图形就遇到了困难。幸运的是,Ghostscript能够识别很多种打印机,并能将PostScript文件在指定的设备上打印出来。<br><br> 因此在前面的操作中生成了Postscript文件之后,就可以使用Ghostscript在一台非Post Script打印机上打印PostScript文件,下面文件将在一台Laserjet4打印机上打印test.ps 文件。<br><br># gs -sDEVICE=ljet4 -sOutput=/dev/lpt0 test.ps<br>使用gs -help能列出一系列Ghostscrit支持的设备文件,有些是打印机设备,有些是代表不同的图形格式的伪设备。<br>$ gs -help<br>Aladdin Ghostscript 5.50 (1998-9-16)<br>Copyright (C) 1998 Aladdin Enterprises, Menlo Park, CA. All rights reserved.<br>Usage: gs [switches] [file1.ps file2.ps ...]<br>Most frequently used switches: (you can use # in place of =)<br> -dNOPAUSE no pause after page | -q `quiet', fewer messages<br> -gx page size in pixels | -r pixels/inch resolution<br> -sDEVICE= select device | -dBATCH exit after last file<br> -sOutputFile= select output file: - for stdout, |command for pipe,<br> embed %d or %ld for page #<br>Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF<br>Available devices:<br> appledmp iwhi iwlo iwlq hl7x0 bj10e bj200 bjc600 bjc800 lbp8 lips3 m8510<br> uniprint la50 la70 la75 la75plus lj250 declj250 ln03 ap3250 epson eps9mid<br> eps9high lp8000 lq850 epsonc st800 stcolor lp2563 dnj650c deskjet djet500<br> cdeskjet djet500c cdjcolor cdjmono cdj500 cdj550 cdj670 cdj850 cdj890<br> cdj1600 laserjet ljetplus ljet2p ljet3 ljet3d ljet4 lj4dith cljet5<br> lj5mono lj5gray pj pjetxl pjxl paintjet pjxl300 pxlmono bbox pxlcolor<br> ibmpro jetp3852 imagen cp50 necp6 oce9050 oki182 okiibm r4081 sj48 xes<br> bmpmono bmp16 bmp256 bmp16m ccr cgmmono cgm8 cgm24 sxlcrt dfaxhigh<br> dfaxlow faxg3 faxg32d faxg4 bit bitrgb bitcmyk cif miff24 inferno jpeg<br> jpeggray mgrmono mgrgray2 mgrgray4 mgrgray8 mgr4 mgr8 pcxmono pcxgray<br> pcx16 pcx256 pcx24b pcxcmyk pdfwrite plan9bm pbm pbmraw pgm pgmraw pgnm<br> pgnmraw pnm pnmraw ppm ppmraw pkm pkmraw pngmono pnggray png16 png256<br> png16m psmono psgray psrgb pswrite epswrite sgirgb t4693d2 t4693d4<br> t4693d8 tek4696 tiffcrle tiffg3 tiffg32d tiffg4 tiff12nc tiff24nc tifflzw<br> tiffpack x11 x11alpha x11cmyk x11cmyk2 x11cmyk4 x11cmyk8 x11gray2<br> x11gray4 x11mono nullpage<br>Search path:<br> . : /usr/local/share/ghostscript/5.50 :<br> /usr/local/share/ghostscript/fonts<br>For more information, see /usr/local/share/ghostscript/5.50/doc/Use.htm.<br>Report bugs to ghost@aladdin.com, using the form in Bug-form.htm.<br> <br> <br><br> 从这些简单的名字中很难判断那个设备对应于自己的打印机型号,为了找出正确的设备文件名,需要阅读Ghost script的文档device.txt,或者选择相近的设备名并反复尝试。如果万一找不到自己的文件名,也许要升级 Ghostscript的版本,或者更新自己Ghostscript的设备驱动之后再重新安装Ghostscript 。<br><br> 当能够使用Ghostscript打印文档之后,就需要将它和FreeBSD的打印过滤器集成在一起了,因此首先要将打印的文档转换为PS文档,然后将PS文档转换为打印机支持的格式,因此就需要更改过滤程序。例如在一个EP SON行式打印机上输出文档,使用的标准过滤应该是,最后两个短横线表示标准输出和标准输入:<br><br>#! /bin/sh<br>a2ps -q -o - | \<br>gs -sDevice=epson -sOutfile=- - <br> <br> <br><br><br>使用apsfilter配置打印机<br><br>设置打印机要手工编辑/etc/printcap文件,安装并配置各种过滤器,安装Ghostscript等。这些操作都非常烦琐,幸好FreeBSD通过Ports Collection提供了一种自动配置打印机的apsfilter程序。<br><br>Ports Collection的机制、用法将在后面讨论。<br><br>为了使用apsfilter设置打印机并配置过滤器,就需要执行下列命令:<br><br># cd /usr/ports/print/apsfilter/<br># make install<br> <br> <br><br> 然后,系统将自动下载、编译安装必要的过滤器软件,此后将自动启动一个设置程序,通过菜单提示让用户选择打印机的各种属性,包括打印机的类型、端口、分辨率、纸张大小等等。最后将自动生成合适的printcap文件和各种过滤器。这些过滤器能分辨要打印文件的类型,进行正确的处理。<br><br> apsfilter生成的过滤器是调用包括ghostscript在内的大量其他软件,因此上面的make过程就需要从网络上下载必要软件包,可以通过预先安装相应的Packages以减少下载任务。如果网络太慢,下载过程可能会出现问题导致软件安装问题,后面会讲到如何为Ports Collection手工下载必要的软件包。<br><br><br>使用和控制打印机<br><br> 当一切都配置正确之后,使用打印机就非常简单了。为了自动启动lpd守护进程,需要将/etc/rc.con f文件中的lpd_enable项设置为lpd_enable=”Yes”,FreeBSD在下次系统启动时会自动启动lpd。当lpd没有启动时,也不需要重起计算机,简单使用root身份执行lpd就可以启动这个守护进程。有了l pd守护进程,打印系统就能正常进行打印工作,并能针对整个网络上的用户,提供打印服务了。<br><br> 使用者可以直接使用lpr命令打印文件,或者通过管道来使用lpr命令。<br><br>$ lpr hello.c<br>$ ls | lpr<br> <br> <br><br> 如果系统中某个打印机没有配置打印过滤器,用户可以直接使用自己的打印过滤器,通过管道将输出送到lpr中。这提供了一种较灵活的配置方式,使得用户不需要root权限,也能使用合适的打印机过滤器。下面是一个使用gs打印文件的例子:<br><br>$ gs -dNOPAUSE -q -sljet4 -sOutputFile=\|lpr -- tt.ps<br> <br> <br><br> 注意这个例子中使用反斜线取消竖线的特殊含义,将其和紧随其后的lpr一起作为参数发送给gs,gs再将其解释为管道操作。可以将上面的文件编制成shell程序,这样每次就能更方便的使用。<br><br> 当使用lpr将打印作业放入打印缓冲区之后,就能使用lpq命令来查看打印队列的内容:<br><br>$ lpq<br>waiting for lp to become ready (offline ?)<br>Rank Owner Job Files Total Size<br>1st user 1 hello.c 151 bytes<br>2nd user 2 (standard input) 3359 bytes<br>3nd user 3 (standard input) 43765 bytes<br> <br> <br><br> 在这个例子中,由于打印机lp没有被正常连接到系统上,因此lpq在第一行提醒使用者当前打印机不正常。由于这台打印机工作不正常,因此用户可能不想使用这个打印机进行打印了,而想通过其他打印机进行打印。为了避免在这台打印机正常之后,仍然打印这个作业,需要将这个打印作业删去。这可以通过命令lprm加上作业序号(显示在lpq中第三列)来完成:<br><br>$ lprm 1<br>dfA001freebsd.domain dequeued<br>cfA001freebsd.domain dequeued<br> <br> <br><br> 或者使用all作参数,这将删除该用户的所有打印作业。用户只能删除自己的打印作业,只有root才能删除其他用户的作业。如果root使用all参数,那么将会将这个打印机缓冲区中的所有打印作业全部清空。<br><br> 作为系统管理员,需要进一步的能力来管理打印守护程序。BSD风格的打印系统使用lpc来执行这个功能,以 root身份启动lpc,则进入lpc的交互模式,然后使用help命令可以得到管理命令的列表。一般可以使用start all 命令来启动所有的打印机,或者使用stop lp命令来停止一台名为lp的打印机。<br><br># lpc<br>lpc > start all<br> <br> <br><br> 也可以用命令行的方式使用lpc,例如重新启动所有的打印机,使用带参数的lpc发出以下命令:<br><br># lpc restart all<br> <br> <br><br>未完,待续。。。</font></td></tr>
<tr><td> </td></tr>
<tr><td align=right><i>来源:</i><a href="javascript:if(confirm('http://freebsd.online.ha.cn/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://freebsd.online.ha.cn/'" tppabs="http://freebsd.online.ha.cn/">http://freebsd.online.ha.cn/</a></td></tr>
</table>
<p> </p>
<p> </p>
<p> </p>
声明:本站的文章和软件是本人从网上收集整理的(除本人的作品之外),所有版权属于作者,<br>
如有侵犯您的权益,请指出,本站将立即改正,谢谢.
<hr width=500>
<br>
<font color=#ffffff>Copyright 2000 <a href="javascript:if(confirm('http://www.newok.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.newok.com/'" tppabs="http://www.newok.com/" class=t1>www.newok.com</a></font>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -