mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
24905ba82d
The constant mark applied to types "string" and "ustring". The previous patches in this patchset already markes all string options as either constant or substituted, but it's still possible to add options or change existing ones to be neither constant nor substituted. In order to enforce strings to be either constant or substitued, remove the explicit constant marker. Instead, any option that is not marked as substituted is implicitly made constant. This patch doesn't change behaviour and all generated files are the same before and after this change. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
88 lines
4.0 KiB
XML
88 lines
4.0 KiB
XML
<samba:parameter name="print command"
|
|
context="S"
|
|
type="string"
|
|
xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
|
|
<description>
|
|
<para>After a print job has finished spooling to
|
|
a service, this command will be used via a <command moreinfo="none">system()</command>
|
|
call to process the spool file. Typically the command specified will
|
|
submit the spool file to the host's printing subsystem, but there
|
|
is no requirement that this be the case. The server will not remove
|
|
the spool file, so whatever command you specify should remove the
|
|
spool file when it has been processed, otherwise you will need to
|
|
manually remove old spool files.</para>
|
|
|
|
<para>The print command is simply a text string. It will be used
|
|
verbatim after macro substitutions have been made:</para>
|
|
|
|
<para>%s, %f - the path to the spool
|
|
file name</para>
|
|
|
|
<para>%p - the appropriate printer
|
|
name</para>
|
|
|
|
<para>%J - the job
|
|
name as transmitted by the client.</para>
|
|
|
|
<para>%c - The number of printed pages
|
|
of the spooled job (if known).</para>
|
|
|
|
<para>%z - the size of the spooled
|
|
print job (in bytes)</para>
|
|
|
|
<para>The print command <emphasis>MUST</emphasis> contain at least
|
|
one occurrence of <parameter moreinfo="none">%s</parameter> or <parameter moreinfo="none">%f
|
|
</parameter> - the <parameter moreinfo="none">%p</parameter> is optional. At the time
|
|
a job is submitted, if no printer name is supplied the <parameter moreinfo="none">%p
|
|
</parameter> will be silently removed from the printer command.</para>
|
|
|
|
<para>If specified in the [global] section, the print command given
|
|
will be used for any printable service that does not have its own
|
|
print command specified.</para>
|
|
|
|
<para>If there is neither a specified print command for a
|
|
printable service nor a global print command, spool files will
|
|
be created but not processed and (most importantly) not removed.</para>
|
|
|
|
<para>Note that printing may fail on some UNIXes from the
|
|
<constant>nobody</constant> account. If this happens then create
|
|
an alternative guest account that can print and set the <smbconfoption name="guest account"/>
|
|
in the [global] section.</para>
|
|
|
|
<para>You can form quite complex print commands by realizing
|
|
that they are just passed to a shell. For example the following
|
|
will log a print job, print the file, then remove it. Note that
|
|
';' is the usual separator for command in shell scripts.</para>
|
|
|
|
<para><command moreinfo="none">print command = echo Printing %s >>
|
|
/tmp/print.log; lpr -P %p %s; rm %s</command></para>
|
|
|
|
<para>You may have to vary this command considerably depending
|
|
on how you normally print files on your system. The default for
|
|
the parameter varies depending on the setting of the <smbconfoption name="printing"/>
|
|
parameter.</para>
|
|
|
|
<para>Default: For <command moreinfo="none">printing = BSD, AIX, QNX, LPRNG
|
|
or PLP :</command></para>
|
|
<para><command moreinfo="none">print command = lpr -r -P%p %s</command></para>
|
|
|
|
<para>For <command moreinfo="none">printing = SYSV or HPUX :</command></para>
|
|
<para><command moreinfo="none">print command = lp -c -d%p %s; rm %s</command></para>
|
|
|
|
<para>For <command moreinfo="none">printing = SOFTQ :</command></para>
|
|
<para><command moreinfo="none">print command = lp -d%p -s %s; rm %s</command></para>
|
|
|
|
<para>For printing = CUPS : If SAMBA is compiled against
|
|
libcups, then <smbconfoption name="printcap">cups</smbconfoption>
|
|
uses the CUPS API to
|
|
submit jobs, etc. Otherwise it maps to the System V
|
|
commands with the -oraw option for printing, i.e. it
|
|
uses <command moreinfo="none">lp -c -d%p -oraw; rm %s</command>.
|
|
With <command moreinfo="none">printing = cups</command>,
|
|
and if SAMBA is compiled against libcups, any manually
|
|
set print command will be ignored.</para>
|
|
</description>
|
|
|
|
<value type="example">/usr/local/samba/bin/myprintscript %p %s</value>
|
|
</samba:parameter>
|