我在同一子网上有两台服务器,一台CUPS服务器和一台需要访问在CUPS服务器上configuration的打印机的服务器。 CUPS浏览似乎是部分工作,但根据客户端上的lpstat,设备是///dev/null而不是一个ipp设备。
[username@clienthost ~]$ lpstat -t scheduler is running no system default destination device for boardroom: ipp://oldprintserver.my.network:631/printers/boardroom device for br: ipp://oldprintserver.my.network:631/printers/br device for its: ///dev/null <------ THIS IS BAD?
服务器configuration – cupsd.conf
Browsing On BrowseRemoteProtocols BrowseAddress @LOCAL BrowseLocalProtocols CUPS dnssd
客户端configuration – cupsd.conf
Browsing On BrowseOrder allow,deny BrowseAllow @LOCAL BrowsePoll therealprintservername.my.network BrowseInterval 30
使用tcpdump分析主机之间的数据包,显然客户端正在通过IPP轮询服务器。 服务器以200 OK响应。 而且,客户端似乎只能看到打印服务器发布的类,而不是打印机自己排队。
所以这是我真正想知道的。
[编辑:即使lpstat -t说设备是/ / dev / null,我仍然可以发送打印作业到设备。 所以它看起来像基本的打印工作,但我仍然想知道为什么它显示为客户端上的/ / dev / null。
我的大部分问题都是误解了CUPSconfiguration文件。 我遇到了一个叫做HOWTO的极好的参考,它提供了大部分我正在寻找的答案的小型服务器 – CUPS打印服务器 (chschneider.eu)。
问:根据客户端的lpstat,设备是/// dev / null而不是ipp设备。
打印机类永远不会与特定的设备或端口相关联。 相反,他们包含其他打印机作为成员。 无论您是在CUPS服务器还是客户机上运行lpstat,打印机类都将始终具有/// dev / null作为目标设备。 这是预期的行为。
如果您希望所有打印任务都由一个 CUPS打印服务器处理,则根本不需要configuration本地CUPS服务器。 只需/etc/cups/client.conf下行添加到/etc/cups/client.conf 。
ServerName my_cups_server.my.network
在客户端模式下,所有常规打印命令(如lpstat和lpr将直接发送到远程CUPS服务器。 如果client.conf为空,则打印命令将查找本地CUPS服务器。
问:CUPS浏览器在同一局域网上工作的最低configuration是多less?
如果CUPS客户端模式不能满足您的需求,则需要configuration本地CUPS服务器,以便可以发现在其他CUPS服务器上configuration的打印机。 有两种方法可以做到这一点。
如果您只有less数几个客户端,并且想要更多地控制打印环境,那么这是理想的select。 轮询是CUPS的一个组成部分,不需要任何特殊的指令来启用它。 只要确保以下内容:
Sharing 。 <Location />节必须允许适当的子网和/或用户。 如果你有很多的客户端或者服务器,并且想要使你的打印服务器更容易使用,那么这是非常理想的。 如果在服务器上启用了浏览,它将周期性地发送UDP广播。
Browsing On BrowseOrder allow,deny BrowseAllow all BrowseAddress @LOCAL