我有一台 Debian 服务器和一台 Debian 笔记本电脑,并且我正尝试使用 cups 服务器从我家里的所有电脑打印页面。
因此,我使用正确的驱动程序成功将打印机添加到服务器的 cups 中,之后我将打印机添加到我的笔记本电脑的 cups 中。但是,当我要求打印时,我在系统的打印对话框中看不到我的打印机。
屏幕截图来自 cups 的“管理打印机”页面,其中可以看到共享打印机和从共享打印机添加的打印机。但我在打印对话框中看不到这些打印机。
为什么会发生这种情况?
感谢您的一切努力。
答案1
我解决了这个问题。问题是我在 中也定义了我的工作网络~/.cups/client.conf
,这导致 lpstat -s 冻结,这让我意识到系统因此无法读取打印机。感谢 @bnjmnrsr 的帮助 :)
答案2
就我而言,我需要摆脱文件ServerName
中的设置client.conf
,然后从本地网络打开访问,而不是局限于本地主机。
感谢@bnjmnrsr 引导我走上正确的道路。就我而言,lpstat
报告:
$ lpstat -s
no system default destination
lpstat: Bad file descriptor
lpstat: Bad file descriptor
这让我这帖子中,OP 很好心地发布了他的解决方案:
问题如下:
在 /etc/cups/client.conf 中,可以使用以下语法手动指定服务器
服务器名称主机名或 IP:端口
这是我过去在小型网络上连接到预定打印服务器的工作站使用的方法
但是,这似乎不再起作用了。除非手动将 CUPS_SERVER 环境变量设置为相同的主机名。
解决方案包括删除手动设置的主机名并恢复 cups 默认设置
服务器名称 /var/run/cups/cups.sock
就我而言,我只是注释掉了ServerName
client.conf 文件中的内容并在客户端上重新启动了 CUPS:
$ service cups restart
当我再次跑步时lpstat
,我收到了更好的信息:
$ lpstat -s
no system default destination
lpstat: No destinations added.
lpstat: No destinations added.
接下来,我这里了解如何配置 CUPS 以监听外部 IP 地址。我不确定是否需要整个配置,但至少我发现我的 CUPS 服务器只监听本地主机:
$ netstat -an | grep 631
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
在我的/etc/cups/cupsd.conf
文件中,我必须将Listen
指令从:
Listen localhost:631
到:
Listen <dnsnameofyourserver>:631
一旦我在服务器和客户端上重新启动了 cups 和 cups-browsed,我的lpstat
客户端就可以更好地工作了。(我不知道是否需要重新启动所有四个,但我还是这样做了。)
$ lpstat -a
ML-1710 accepting requests since Fri 24 Feb 2017 07:48:59 PM EST
我的文件 > 打印对话框现在也显示列出的打印机。