IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Linux  >

轻松进行 Linux 打印

我们的 CUPS 体验

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Joshua Drake, LinuxWorld 专栏作家

2000 年 11 月 01 日

到目前为止,在 Unix/Linux 下的打印受到太多的限制。但通过安装 CUPS 系统,您拥有一个通用打印解决方案。

欢迎来到最新一期的 Ask the Geek。 我在上一个专栏中提到过,这一周我们将开始一个新的系列,有关使用公共 UNIX 打印系统 (CUPS),这种打印系统可以为您的网络带来一种通用打印解决方案。

Unix/Linux 打印界在很长一段时间内都没有什么太大的变化。我们仍在使用古老但有效的 lpd (行式打印机守护程序),没有对 IPP(因特网打印协议)的支持,并且仍然缺乏使用许多打印机的能力。但这种状况正在迅速改变。一种新产品正对打印领域产生强烈冲击。

CUPS 软件为 Unix/Linux 用户提供了以有效而可靠的方式来管理打印的方法。它生来就支持 IPP,并有 LPD、SMB(服务器消息块,例如与 Microsoft Windows 连接的打印机)和 JetDirect 接口。CUPS 可以提供网络打印机浏览,它使用 PostScript 打印机描述 (PPD) 文件。一句话说,使用 CUPS,您可以象在 Windows 机器上那样方便地运行 Linux 机器上的打印机,同时拥有 Linux 的威力。

CUPS 体验

那么,让我们开始吧。首先,我们需要获得 CUPS。如果您运行的是 Mandrake 7.2,那么它已经存在了。(是的,这是一个无耻的建议;我在我家的机器上运行的就是它。)不过,如果您运行的是另一个发行版,需要下载它(有关发行版站点,请参阅 参考资料)。

下载了 CUPS 后,需要除去旧的打印软件。我将使用运行 Red Hat 6.2 的机器作为示例来说明这一过程。在这样一台机器上,在安装 CUPS 之前必须除去 lprprinttoolrhs-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 正在运行并等待打印作业。

您可以从命令行管理 CUPS,也可以通过基于 Web 的管理器来管理。我们将通过从命令行界面添加打印机开始。以 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 )。如果产生的输出是别名文件,说明一切都搞定了。当然,这是您能拥有的最简单的 CUPS 配置。

还可以通过使用 -p 标志来设置打印作业的优先级。例如:

/usr/bin/lp -d LaserJet -p 90 /etc/aliases

通过添加 -p 90 ,您规定您的打印作业的优先级为 90(最高为 100)。它将在优先级低于 90 的打印作业之前打印 - 包括没有设置优先级的,缺省优先级是 50。

可以从 man 页面获得 lp 命令选项的完整列表。它们除了包括上面所显示的那些,还包括一些很有用的特性,例如指定打印份数。





回页首


禁用打印机

我们已成功添加并测试了打印机。如果我们要禁用打印机会怎样呢?要禁用打印机,我们要使用 disable 命令:

/usr/bin/disable -r "Changing Paper" LaserJet

上面的 disable 语法将禁用打印机 LaserJet 并提示 "Changing Paper" 作为不可用的原因 ( -r )。 -r 是让人们知道打印机当前状态的一种有效手段。

换好纸后,可以通过使用 enable 命令来重新启用打印机:

/usr/bin/enable LaserJet

接下来一个很自然的问题是:如果没有 LaserJet 会怎样?CUPS 的缺省安装带有用于 HP 和 Epson 打印机的驱动程序。这几乎可以覆盖全部个人打印机领域(佳能用户,抱歉)。如果您没有这些品牌,也别灰心。您有两个可行的选项。如果您只热衷于免费软件,可以将 Web 浏览器指向 LinuxPrinting.org 网站。如果您没什么特别要求,可以购买 ESP Print Pro(请参阅 参考资料)。

LinuxPrinting.org 网站的特色是它有许多打印机的打印机驱动程序。它还包括一个 CUPS PPD 文件制作程序。许多打印机都需要 PPD 文件。我只是很不幸选择了一款不支持的打印机,它无论从哪种目的和意图来看都只是一个镇纸 - 是的,HP LaserJet 3150。

ESP Print Pro 由 Easy Software Products 开发,该公司也是 CUPS 开发的发起单位。我个人认为支持提供好产品的公司很重要。ESP Print Pro 是具有漂亮界面的 CUPS,并且支持超过 2,300 种打印机。不幸的是,除 Linux 标准独立许可证以外,它的标价很高。

简而言之,CUPS 配置起来并不难,并且 GPL 化版本带有基于 Web 的配置界面。ESP Print Pro 产品的主要优势在于它包括的打印机驱动程序数量众多。如果您是商家,我建议您先到 LinuxPrinting.org 上看一下您的打印机是否受支持。如果不支持,我会检查 ESP。

Ask the Geek 的下一部分中,我们将继续研究 CUPS,包括一些免费的图形管理界面(例如 KUPS)、安全性基础以及网络打印。在那之前,请您保重!

您是否有困扰着您的 Linux 问题?将问题在 Ask the Geek 讨论论坛中公布,或者 通过电子邮件发送给我。我们可能知道怎么解答它!两周后再见。



参考资料



关于作者

Joshua Drake 是电子贸易和 Linux 顾问,他拥有一间自己的公司,Command Prompt。他使用 Linux 已有 9 年时间,还是 Linux 文档项目的站长。他的其它一些项目包括 LinuxPorts.com 网站和 OpenDocs 出版公司。可以通过 joshua.drake@linuxworld.com与 Joshua 联系。




对本文的评价










回页首


LinuxWorld 杂志许可重新印刷。Copyright Web Publishing Inc.,该公司是 IDG Communicatioins 公司。 通过注册获得社论电子邮件

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款