Imprimir desde la tarea launchd

0

Tengo un script que debe ejecutarse en segundo plano periódicamente (lo he puesto allí con Lingon X). Ese script (basado en PHP) es 1. Encuestar un servidor, 2. recuperar un archivo PDF desde el servidor 3. Guardándolo en el disco 4. Imprimiéndolo usando exec("lpr myFile.pdf"); 5. Reproducción de un sonido usando exec("afplay ding.mp3");

Cuando ejecuto el script manualmente ( php myscript.php ), todo funciona perfectamente.

Sin embargo, cuando la secuencia de comandos se ejecuta en segundo plano, hace 1, 2, 3 y 5 normalmente, pero no se imprime en absoluto.

He intentado usar lp en lugar de lpr, también he compilado y ejecutado PDF-Printer ( enlace ) y todavía no sale papel de mi impresora. También he probado otra impresora (ya sabes ... por si acaso). Todavía no hay suerte.

He intentado obtener la salida del comando lpr para ver si estaba devolviendo algún tipo de mensaje de error, sin embargo, nada. Tampoco hay nada en la cola de la impresora.

También intenté ejecutar esta secuencia de comandos como usuario root y como usuario habitual y aún así, nada hace que la impresora ... imprima.

¿Alguien tiene alguna idea de cómo lograr esto?

Aquí está la salida de lpc status :

Brother_HL_2240_series:
printer is on device 'usb' speed -1
queuing is enabled
printing is enabled
no entries
daemon present
    
pregunta Remy Vanherweghem 27.11.2014 - 22:42

1 respuesta

1

Intenta redirigir el stderr para que puedas ver lo que está sucediendo.

exec("lpr myFile.pdf 2> /tmp/lpr_error");

    
respondido por el f01 28.11.2014 - 12:35

Lea otras preguntas en las etiquetas