Linux CUPS 2.0 lpstat和lpinfo命令返回“;“错误的文件描述符”;

Linux CUPS 2.0 lpstat和lpinfo命令返回“;“错误的文件描述符”;,linux,printing,cups,Linux,Printing,Cups,我已经在我的Ubuntu盒上安装了cups 2.0。我是从源代码安装的。当我在中键入前几个命令时,它返回消息Bad file descriptor。这里有一个例子 VPCZ12V9E:~$ sudo lpinfo -m lpinfo: Bad file descriptor VPCZ12V9E:~$ lpstat -p lpstat: Bad file descriptor 请说明为什么会发生这种情况?这对我来说意味着我有一个问题。我还没有尝试添加打印机。我只安装了CUPS 2.0。我收到了相

我已经在我的Ubuntu盒上安装了cups 2.0。我是从源代码安装的。当我在中键入前几个命令时,它返回消息Bad file descriptor。这里有一个例子

VPCZ12V9E:~$ sudo lpinfo -m
lpinfo: Bad file descriptor
VPCZ12V9E:~$ lpstat -p
lpstat: Bad file descriptor

请说明为什么会发生这种情况?这对我来说意味着我有一个问题。我还没有尝试添加打印机。我只安装了CUPS 2.0。

我收到了相同的错误消息。根据,确保
/etc/cups/client.conf
包含

ServerName /var/run/cups/cups.sock

把这个留在这里,以防有人碰到和我一样的问题


我在运行Debian Jessie,它有CUPS 2.0.3和systemd。在一些实验中,插座停止工作,我出现了上述症状。仅重新启动systemd.socket就足够了,重新启动cups是不够的。另外,如另一个答案中所述,不需要修改配置。

除了其他解决方案(都是有效的解决方案)之外,升级系统内核时也可能发生这种情况


因此,在深入调查之前,您也可以简单地重新启动系统以确保一切正常。

只需投入我的2美分:

我收到此消息是因为我忘记打开端口631。测试端口是否打开,包括:

nc -zv <hostname> 631
nc-zv631
同时确保您已启动Cupsd服务

根据ArchWiki(),该服务被称为:
org.cups.cupsd.service

通过以下方式检查服务:
sudo systemctl status org.cups.cupsd.service

通过以下方式启动(如果未启动)服务:
sudo systemctl Start org.cups.cupsd.service


通过以下方式启用服务(如果未启用):
sudo systemctl Enable org.cups.cupsd.service

应将此问题迁移到安装cups bsd
apt install cups bsd
后出现的错误。重新启动cups服务后,它对我有效。没有帮助。问题持续存在因此并不总能解决问题。至少对我来说,如果它关闭了,我能得到什么?如何打开它?如果它已关闭,我将获得到主机的
无路由
,如果它已打开,我将获得
成功
,这是一个完全不同的问题,取决于您的防火墙和网络设置。不确定这是否值得否决…可能服务名称已更改或其他。。。我刚刚启动了cups.service、cups.path和cups.socket服务,以使打印机重新开始工作。(我不知道这三个是否都需要,但是启用cups.service导致了另外两个的启用,所以我认为最好从这三个开始,因为他们似乎想在一起。)但除了这一区别之外,这个答案解决了我的问题。