德国开元华人社区 开元周游
标题:
轻松进行 Linux 打印zz
[打印本页]
作者:
cyan
时间:
16.11.2002 11:35
轻松进行 Linux 打印<br />我们的 CUPS 体验<br /><br />Joshua Drake<br />LinuxWorld 专栏作家<br />2000 年 11 月<br />Copyright LinuxWorld ?000<br />内容:<br />CUPS 体验<br />禁用打印机<br />参考资料<br />关于作者<br />到目前为止,在 Unix/Linux 下的打印受到太多的限制。但通过安装 CUPS 系统,您拥有一个通用打印解决方案。<br /><br />欢迎来到最新一期的 Ask the Geek。我在上一个专栏中提到过,这一周我们将开始一个新的系列,有关使用公共 UNIX 打印系统 (CUPS),这种打印系统可以为您的网络带来一种通用打印解决方案。<br /><br />Unix/Linux 打印界在很长一段时间内都没有什么太大的变化。我们仍在使用古老但有效的 lpd(行式打印机守护程序),没有对 IPP(因特网打印协议)的支持,并且仍然缺乏使用许多打印机的能力。但这种状况正在迅速改变。一种新产品正对打印领域产生强烈冲击。<br /><br />CUPS 软件为 Unix/Linux 用户提供了以有效而可靠的方式来管理打印的方法。它生来就支持 IPP,并有 LPD、SMB(服务器消息块,例如与 Microsoft Windows 连接的打印机)和 JetDirect 接口。CUPS 可以提供网络打印机浏览,它使用 PostScript 打印机描述 (PPD) 文件。一句话说,使用 CUPS,您可以象在 Windows 机器上那样方便地运行 Linux 机器上的打印机,同时拥有 Linux 的威力。<br /><br />CUPS 体验<br />那么,让我们开始吧。首先,我们需要获得 CUPS。如果您运行的是 Mandrake 7.2,那么它已经存在了。(是的,这是一个无耻的建议;我在我家的机器上运行的就是它。)不过,如果您运行的是另一个发行版,需要下载它(有关发行版站点,请参阅参考资料)。<br /><br />下载了 CUPS 后,需要除去旧的打印软件。我将使用运行 Red Hat 6.2 的机器作为示例来说明这一过程。在这样一台机器上,在安装 CUPS 之前必须除去 lpr、printtool 和 rhs-printfilters。但需要将这些软件包备在手边,以防 CUPS 不对您不起作用。如果 CUPS 不适合您,还可以重新安装软件包,继续使用它。<br /><br />要除去这些软件包,输入:<br /><br />rpm -e lpr printtool rhs-printfilters<br /><br /><br /><br />然后通过输入以下命令来安装 CUPS:<br /><br />rpm -ivh cups-1.1.4-linux-2.2.14-intel.rpm<br /><br /><br /><br />要知道,您的文件名可能和这里的略有不同。<br /><br />现在,CUPS 就安装好了。您应当看到以下消息:<br /><br />cups: scheduler started<br /><br />它告诉您 CUPS 正在运行并等待打印作业。<br /><br />您可以从命令行管理 CUPS,也可以通过基于 Web 的管理器来管理。我们将通过从命令行界面添加打印机开始。以 root 用户输入:<br /><br />/usr/sbin/lpadmin -p LaserJet -E -v parallel:/dev/lp0 -m laserjet.ppd<br /><br /><br /><br />上面的 lpadmin 语法执行以下任务:<br /><br /> 1. 添加名为 LaserJet 的打印机 (-p)<br /> 2. 启用要使用的打印机 (-E)<br /> 3. 设置要使用的设备和设备类型 (-v)<br /> 4. 使用驱动程序/PPD 文件 laserjet.ppd (-m)<br /><br /><br /><br />因为我们使用的是命令行,所以测试打印机最快速的方法是输入:<br /><br />/usr/bin/lp -d LaserJet /etc/aliases<br /><br />上面的 lp 语法将文件 /etc/aliases 打印到 LaserJet 打印机 (-d)。如果产生的输出是别名文件,说明一切都搞定了。当然,这是您能拥有的最简单的 CUPS 配置。<br /><br />还可以通过使用 -p 标志来设置打印作业的优先级。例如:<br /><br />/usr/bin/lp -d LaserJet -p 90 /etc/aliases<br /><br /><br /><br />通过添加 -p 90,您规定您的打印作业的优先级为 90(最高为 100)。它将在优先级低于 90 的打印作业之前打印 - 包括没有设置优先级的,缺省优先级是 50。<br /><br />可以从 man 页面获得 lp 命令选项的完整列表。它们除了包括上面所显示的那些,还包括一些很有用的特性,例如指定打印份数。<br /><br />禁用打印机<br />我们已成功添加并测试了打印机。如果我们要禁用打印机会怎样呢?要禁用打印机,我们要使用 disable 命令:<br /><br />/usr/bin/disable -r "Changing Paper" LaserJet<br /><br /><br /><br />上面的 disable 语法将禁用打印机 LaserJet 并提示 "Changing Paper" 作为不可用的原因 (-r)。-r 是让人们知道打印机当前状态的一种有效手段。<br /><br />换好纸后,可以通过使用 enable 命令来重新启用打印机:<br /><br />/usr/bin/enable LaserJet<br /><br /><br /><br />接下来一个很自然的问题是:如果没有 LaserJet 会怎样?CUPS 的缺省安装带有用于 HP 和 Epson 打印机的驱动程序。这几乎可以覆盖全部个人打印机领域(佳能用户,抱歉)。如果您没有这些品牌,也别灰心。您有两个可行的选项。如果您只热衷于免费软件,可以将 Web 浏览器指向 LinuxPrinting.org 网站。如果您没什么特别要求,可以购买 ESP Print Pro(请参阅参考资料)。<br /><br />LinuxPrinting.org 网站的特色是它有许多打印机的打印机驱动程序。它还包括一个 CUPS PPD 文件制作程序。许多打印机都需要 PPD 文件。我只是很不幸选择了一款不支持的打印机,它无论从哪种目的和意图来看都只是一个镇纸 - 是的,HP LaserJet 3150。<br /><br />ESP Print Pro 由 Easy Software Products 开发,该公司也是 CUPS 开发的发起单位。我个人认为支持提供好产品的公司很重要。ESP Print Pro 是具有漂亮界面的 CUPS,并且支持超过 2,300 种打印机。不幸的是,除 Linux 标准独立许可证以外,它的标价很高。<br /><br />简而言之,CUPS 配置起来并不难,并且 GPL 化版本带有基于 Web 的配置界面。ESP Print Pro 产品的主要优势在于它包括的打印机驱动程序数量众多。如果您是商家,我建议您先到 LinuxPrinting.org 上看一下您的打印机是否受支持。如果不支持,我会检查 ESP。<br /><br />在 Ask the Geek 的下一部分中,我们将继续研究 CUPS,包括一些免费的图形管理界面(例如 KUPS)、安全性基础以及网络打印。在那之前,请您保重!<br /><br />您是否有困扰着您的 Linux 问题?将问题在 Ask the Geek 讨论论坛中公布,或者通过电子邮件发送给我。我们可能知道怎么解答它!两周后再见。<br /><br />参考资料<br /><br /> * Mandrake Software:<br />
http://www.linux-mandrake.com
<br /> * 公共 UNIX 打印系统 (CUPS):<br />
http://www.cups.org
<br /> * HP 的开放源码打印机站点:<br />
http://hp.sourceforge.net
<br /> * LinuxPrinting.org:<br />
http://www.linuxprinting.org
<br /> * Easy Software Products:<br />
http://www.easysw.com
<br /><br />关于作者<br />Joshua Drake 是电子贸易和 Linux 顾问,他拥有一间自己的公司,Command Prompt。他使用 Linux 已有 9 年时间,还是 Linux 文档项目的站长。他的其它一些项目包括 LinuxPorts.com 网站和 OpenDocs 出版公司。可以通过 joshua.drake@linuxworld.com 与 Joshua 联系。
欢迎光临 德国开元华人社区 开元周游 (https://bbs.kaiyuan.cn/)
Powered by Discuz! X3.2