轻松搞定Linux打印-CUPS
摘要
??到目前为止,Unix/Linux下的打印有太多的限制。但是通过安装CUPS系统,你就拥有了一个通用的打印解决方案。(1,100字)
??欢迎访问Ask the Geek的最新版本。正如在上一个栏目中提到的一样,本周我们要介绍使用通用Unix打印系统(Common Unix Printing System,CUPS)的一些问题,它可以向你介绍一些网络上的通用解决方案。
??Unix/Linux中的打印领域已经很久都没有多少变化了。我们仍在使用原来的lpd(行打印机守护进程),我们并没有为IPP(Internet Printing Protocol,Internet打印协议)提供支持,我们也不能使用多种打印机。但是这种情况正在转变,而且是在迅速转变。一个新产品正在轰炸打印的舞台。
??CUPS软件为Unix/Linux用户提供了一种高效可靠地管理打印的方法。它天生就能够支持IPP,具有和LPD、SMB(服务器信息块,也就是连接到Microsoft Windows的打印机)和JetDirect的接口。CUPS可以提供网络打印机浏览,可以使用PostScript打印机描述(PPD)文件。简而言之,使用CUPS你在Linux机器上就可以象在Windows的机器上一样简单地使用打印机,但是具有了Linux的优点。
CUPS使用过程介绍
??让我们亲自操刀来演练一下吧。首先,我们需要获得CUPS。如果你现在正在使用Mandrake 7.2,那么你就已经有CUPS了。(举贤不避亲;在我家的机器上就是使用的Mandrake 7.2。)如果你使用的是其它发行版本,那么就就需要下载它了(访问发行版本的站点来寻找资源吧--见本文末尾Resources,译者著)。
??下载CUPS之后,你就得把自己原来的打印软件删除了。我将以运行Red Hat 6.2的机器为例说明整个过程。在这种机器上,在安装CUPS之前,你必需删除lpr、printtool和rhs-printfilters。如果你的CUPS不能正常工作,那么你就会希望这些包还可以方便使用。如果CUPS并不如你所愿,你可以重新安装这些包继续工作。
??要删除这些包,输入:
rpm -e lpr printtool rhs-printfilters
??然后,通过输入以下内容安装CUPS:
rpm -ivh cups-1.1.4-linux-2.2.14-intel.rpm
??注意你的文件名可能有点差异。
??CUPS现在就安装好了。你应该看到了如下信息:
cups: scheduler started
??这个信息就告诉你CUPS正在运行、等待打印任务。
??你可以通过命令行或者基于Web的管理工具对CUPS进行管理。我们从通过命令行接口中增加一个打印机开始介绍。使用root用户,输入:
/usr/sbin/lpadmin -p LaserJet -E -v parallel:/dev/lp0 -m laserjet.ppd
??上面的lpadmin命令执行了以下任务:
?1. 增加一个名为LaserJet的打印机 (-p)
?2. 启用这个打印机可以被用户访问 (-E)
?3. 设置使用的设备和设备类型 (-v)
?4. 使用驱动/PPD文件laserjet.ppd (-m)
??既然我们是在命令行中,测试打印机最快的方法是输入:
/usr/bin/lp -d LaserJet /etc/aliases
??上面的lp命令会把/etc/aliases文件打印到LaserJet打印机中(-d)。如果输出结果是你的文件别名,那么你就要全部设置了。当然,这是你可以使用CPUS的最简单设置。
??你也可以使用-p选项来设置打印任务的优先级。例如:
/usr/bin/lp -d LaserJet -p 90 /etc/aliases
??通过增加-p 90选项,你就声明了自己的打印任务的优先级是90,该值的范围是100。这个打印任务会在其它优先级小于90的打印任务之前打印 -- 包括那些没有设置优先级的任务,因为缺省的优先级是50。
??lp命令的完全选项列表在man page中可以找到。这些选项包括上面说明的内容,又增加了一些诸如指定打印多少份拷贝之类有用特性的选项。
禁用打印机
??我们已经成功添加了一个打印机并对其进行了测试。如果我们希望禁用打印机应该怎样处理呢?要实现这个功能,我们就要使用disable命令:
/usr/bin/disable -r "Changing Paper" LaserJet
??上面的disable命令将禁止使用打印机LaserJet并声明不能使用的原因(-r)是"Changing Paper"。选项-r是让用户了解打印机状态的一个好法子。
??在换完纸之后,你就可以使用enable命令重新启用这个打印机了,例如:
/usr/bin/enable LaserJet
??接下来是一个逻辑问题:如果你没有LaserJet怎么办?CUPS缺省的安装是使用HP和Epson打印机的驱动程序。它几乎覆盖了个人打印机的大部分范围(对Cannon迷们只能说抱歉了)。如果你使用的打印机不是这两种品牌,也不要失望。你还有其它选择。如果你是一个自由软件的狂热分子,那么你就可以打开Web浏览器,访问LinxPrinting.org的Web站点。或者,如果你并不这么狂热,那么你也可以购买ESP Print Pro(见Resources)。
??LinuxPrinting.org的Web站点有很多打印机的驱动程序。其中包括一个CUPS PPD文件生成器。很多打印机都需要一个PPD文件。我就是如此幸运,刚好用的是不能支持的打印机,我正考虑把它当压纸器用了 -- 是的,就是HP LaserJet 3150。
??ESP Print Pro是由Easy Software Products开发的,这个公司最初开发了CUPS。我个人认为支持提供好产品的公司是相当重要的。ESP Print Pro是一个接口良好的CUPS,可以支持2,300种打印机。不幸的是,除了Linux独立许可证之外,它价格十分昂贵。
??简而言之,CUPS的配置并不难,除了基于Web的配置界面之外,还有一个GPLd版本。ESP Print Pro产品的主要优点是它包含的巨大数量的打印机驱动。如果你是一个经销商,那么我建议你先浏览一下LinuxPrinting.org,看一看你的打印机能不能被支持。如果答案是否定的,就将ESP出局,不要用它了。
阅读(3707) | 评论(0) | 转发(0) |