在我工作的一所学校,有人告诉我,用户在打印时遇到问题——打印队列一直被卡住,并且系统提示他们输入密码,而不必解压。
我们的用户使用的是运行 OS X 10.5.7 的 Mac。计算机直接打印到网络打印机(即,无需先通过打印服务器)。
我发现了如何确定哪些机器有问题:
lpstat -o -p
显示哪些作业在队列中,并说明有关打印机的情况。在有问题的计算机上,它以以下结尾:
printer CJHS_WestLab_HP1320 disabled since Wed Dec 16 09:35:54 2009 -
/usr/libexec/cups/backend/lpd failed
我认为打印作业失败的原因是不知何故,打印机默认使用 A4 尺寸的纸——这里的学生只使用美国信纸尺寸的纸。然后该作业进入打印机,打印机开始闪烁,直到您按下一个按钮进行打印,或者按下另一个按钮取消该作业。
我有两个问题:
- 如何强制执行美国信函页面大小(在脚本中?)
- 我可以让用户自己清除队列吗?使他们能够暂停和取消暂停打印机?
- 如果没有,是否有一个好的脚本可以运行来清除队列?
我可以看到,作为管理员,我可以通过以下方式清除打印作业:
- 我找到了一个很好的脚本,它可以每两分钟清除一次队列——但肯定有一个更优雅的解决方案!?[我将采用一些可以替代优雅但优雅+有效==善良的东西]。
- 而且,只需多一点搜索...取消 -a -。它仍然会提示属于 lpadmin 组的人,并且不会恢复卡住的打印机……但知道它对于以管理员身份修复问题非常有用。
我还发现这个Mac OS X 提示通过编辑 /etc/cups/cupsd.conf 否定了用户必须在 lpadmin 组中的要求。这听起来不错——我只是担心它会被软件更新所拖累。
尽管如此,我还是忍不住觉得我忽略了一些东西,并且有更好的解决方案来解决这个问题。(而且我很想知道为什么默认页面大小是 A4,以及如何解决这个问题。)
为避免与 cupsd.conf 混淆(并冒着踩踏的风险),您可以将用户添加到 _lpadmin 组:
或者只是添加所有人:
顺便说一句, _lpadmin 中的成员资格既授予管理队列的能力,也授予配置打印机设置的能力;如果您只想授予队列管理权限,我相信您可以通过将人员添加到 _lpoperator 来做到这一点。
至于避免使用 A4,我的第一个想法是编辑打印机的 ppd 文件以删除所有提及被诅咒的 PageSize——但这不是我所知道的……
对于您的页面大小问题,我遇到了默认给我们的相反问题 Letter 用 lpadmin 修复了它
在您的打印机上使用和 lpadmin 命令并添加“-o PageSize=*”* 作为您想要默认的大小,例如我的将是 -o PageSize=A4
在终端中运行 man lpadmin 以获得更好的外观:)
当您转到 System Preferences -> Print & Fax 并更改“页面设置中的默认纸张尺寸”时,它会将更改写入 ~/Library/Preferences/com.apple.print.PrintingPrefs.plist 。
参数可以通过运行准备好
并且通常返回 na-letter 或 iso-a4。
它可以由指定的用户通过运行来更改
我想为我的整个实验室管理这种偏好。为此,我在 Workgroup Manager 中选择了计算机组,单击首选项(顶部),然后单击右侧的详细信息选项卡。然后我点击加号按钮并找到我正确配置的 ~/Library/Preferences/com.apple.print.PrintingPrefs.plist 文件并使用默认管理属性“经常”。然后我在列表中找到 com.apple.print.PrintingPrefs 并用铅笔对其进行编辑。在“经常”键下,我删除了除 DefaultPaperID 之外的所有内容,然后点击“立即应用”和“完成”。
我已经确认设置生效(Apple Menu -> About This Mac -> More Info,然后,当 System Profiler 出现时,向下滚动到“Managed Client”(靠近底部),看看它是否显示环境)。我认为它会很好地工作。