Estoy usando Mojave, y soy capaz de añadir una impresora usando lpadmin
. Entonces puedo imprimir una página de prueba en esa impresora utilizando la interfaz web de CUPS. Además, la impresora aparece con lpstat -p
. Sin embargo, la impresora no aparece en el panel de preferencias de Impresoras y Escáneres, por lo que es inaccesible desde otras aplicaciones.
Aquí está el lpadmin
comando que estoy utilizando:
lpadmin -p MiImpresora -E -v lptone:/ruta/a/archivo
Esta impresora está utilizando un backend CUPS personalizado (lptone) que es un script que genera un nombre de archivo utilizando un UUID y luego escribe el contenido impreso en ese archivo, por lo que el /path/to/file
de la URI se ignora. Sé que esta parte funciona porque puedo imprimir una página de prueba en esta impresora desde la interfaz web de CUPS, y obtengo un archivo con el contenido de la página de prueba generado en la ruta donde se supone que el script lo pone. He probado a hacer lpadmin
como yo y con sudo
.
Si primero añado la impresora utilizando el panel de preferencias de Impresoras y Escáneres ( address=localhost:631
, queue=printers/MyPrinter
), entonces utilice lpadmin -p MyPrinter -v lptone:/path/to/file
para ajustar el dispositivo de salida (es decir, el backend de CUPS), la impresora permanece en el panel de preferencias de Impresoras y Escáneres, y puedo imprimir en ella desde otras aplicaciones.