让Mac用户清除打印队列

在我工作的一所学校里,有人告诉我说,用户在打印时遇到了麻烦 – 打印队列不断被卡住,并提示input一个密码,这样他们就不用打开这个密码了。

我们的用户正在使用运行OS X 10.5.7的Mac。 计算机正在直接打印到networking打印机(即,不先通过打印服务器)。

我发现如何确定哪些机器有问题:

lpstat -o -p 

显示哪些作业在队列中,并说明关于打印机的事情。 在有问题的电脑上,它以这个结尾:

 printer CJHS_WestLab_HP1320 disabled since Wed Dec 16 09:35:54 2009 - /usr/libexec/cups/backend/lpd failed 

我认为打印工作失败的原因是因为某种原因,打印机默认使用A4尺寸的纸张,而这里的学生只能使用美国Letter尺寸的纸张。 然后作业进入打印机,打印机开始闪烁,直到您按下一个button打印,或者另一个button取消打印作业。

我有两个问题:

  • 我怎样才能执行一个美国信纸页面大小(在脚本?)
  • 我可以让用户自己清理队列吗? 让他们暂停和取消暂停打印机?
    • 如果没有,是否有一个很好的脚本来清除队列?

我可以看到,作为pipe理员,我可以通过以下方式清除打印作业:

  • 我发现了一个很好的脚本,可以每两分钟清理一次队列 – 但是肯定会有更加优雅的解决scheme! [我会采取一些东西,这是优雅的东西,但优雅+工程==善良]。
  • 而且,只是多一点search… 取消-a – 。 它仍然会提示属于lpadmin组的人,并且它不会恢复被卡住的打印机…但是知道如何解决pipe理员问题是非常有用的。

我还发现这个Mac OS X的提示,通过编辑/etc/cups/cupsd.conf 来否定用户在lpadmin组中的要求 。 这听起来不错 – 我只是担心它会被软件更新踩坏。

不过,我不禁觉得有些东西是我忽略的,而且这个问题有更好的解决办法。 (我想知道为什么默认页面大小是A4,以及如何解决这个问题。)

为了避免与cupsd.conf混淆(并且冒着stompage风险),可以将用户添加到_lpadmin组中:

 sudo dseditgroup -o edit -a fred _lpadmin 

或者只是添加所有人:

 sudo dseditgroup -o edit -t group -a everyone _lpadmin 

顺便说一下,_lpadmin的成员资格既可以pipe理队列,也可以configuration打印机设置; 如果你只是想授予队列pipe理权限,我相信你可以通过向_lpoperator添加人员来实现。

至于避免A4,我的第一个想法是编辑打印机的PPD文件,以消除所有提及的诅咒PageSize – 但这不是我知道的任何事情…

对于你的页面大小问题,我有相反的问题违约给我们信使用lpadmin修复它

在您的打印机上使用和lpadmin命令,并添加“-o PageSize = *”*是您想要默认的大小,例如我将是-o PageSize = A4

在terminal上运行lpadmin以获得更好的外观:)

当您进入“系统预置” – >“打印和传真”并更改“页面设置中的默认纸张尺寸”时,它将更改写入〜/ Library / Preferences / com.apple.print.PrintingPrefs.plist。

参数可以通过运行来准备

 defaults read com.apple.print.PrintingPrefs DefaultPaperID 

通常会返回na-letter或iso-a4。

它可以由指定的用户通过运行来改变

 defaults write com.apple.print.PrintingPrefs DefaultPaperID na-letter 

我想为我的整个实验室pipe理这个偏好。 为此,我在Workgroup Manager中select了计算机组,单击Preferences(首选项),然后单击右侧的Details(详细信息)选项卡。 然后我点击加号button,find了我正确configuration的〜/ Library / Preferences / com.apple.print.PrintingPrefs.plist文件,并且默认pipe理属性“Often”。 然后,我在列表中find了com.apple.print.PrintingPrefs并点击铅笔进行编辑。 在“经常”键下,我删除了DefaultPaperID以外的所有内容,并点击“Apply Now”和“Done”。

我已经确认设置生效(Apple Menu – >关于本机 – >更多信息,然后当System Profiler出现时,向下滚动到“Managed Client”(底部附近),看看是否显示设置)。 我认为它会很好地工作。