SAMBA digest 2547 / problem with print command file name substitution
Axel Neumann
amn at cromemco.com
Mon Jun 5 15:10:50 GMT 2000
Peter A Bryant wrote:
>We have recently upgraded from Samba 1.9.16 to Samba 2.0.06,
>for serving files and printers to our NT4 clients.
>Since the upgrade, printers that were working are no longer printing.
>Most of the printers work fine, but printers that have a "print command"
>in the printer share are not printing, only spooling the file.
>The print command works ok when typed into the command line.
>I have narrowed the problem down to the %s substitution not working,
>since if I replace %s with a file name, it prints that file from the right
tray
>and with the right paper size.
>The printer shares are listed below. The hp8000 printer prints,
>but hp8000_a3 and hp8000_a4 only spool the file.
>As I said before, the print command works when typed on the command line.
>Has anyone got any suggestions as to why this is happening
>and how I can get around the problem.
>Thanks in advance
>-peter.
>;/* --------------------------------------------------------------------
*/
>;/* HP LaserJet 8000 DN print services
*/
>;/* --------------------------------------------------------------------
*/
>[hp8000]
> ; include standard print service parameters
> include = /opt/samba/lib/conf/conf.printers/smb.conf.hplj8000dn
> ; printer name for print service
> printer = hp8000
>[hp8000_a3]
> ; include standard print service parameters
> include = /opt/samba/lib/conf/conf.printers/smb.conf.hplj8000dn
> ; printer name for print service
> printer = hp8000
> ; print command
> print command = lp -o "A3 tray3" -d hp8000 %s
> ; print service description
> comment = HP LaserJet hp8000 DN (A3)
>[hp8000_a4]
> ; include standard print service parameters
> include = /opt/samba/lib/conf/conf.printers/smb.conf.hplj8000dn
> ; printer name for print service
> printer = hp8000
> ; print command
> print command = lp -o "A4 tray4" -d hp8000 %s
> ; print service description
> comment = HP LaserJet 8000 DN (A4)
>;/* --------------------------------------------------------------------
*/
>; /* (smb.conf.hplj8000dn)
>;/* Description: Samba configuration file for HP LaserJet 8000 DN print
*/
>;/* service.
*/
>;/* --------------------------------------------------------------------
*/
> ; include generic print service parameters
>include = /opt/samba/lib/conf/conf.printers/smb.conf.print
> ; printer name for print service
>printer = hplj8000dn
> ; print service description
>comment = HP LaserJet 8000 DN
> ; printer driver associated with print service
>printer driver = HP LaserJet 8000 Series PS
>;/* --------------------------------------------------------------------
*/
Hi,
It seems that you are running in a speed problem. By default the SYSV
lp-spooler is using a reference to the position of the printfile. If the
printfile is send via a network normally the file is created only
temporarily. This means it is automatically removed after receiving the
signal from the spooler that the file has been queued.
Due to this circumstance the default print command under Samba is "lp -c
-d%p %s; rm %s". This means that the spooler copies the file to its spool
directory instead of using a reference. The rm command is just to make sure
that the Samba spooling area is really cleaned off.
I do not know why you could print before without a problem, but I believe
if you extend your command with the "-c" and the ";rm %s" your problem will
be solved.
HTH,
Axel Neumann
More information about the samba
mailing list