好的,简而言之,我试图从我的系统返回一个打印机列表,以确定是否存在特定的打印机,如果没有,则自动设置该打印机。使用lpstat命令,特别是:
lpstat -a | awk '{print $1}'
我可以返回一个列表,但打印机名称与我的队列名称不匹配,这正是我真正需要的。我的问题是是否有办法返回队列名称而不是实际的打印机名称?我在OS X上的AppleScript中将其作为shell脚本运行。
当我运行命令时,我将打印机名称返回为" EPSON_TM_T88V"而不是我的打印机队列名称"打印机1"
答案 0 :(得分:2)
上次我调查时,Apple使用了Cups打印机系统,该系统应安装在您的系统上。
首先,您应该在终端窗口中执行cupsctl WebInterface=yes
(系统将提示您输入管理员密码。
然后您可以尝试访问地址(http://localhost:631/printers/?)这是您应该能够curl
输出的页面,以便您可以从队列名称中提取打印机名称。 / p>
这对我来说,在视觉上,也许你已经设置了打印机共享等。
我知道的第二个解决方案可能会有所帮助,Stefan Klieme写了一个不露面的应用程序,听取你应该能够下载的Bonjour Events(Bonjour Events),当你有,你应该放弃将应用程序放到AppleScript Editor的库窗口中以查看字典。但我认为,为了使Bonjour Events工作,您的打印机必须启动并运行,而Cups方法在打印机脱机时可以使用。
我遗憾的是,如果我自己设置了Cups,或者它是否自行设置,可以通过“系统偏好设置”面板中的“打印机设置”进行连接。
但是,我希望这会有所帮助。