2

我需要做的是与用户按下打印一起执行 python 程序/脚本,并且在该程序退出之前不要让打印作业假脱机。

原因是打印驱动程序不是开源的,我需要更改用户设置(在这种情况下是部门 ID 和密码),通常是每个用户,但因为这是一个信息亭(不同的用户具有相同的帐户)我需要确保在打印作业被假脱机之前重置并提示用户,以便不同的用户不会拿起彼此的作业。

我已经创建了一个程序来处理设置,我只需要一种启动它的方法,并且在用户完成程序/设置之前不要让假脱机作业启动。

我试图搜索/谷歌这个但真的找不到答案,我是否需要先通过杯子过滤器来处理这项工作,或者他们是否更聪明地处理这个问题?

4

1 回答 1

2

我为我的问题找到了完美的解决方案。tea4cups,它充当杯子的包装。使用tea4cups prehook 解决了我的问题。

不过我遇到了一些问题,所以如果有人走同样的路,我会在这里记录下来。

  1. tea4cups 基于 python2 并且我将 python3 作为标准库,这给出了一些意想不到的错误,例如 cups 日志中的“错误键”。为了解决这个问题,我编辑了“/usr/lib/cups/backend/tea4cups”并改变了环境:

#!/usr/bin/env 蟒蛇

进入:

#!/usr/bin/env python2

  1. 我的 prehook 需要启动一个 python 程序,因为它使用 x 显示,这不是开箱即用的。而且这个程序需要以实际提交打印作业的用户身份启动。为了让这两件事起作用,我必须编写如下 prehook:

prehook_popUp : su $TEAUSERNAME -c "DISPLAY=:0.0 python /usr/share/candepid/PopUp.py"

于 2013-12-20T13:07:24.600 回答