2. 入门指南

2.1. Linux 打印组件

我们将使用的主要组件包括

2.2. 必需的软件包

所有必需的程序和库都是标准 Debian 软件包仓库的一部分。 您可以使用常用的 Debian 软件包工具下载和安装这些软件包。 以下是您需要的软件包列表

cupsys

CUPS 服务器

cupsys-bsd

CUPS BSD 命令

cupsys-client

CUPS 客户端程序

foomatic-bin

LinuxPrinting.org 打印机支持程序

samba

用于 UNIX 的 Samba SMB/CIFS 服务器

smbclient

用于 UNIX 的 Samba SMB/CIFS 客户端

gs-esp

ESP Ghostscript ( http://www.cups.org/ghostscript.php)

在 Debian GNU/Linux 3.0 (又名 woody) 软件包中不可用,请使用 "gs" 代替。

a2ps

GNU A2PS ( https://gnu.ac.cn/software/a2ps/)

以下命令将安装这些软件包。 您必须成为 root 用户或使用 sudo 来执行这些命令

apt-get update
apt-get install cupsys cupsys-bsd cupsys-client foomatic-bin samba smbclient gs-esp a2ps

特定打印机可能需要额外的软件包。 例如,对于许多 HP InkJet、DeskJet 和 LaserJet 打印机,必须安装 hpijs 软件包才能正常工作。 这些打印机的 PPD 文件通过字符串hpijs在其文件名中标识。

2.3. CUPS 本地打印机配置

lpadmin 命令用于配置打印机。 以下是使用 CUPS 设置激光打印机的示例。 您必须成为 root 用户或使用 sudo 来执行这些命令

/usr/sbin/lpadmin -p Laser -v parallel:/dev/lp0 -P /root/laser.ppd
/usr/bin/enable Laser
/usr/sbin/accept Laser
/usr/sbin/lpadmin -d Laser

请注意,bash 有一个内置命令叫做 enable,因此 bash 用户必须使用完整路径 (/usr/bin/enable) 来启用打印机。

第一个命令创建一个名为 "Laser" 的新打印机,它连接到第一个并行端口,并使用 PPD 文件/root/laser.ppd"Laser" 随后被启用,并被告知使用 enableaccept 命令接受作业。 最后一个命令将 "Laser" 设置为默认打印机。

如果您的打印机连接到 USB 端口,或者您不知道打印机的正确设备 URI,请尝试运行 /usr/sbin/lpinfo -v 以获取可用打印机设备的列表。

通过运行 /usr/bin/lpoptions -l 确保您的打印机页面尺寸和其他选项设置正确。 有关打印机配置的更多详细信息,请参阅 CUPS 文档。

2.4. Linux 打印基础

图 1. 本地打印

文档通过使用 lprlp 后跟文件名进行假脱机。 您可以使用命令 lpstat -olpstat -p 查看打印队列并检查打印机状态。 要取消打印作业,请使用 cancellprm 后跟作业 ID。

CUPS 假脱机守护进程称为 cupsd。 它将文档转换为 PostScript,然后将它们转换为打印机原生格式 图 1。 不理解 PostScript 的打印机对文档使用栅格化或位图格式。 栅格化格式可能比原始 PostScript 大得多,并且需要更长的时间才能发送到打印机。

过滤器是用于将文档从一种格式转换为另一种格式的程序。 CUPS 假脱机程序将尽力为发送的文档找到合适的过滤器。 如果没有安装适合转换文档的过滤器,您将收到类似于以下的错误lpr: 无法打印文件: client-error-document-format-not-supported。

许多应用程序不包含其文档格式的过滤器。 使用这些应用程序创建的文档只能从应用程序本身内部打印,除非文档导出为 PostScript 或其他标准格式。