11.4. 配置打印机

在将打印机连接到计算机并安装软件之后,在系统中安装打印机。应该使用 SUSE Linux 提供的工具执行此操作。因为 SUSE Linux 非常注重安全性,所以第三方工具常在安全方面受到限制,所导致的复杂问题比带来的好处还要多。有关查错的更多信息,请参见第 11.6.1 节 “CUPS 服务器和防火墙”第 11.6.2 节 “CUPS 打印服务中的更改”

11.4.1. 本地打印机

如果在您登录时检测到未配置的本地打印机,则将启动 YaST 对其进行配置。这将使用与以下配置说明相同的对话框。

要配置打印机,请在 YaST 控制中心中选择硬件+打印机。这将打开打印机主配置窗口,窗口上部列出了检测到的设备。下部列出了目前已配置的所有队列。如果未检测到您的打印机,请手工配置它。

[Important]重要

如果 YaST 控制中心中没有可用的打印机项,则最可能的原因是未安装 yast2-printer 包。要解决此问题,请安装 yast2-printer 包并重启动 YaST。

11.4.1.1. 自动配置

如果能够自动设置并行或 USB 端口并检测到所连接的打印机,则 YaST 能够自动配置打印机。打印机数据库还必须包含 YaST 在自动硬件检测期间检索到的打印机的 ID 字符串。如果硬件 ID 与型号指定不同,则请手工选择型号。

为了确保一切工作正常,应使用 YaST 的打印测试功能对每项配置进行检查。测试页还提供了有关测试的配置的重要信息。

11.4.1.2. 手工配置

如果没有满足自动配置的要求,或希望进行自定义设置,请手工配置打印机。根据自动检测的实现程度,以及在数据库中找到的有关打印机型号的信息的多少,YaST 也许能够自动确定正确的设置,或至少可以作出合理的预选择。

必须配置以下参数:

硬件连接(端口)

硬件连接的配置取决于 YaST 是否能够在硬件检测期间找到打印机。如果 YaST 能够自动检测到打印机型号,则可以认为打印机连接可以在硬件级别工作,而且不需要在此方面更改任何设置。如果 YaST 未能自动检测到所用打印机型号,则硬件级别上的连接就可能存在问题。在这种情况下,可能需要一些人工干预来配置连接。

打印机配置对话框中,按添加启动手工配置工作流程。在此,请选择您的打印机类型(例如 USB 打印机),然后按下一步,输入打印机连接并选择设备。

队列名称

在发布打印命令时需要使用队列名。此名称应相对简短,并应仅包含小写字母和数字。请在下一个对话框(队列名称)中输入打印的名称

打印机型号和 PPD 文件

所有打印机特定的参数(例如要使用的 Ghostscript 驱动程序和驱动程序的打印机过滤器参数)储存在 PPD(PostScript 打印机描述)文件中。有关 PPD 文件的详细信息,请参见第 11.3 节 “安装软件”

对于许多打印机型号来说,都有多个 PPD 可用,例如,如果多个 Ghostscript 驱动程序都适用于给定的型号。当您在下一个对话框(打印机型号)中选择制造商和型号时,YaST 会选择与该打印机对应的 PPD 文件。如果所选型号有多个 PPD 文件可用,YaST 会默认采用其中之一(通常是标记为 recommended 的那个文件)。可使用编辑在下一个对话框中更改选中的 PPD 文件。

对于非 PostScript 型号,所有打印机特定的数据都是由 Ghostscript 驱动程序生成的。因此,驱动程序配置是决定输出质量的最重要的因素。打印输出同时受所选择的 Ghostscript 驱动程序(PPD 文件)和为其指定的选项的影响。如有必要,可在选择编辑后更改其它选项(PPD 文件使这些选项可用)。

图 11.1. 选择打印机型号

选择打印机型号

应始终通过打印测试页来检查您的设置是否正常工作。如果输出不正常(例如有多页几乎是空白的),则应首先取出所有纸张,然后从 YaST 停止测试,这样便可以停止打印机。

如果打印机数据库不包括所用型号的项,您可以通过选择向数据库添加 PPD 文件来添加新的 PPD 文件,也可以使用一组通用 PPD 文件来使打印机可以使用标准打印机语言之一。为此,请选择未知制造商作为您的打印机制造商。

高级设置

通常无需更改这些设置。

11.4.2. 网络打印机

网络打印机可以支持多种协议,其中某些甚至是同时进行的。虽然大多数支持的协议是标准化的,但某些制造商因为测试尚未正确实施标准的系统或要提供标准中未提供的功能,所以对标准进行了扩展(修改)。于是制造商提供仅用于几个操作系统的驱动程序,解决使用这些系统遇到的困难。不过很少提供 Linux 驱动程序。当前的情况是您在执行操作时不能假定每个协议都可以在 Linux 中正常工作。因此,您可能需要试验不同的选项来实现工作正常的配置。

CUPS 支持 socketLPDIPPsmb 协议。下面是有关这些协议的详细信息:

socket

套接字是指未先执行数据握手就将数据发送到因特网套接字所使用的连接。一些常用的套接字端口号包括 910035。示例设备 URI 为 socket://host-printer:9100/

LPD(行式打印机守护程序)

RFC 1179 中对经过证明的 LPD 协议进行了介绍。在此协议下,在发送实际打印数据之前,将先发送一些与作业相关的数据,例如打印机队列的 ID。因此,在为数据传送配置 LPD 协议之前,必须指定打印机队列。不同打印机制造商的实施非常灵活,可以接受任何名称作为打印机队列。如果需要,打印机手册应该指出要使用的名称。通常使用 LPT、LPT1、LP1 或类似的名称。可以在不同 Linux 或 Unix 主机的 CUPS 系统中配置 LPD 队列。LPD 服务的端口号是 515。示例设备 URI 为 lpd://host-printer/LPT1

IPP(因特网打印协议)

IPP 是一个基于 HTTP 协议的相对较新的 (1999) 协议。使用 IPP,所传送的与作业有关的数据比其它协议要多一些。CUPS 使用 IPP 进行内部数据传送。这是在两个 CUPS 服务器之间转发队列的首选协议。要正确配置 IPP,必须提供打印队列的名称。IPP 的端口号是 631。示例设备 URI 是 ipp://host-printer/psipp://host-cupsserver/printers/ps

SMB(Windows 共享)

CUPS 还支持在连接到 Windows 共享的打印机上进行打印。用于此目的的协议是 SMB。SMB 使用端口号 137138139。示例设备 URI 是 smb://user:password@workgroup/server/printersmb://user:password@host/printersmb://server/printer

必须在配置之前确定打印机支持的协议。如果制造商未提供所需的信息,则可以使用命令 nmap(附带 nmap 包)来猜测协议。nmap 检查主机是否有打开的端口。例如:

nmap -p 35,137-139,515,631,9100-10000 printerIP

11.4.2.1. 使用 YaST 在网络中配置 CUPS

应使用 YaST 配置网络打印机。YaST 促进了配置,并经过最佳配备以处理 CUPS 中的安全限制(请参见第 11.6.2 节 “CUPS 打印服务中的更改”)。有关在网络中安装 CUPS 的指导,请参见位于 http://portal.suse.com 的支持数据库中的文章 CUPS in a Nutshell

起动打印机配置,接着单击添加。在网络管理员没有另行说明的情况下,请尝试使用选项直接打印到网络打印机并根据本地要求继续操作。

11.4.2.2. 使用命令行工具进行配置

也可以使用 lpadminlpoptions 等命令行工具配置 CUPS。您需要一个设备 URI(统一资源标识符),该 URI 由一个后端(例如 usb)和多个参数(例如 /dev/usb/lp0)组成。例如,完整的 URI 可能是 parallel:/dev/lp0(连接到第一个并行端口的打印机)或 usb:/dev/usb/lp0(所检测到的第一个连接到 USB 端口的打印机)。

使用 lpadmin,CUPS 服务器管理员可添加、去除或管理类和打印队列。要添加打印机队列,请使用以下语法:

lpadmin -p queue -v device-URI \
-P PPD-file -E

使用指定的 PPD 文件 (-P),则设备 (-v) 将用作队列 (-p)。这意味着如果要手工配置打印机,则必须了解 PPD 文件和设备名称。

不要使用 -E 作为第一个选项。对于所有 CUPS 命令,将 -E 用作第一个参数设置使用加密连接。要启用打印机,必须使用 -E,如下面的示例所示:

lpadmin -p ps -v parallel:/dev/lp0 -P \
/usr/share/cups/model/Postscript.ppd.gz -E
    

以下示例配置了网络打印机:

lpadmin -p ps -v socket://192.168.1.0:9100/ -P \
/usr/share/cups/model/Postscript-level1.ppd.gz -E
   

关于更多 lpadmin 选项,请参见 lpadmin(1) 手册页。

在系统安装期间,某些选项被设置为默认值。可以为每个打印作业修改这些选项(根据所使用的打印工具)。也可以使用 YaST 来更改这些默认选项。使用命令行工具设置默认选项,如下所示:

  1. 首先,列出所有选项:

    lpoptions -p queue -l

    示例:

     
    分辨率/输出分辨率:150dpi *300dpi 600dpi

    前面带有星号 (*) 表明这是激活的默认选项。

  2. 使用 lpadmin 更改选项:

    lpadmin -p queue -o Resolution=600dpi
  3. 检查新设置:

    lpoptions -p queue -l
    
    Resolution/Output Resolution: 150dpi 300dpi *600dpi

普通用户运行 lpoptions 时,设置将写入 ~/.lpoptions 中。root 设置将写入 /etc/cups/lpoptions 中。