获取已安装的打印机列表

Eno*_*oon 10 command-line printing cups

在脚本内部,我使用lpr用户选择的打印机上的命令发送某个文件进行打印。

用户从中选择要使用的打印机列表,我开始使用该lpstat -a命令,然后将第一个空格之前的所有内容视为打印机的名称。

这有效,但在很大程度上依赖于lpstat -a命令的特定输出格式。我担心将来(或现在在不同的发行版上)如果输出格式发生变化,它会破坏脚本。

那么,有没有办法以比我正在使用的方式更安全的方式获取所有已安装打印机的名称?

sr_*_*sr_ 2

CUPS(部分)获得 GPL 许可,因此您可以获取(1)的源代码lpstat并创建您自己的小(GPL 许可)give-my-list-of-printers程序,该程序永远不会改变其输出数据的方式。

(1)它在 中cups-XX/cups/systemv/lpstat.c,我只是不明白那里的版本号。