我有一台 cups 服务器,上面配置了一台共享打印机。它可以毫无问题地打印测试页。
printername (Idle, Accepting Jobs, Shared)
Description: desc
Location:
Driver: Zebra ZPL Label Printer (grayscale, 2-sided printing)
Connection: socket://172.20.50.26
Defaults: job-sheets=none, none media=oe_w288h432_4x6in sides=one-sided
这是 lpstat -t 的输出。它显示打印机处于空闲状态并正在接受请求
admin@SERVER:~$ lpstat -t
scheduler is running
no system default destination
device for printername: socket://172.20.50.26
printername accepting requests since Thu 26 Jan 2012 01:29:35 PM CET
printer printername is idle. enabled since Thu 26 Jan 2012 01:29:35 PM CET
现在,当我想通过 LPR 命令向它发送打印作业时,它无法识别打印机
/usr/bin/lpr -P printername test.pdf
结果
lpr: ttn_seg_zebra1: unknown printer
我在这里遗漏了什么?
答案1
根据 lptstat 输出,您的打印机名称是字面上地“打印机名称”。
正在运行lp -d printername test.pdf
或者lpr -P printername test.pdf
将会工作。
例如,这是正在运行的系统的输出:
[root@Smack ~]# lpstat -t
scheduler is running
no system default destination
device for label: socket://label:9100
device for upstairs: socket://upstairs:9100
label accepting requests since Mon Feb 27 05:18:45 2012
upstairs accepting requests since Mon Feb 27 06:31:23 2012
在此,我定义了两台打印机;label
和upstairs
。为了打印到它们,我必须在 lp/lpr 命令行上使用这些名称。
答案2
根据以下评论:
安装 cups-bsd 而不是 lpr。Cupps-bsd 包含其自己的 lpr 二进制文件。
该软件包提供了与 CUPS 交互的 BSD 命令:
/usr/bin/lpqa
/usr/bin/lpr
/usr/bin/lprm
/usr/sbin/lpc