Te damos la bienvenida a nuestra web, en este sitio vas a encontrar la solucíon que buscabas.
Solución:
También necesito una lista de impresoras y tenía la misma preocupación. Siguiendo la sugerencia anterior, verifiqué la fuente de lpstat.c. Esperaba que fuera un suid para que pudiera leerse “/etc/cups/printers.conf” . Ahora me doy cuenta de que no hace esto.
En su lugar, envía una solicitud HTTP POST a localhost:631 donde se ejecuta cupsd. La solicitud tiene el formato Content-Type: application/ipp y cosas como solicitada-attributes auth-info-required . La razón para no ser más específico es que utiliza una codificación no estándar (consulte: http://en.wikipedia.org/wiki/Internet_Printing_Protocol) … así que sospecho que analizar la salida de lpstat -a es realmente más limpio .
Han pasado seis años desde la pregunta original, estoy usando Cups 2.2.7 y todavía ‘lpstat -a’ devuelve el nombre de la impresora en la primera palabra. Así que creo que es seguro asumir que seguirá siendo la forma correcta de obtener una lista de las impresoras instaladas.
Recuerda que puedes dar difusión a esta sección si te fue de ayuda.