使用中的 CUPS 打印机

Posted

技术标签:

【中文标题】使用中的 CUPS 打印机【英文标题】:CUPS Printer In Use 【发布时间】:2019-03-20 15:41:54 【问题描述】:

我最近在 Debian Linux 9 中添加了一些打印机。每当我尝试打印到其中任何一台时,CUPS 都会报告“打印机正在使用中”。这发生在 lp 命令和 CUPS Web 界面中。这是我的一台打印机的配置:

<Printer IT>
UUID urn:uuid:04d3f4a4-aa59-3760-6bcc-8c7383edae70
Info IT
Location Office
MakeModel Lexmark X658de
DeviceURI lpd://192.168.1.60/IT
State Idle
StateTime 1553021794
ConfigTime 1553021782
Type 8425692
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>

我可以远程登录到打印机。 我的 cupsd.conf 文件如下所示:

LogLevel warn
PageLogFormat
MaxLogSize 0
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
Listen localhost:631
Listen 192.168.6.200:631
# Share local printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
  # Allow shared printing and remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin>
  # Allow remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow all
</Location>
<Location /admin/log>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  # Allow remote access to the log files...
  Order allow,deny
  Allow all
</Location>
<Policy default>
  JobPrivateAccess default
  JobPrivateValues default
  SubscriptionPrivateAccess default
  SubscriptionPrivateValues default
  <Limit Create-Job Print-Job Print-URI Validate-Job>
    Order deny,allow
  </Limit>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-   Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifi$
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Pri$
    AuthType Default
   AuthType Default
      Require user @SYSTEM
      Order deny,allow
    </Limit>
    <Limit Cancel-Job CUPS-Authenticate-Job>
      Require user @OWNER @SYSTEM
      Order deny,allow
    </Limit>
    <Limit All>
      Order deny,allow
    </Limit>
  </Policy>
  <Policy authenticated>
    JobPrivateAccess default
    JobPrivateValues default
    SubscriptionPrivateAccess default
    SubscriptionPrivateValues default
    <Limit Create-Job Print-Job Print-URI Validate-Job>
      AuthType Default
      Order deny,allow
    </Limit>
    <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifi$
      AuthType Default
      Require user @OWNER @SYSTEM
      Order deny,allow
    </Limit>
    <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
      AuthType Default
      Require user @SYSTEM
      Order deny,allow
   </Limit>
    <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Pri$
      AuthType Default
      Require user @SYSTEM
      Order deny,allow
    </Limit>
    <Limit Cancel-Job CUPS-Authenticate-Job>
      AuthType Default
      Require user @OWNER @SYSTEM
      Order deny,allow
    </Limit>
    <Limit All>
      Order deny,allow
    </Limit>
  </Policy>

我在另一个 Debian 机器上安装了这些打印机,它们工作正常。我不知道怎么解决这个问题。

【问题讨论】:

【参考方案1】:

我意识到这个答案没有解决 OP 的问题,但我遇到了同样的错误。所以希望这可能对未来的人有所帮助......

我的问题是我的打印机的一个墨盒是空的。更换空墨盒停止“打印机正在使用”错误,并立即打印文档。

【讨论】:

以上是关于使用中的 CUPS 打印机的主要内容,如果未能解决你的问题,请参考以下文章

CUPS 打印机未显示在打印机对话框中

有没有办法使用 CUPS 库获取打印机的字节命令列表?

pycups 或 cups 中的订阅如何工作?

使用 CUPS 打印,我的应用程序何时可以退出?

更改 CUPS 打印机名称

使用 Cups Api 检测打印机状态变化