[cups.general] Re: How to send EOT (\004) and the end of PS job

Till Kamppeter till.kamppeter at gmx.net
Thu May 12 08:47:16 PDT 2005


Anonymous wrote:
>>Anonymous wrote:
>>
>>>...
>>>I am not sure whether this is Fedora's printtool or CUPS problem. It
>>>would be helpful, however, if somebody could tell me where and how
>>>should the CUPS configuration be set that the EOT should be sent at
>>>the end of a PS job.
>>
>>That setting is not used by CUPS - it is a holdover in the Fedora
>>tool from the old LPRng days...
>>
>>What CUPS looks for is the JCLEnd attribute in the PPD file.
> 
> 
> Well, I have found refences to JCL... in docs and added <04>
> in the last of the following lines (in the imported file):
> 
> *JCLBegin: "<1B>%-12345X at PJL JOB<0A>@PJL SET LMULTIPAGEPRINT=OFF<0A>"
> *JCLToPSInterpreter: "@PJL ENTER LANGUAGE = Postscript <0A>"
> *JCLEnd: "<04><1B>%-12345X at PJL EOJ <0A><1B>%-12345X"
> 
> Then I re-imported the file (is it OK to re-import, did it really overwrite the previous entries?) but that did not change anything.
> 
> I can see no *JCL line in the /etc/cups/ppd/lex.ppd file autogenerated by the system. Instead, I found the following there:
> 
> *cupsFilter:    "application/vnd.cups-postscript 0 foomatic-rip"
> ..
> *FoomaticRIPCommandLine: "cat %A%Z"
> 
> which (AFAIU it right) means that a PS job is simply cat-ed to the printer, with no PJL commands added. This agrees with what I can see when I set the printer device to a file.
> 
> I have (temporarily and improperly) solved the problem by adding by hand 'echo -en "\004&quot' to the FoomaticRIPCommandLine. Now my T430 Lexmark printer gets "Ready" immediately after printing the job. This file, however, gets overwritten every time I change anything in the printer configuration (even when this very printer does not change), so this is surely not the way it should be done.
> 

It should also work when you simply add the *JCL... lines. If the 
printer does not support PJL, simply try to add

------------------------------------------------------------------------------
*JCLBegin: ""
*JCLToPSInterpreter: ""
*JCLEnd: "<04>"
------------------------------------------------------------------------------

This should work independent whether the PPD file is a Foomatic PPD file 
or not.

Where does your PPD file come from? Usually Foomatic is used to make the 
PostScript input be passed through some filter which is not a CUPS 
filter (and therefore it cannot be called directly by CUPS). Your PPD 
file makes foomatic-rip passing the data through a neutral filter:

------------------------------------------------------------------------------
*FoomaticRIPCommandLine: "cat %A%Z"
------------------------------------------------------------------------------

So it is most probably not from linuxprinting.org and also not generated 
by a Foomatic database from linuxprinting.org. Is it from Lexmark?

    Till





More information about the cups mailing list