Chinaunix首页 | 论坛 | 博客
  • 博客访问: 901174
  • 博文数量: 436
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -103
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-01 09:48
个人简介

爱生活,爱IT

文章分类

全部博文(436)

文章存档

2015年(1)

2014年(2)

2013年(6)

2011年(39)

2010年(176)

2009年(30)

2008年(28)

2007年(54)

2006年(91)

2005年(9)

分类: LINUX

2006-01-14 16:41:10

轻松搞定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出局,不要用它了。
阅读(3697) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~