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

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

问题

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

尝试过的解决方案

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

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

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

有没有办法直接从 cups 运行打开打印机脚本和关闭打印机脚本,而无需查看队列?那太酷了!

答案1

我的建议是使用tea4cups

tea4cups 是任何标准 CUPS 后端的通用包装器。它允许您配置任何命令,在通过实际后端发送作业之前和之后运行。

tea4cups 特别允许运行(任意数量的)命令作业已发送:prehooks。退出的预挂接命令-1可以取消该作业。

tea4cups 还允许运行(任意数量的)命令作业被发送出去:(posthooks除非使用 exit -1 的预挂接取消了该作业)。

预钩子可以通过管道向后钩子发送数据。

tea4cups 也可以运行filters(它可能会修改打印数据,然后通过真正的后端将它们发送到真正的打印机)。

从现在开始,只有您自己的创造力才能限制您用这个框架所能做的事情。

相关内容