Using PJL to set username for printer job

John A. Murdie john at cs.york.ac.uk
Wed Nov 10 12:46:19 PST 2010


I thought I'd experiment with using PJL to display the username for the current job, since the "What's New" for CUPS 1.4 says:

56. PJL support; the cupsPJLDisplay PPD attribute controls the PJL commands used to display the current user and job on the printer.

The only documentation I've found for this (it should be enough) is in the "CUPS PPD Extensions" document. Apparently, for a printer which supports PJL - I'm using a newish HP model (actually a CM6040) - needs to have "PJL" added to the PPD Protocols directive, and also cupsPJLDisplay PPD directive:

*Protocols: TBCP PJL
*cupsPJLDisplay: "job"

I then create a new printer queue using this hand-edited PPD file and print something.

It doesn't seem to make any difference - though there is the matter of just where on the front panel LCD the job message (job_id, user, job title - from source: cups/emit.c line 519) is meant to appear! Nothing appears on the default display. There's nothing special under the device's 'Job Status' page, even under 'Details'. The user name is shown as 'Untitled'! I'll try another printer type sometime.

But pausing the queue shows me that the spool file hasn't had any PJL commands prepended to it. cupstestdsc(1) confirms my PostScript test file is DSC conforming, not that that should matter?

What I'd also like to happen is for the job's username to be set with e.g.:

@PJL SET USERNAME="charlie"

etc. I see that there's an RFE for that - http://www.cups.org/str.php?L3100 - I gather that neither '@PJL JOB NAME = ...' nor '@PJL RDYMSG DISPLAY = ...' is sufficient.




More information about the cups mailing list