用户按下打印时运行脚本,在脚本结束前不启动假脱机(linux,cups)

时间:2013-12-19 14:21:12

标签: python linux printing cups

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

原因是打印驱动程序不是开源的,我需要更改用户设置(在这种情况下是部门ID和密码),通常是每个/用户,但因为这是一个自助服务终端(不同的用户使用同一帐户)我需要确保重置,并在假脱机打印作业之前提示用户,以便不同的用户不会接收彼此的工作。

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

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

1 个答案:

答案 0 :(得分:2)

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

我遇到了一些问题,所以如果有人走上同一条路,我会在这里注意到它们。

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

    #! / usr / bin / env python

         

    成:

         

    #! / usr / bin / env python2

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

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