Hi all. I am so close to making this work, I can almost smell it! Basically, we have some software which prints using a command line of my choice. For example, right now it's using:
lpr -P <printer> <filename>
...and this is working just fine, in that it does print. The problem is that the print job is started when a user begins defining options for the printout, and they are often in the menus/options for more than 15 seconds. There is a forced timeout somewhere which is causing the printer to spit out whatever it has so far if has not been told the print job is finished in this time. Concequently, we get unfinished pages, and then the rest comes out on the next sheet. I hope this makes sense!
The printer in question is on a Novell print queue, and I've set it up using CUPS and a Novell backend for CUPS (called 'ncp'). It works great - I can manage the printer with the CUPS web interface and print to it from the command line as described. But I need to tell it to set the timeout to 0 (ie, no timeout).
As I understand, the original lpr command is replaced by CUPS one, but this takes all the same options and so it should not matter. But with lpr you are supposed to be able to set the timeout to 0 by specifying 'connect_timeout' .. in the printcap file. ..I think. This is where I get really confused. Can anyone help please?
I've actually got three such printers. I tried editing the printcap file like this:
DeskJet:\
:connect_timeout#1000:\
laserjet2100:\
:connect_timeout#1000:\
laserjet4:\
:connect_timeout#1000:\
But whenever cupsd is restarted, it overwrites the file with:
DeskJet
laserjet2100
laserjet4
How can I set the timeout from within CUPS?