网络打印机

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

CUPS 支持 socketLPDIPPsmb 协议。

套接字

套接字是指未先执行数据握手就将数据发送到因特网套接字所使用的连接。 一些常用的套接字端口号包括 910035。 设备 URI(统一资源标识符)的语法为 socket://打印机 IP:端口,例如 socket://192.168.2.202:9100/

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

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

IPP(因特网打印协议)

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

SMB(Windows 共享)

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

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

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

使用命令行工具配置 CUPS

除了用 YaST 设置 CUPS 选项,配置网络打印机时,CUPS 也可以用命令行工具进行配置,比如 lpadminlpoptions。您需要一个设备 URI,该 URI 由一个后端(例如并行端口)和多个参数组成。要确定系统上的有效设备 URI,请使用命令 lpinfo -v | grep ":/"

# lpinfo -v | grep ":/"
direct usb://ACME/FunPrinter%20XL
direct parallel:/dev/lp0

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

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

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

不要使用 -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.2.202:9100/ -P \
/usr/share/cups/model/Postscript-level1.ppd.gz -E

有关 lpadmin 的更多选项,请参考 lpadmin(8) 的手册页。

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

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

    lpoptions -p queue -l

    示例:

    Resolution/Output Resolution: 150dpi *300dpi 600dpi

    激活的默认选项通过加星号前缀 (*) 进行标识。

  2. 使用 lpadmin 更改选项:

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

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

普通用户运行 lpoptions 时,设置将写到 ~/.cups/lpoptions。但是,设置将写到 /etc/cups/lpoptions