在使用 CUPS 打印之前和之后运行命令?

let*_*eto 6 scripting bash cups printing network-printer

问题

  • 一旦有未完成的作业,需要自动打开 CUPS 打印机

尝试过的解决方案

  • shell 脚本监视服务器上的队列 (lpstat -o) 并在有作业时打开打印机。如果队列为空 10 分钟,它将关闭打印机。
原问题:

这是一个家庭设置。中央打印机服务器 (Linux) 管理队列,HP 2430DTN 通过 100Mbit/sec 以太网连接到它。打印机连接到可管理的电源。shell 脚本监视服务器上的队列 (lpstat -o) 并在有作业时打开打印机。如果队列为空 10 分钟,它将关闭打印机。

现在这个设置搞砸了,在几周后停止打印机等,并且通常“不太可靠”。我现在知道如何更改停止打印机的事情,但是:

有没有办法在脚本上运行我的轮转打印机并直接从杯子关闭打印机关闭脚本而无需查看队列?那太酷了!

Kur*_*fle 5

我的建议是使用tea4cups

Tea4cups 充当任何标准 CUPS 后端的通用包装器。它允许您配置任何命令以在通过真实后端发送作业之前和之后运行。

tea4cups特别允许(任何数量的)命令来运行之前,将发送该作业:prehooks。退出的预挂机命令-1可以取消作业。

Tea4cups 还允许发送作业运行(任意数量的)命令:(posthooks除非带有 exit -1 的 prehook 取消了作业)。

Prehooks 可以通过管道向 posthooks 发送数据。

Tea4cups 也可以运行filters(它可以在通过真实后端将打印数据发送到真实打印机之前修改打印数据)。

从现在开始,只有您自己的创造力才能限制您使用此框架可以做什么。