我有一台 USB 打印机,连接到网络打印服务器 (TL-PS310U)。
我想从 Debian/Ubuntu 打印到这台打印机。队列已命名2409ee3c
,但当我尝试使用时lpr
,它说我需要添加/version=1.1
:
user@user:~$ lpr -H 192.168.100.1 -P prt0 C0003022.che.spl
lpr: Error - add '/version=1.1' to server name.
然后我在 CUPS 中添加了打印机(http://本地主机:631) 作为lpd
, 名称Printserver
:
lpd://192.168.2.30/2409ee3c
现在我可以使用 LPR 进行打印:
user@user:/run/shm$ export CUPS_SERVER=localhost:631; lpr -H 192.168.2.30 -P 2409ee3c C0003022.che.spl
lpr: The printer or class does not exist.
jsivil@jsivil:/run/shm$ export CUPS_SERVER=localhost:631; lpr -H 127.0.0.1 -P Printserver C0003022.che.spl
我的问题是:
1) 我可以使用 LPR 直接在打印服务器后面的打印机上进行打印吗? (我已经尝试过netcat
,但它不适用于该打印服务器)
2)LPR需要CUPS吗?使用127.0.0.1可以吗?
3) 如何避免在使用前导出 CUPS_SERVER 变量lpr
?
谢谢
答案1
netcat
可以使用,但您需要通过它发送适当的 LPD 命令。雷普对于直接打印来说,无疑是比弄清楚如何完成 RFC 1179 更好的选择netcat
。
CUPSlpr
客户端确实需要 CUPS 服务器,因为 CUPS 服务器承担繁重的工作,而客户端部分主要只是传统lpr
或lp
命令行界面的兼容性垫片。
CUPS 有一个~/.cups
配置目录,可以用来代替环境变量,但我不记得需要设置CUPS_SERVER
打印服务器在本地系统上的位置:
% ls ~/.cups/
lpoptions
% cat ~/.cups/lpoptions
Default ps307g
%