diff options
author | Alexander Bokovoy <ab@samba.org> | 2003-03-27 15:27:19 +0000 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2003-03-27 15:27:19 +0000 |
commit | 5cd3d3f14ef56ff5f1d92aba0174649f3d368f66 (patch) | |
tree | 7982c107cb4ecf2b739dd0d21b591aca20e9b19a /docs/docbook/smbdotconf/printing | |
parent | 7c6a4de6f97287e43405b66baa81aa328315de7c (diff) | |
download | samba-5cd3d3f14ef56ff5f1d92aba0174649f3d368f66.tar.gz samba-5cd3d3f14ef56ff5f1d92aba0174649f3d368f66.tar.bz2 samba-5cd3d3f14ef56ff5f1d92aba0174649f3d368f66.zip |
Add new framework for smb.conf(5). Please read README before trying to compile.
I will commit more meta-information updates during week-end.
(This used to be commit 8d684dffab6a90b3d612a1aa2b2c457a2bc2e6ac)
Diffstat (limited to 'docs/docbook/smbdotconf/printing')
26 files changed, 736 insertions, 0 deletions
diff --git a/docs/docbook/smbdotconf/printing/addprintercommand.xml b/docs/docbook/smbdotconf/printing/addprintercommand.xml new file mode 100644 index 0000000000..abff09cda4 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/addprintercommand.xml @@ -0,0 +1,60 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="ADDPRINTERCOMMAND"/>addprinter command (G)</term> + <listitem><para>With the introduction of MS-RPC based printing + support for Windows NT/2000 clients in Samba 2.2, The MS Add + Printer Wizard (APW) icon is now also available in the + "Printers..." folder displayed a share listing. The APW + allows for printers to be add remotely to a Samba or Windows + NT/2000 print server.</para> + + <para>For a Samba host this means that the printer must be + physically added to the underlying printing system. The <parameter moreinfo="none">add + printer command</parameter> defines a script to be run which + will perform the necessary operations for adding the printer + to the print system and to add the appropriate service definition + to the <filename moreinfo="none">smb.conf</filename> file in order that it can be + shared by <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>.</para> + + <para>The <parameter moreinfo="none">addprinter command</parameter> is + automatically invoked with the following parameter (in + order):</para> + + <itemizedlist> + <listitem><para><parameter moreinfo="none">printer name</parameter></para></listitem> + <listitem><para><parameter moreinfo="none">share name</parameter></para></listitem> + <listitem><para><parameter moreinfo="none">port name</parameter></para></listitem> + <listitem><para><parameter moreinfo="none">driver name</parameter></para></listitem> + <listitem><para><parameter moreinfo="none">location</parameter></para></listitem> + <listitem><para><parameter moreinfo="none">Windows 9x driver location</parameter> + </para></listitem> + </itemizedlist> + + <para>All parameters are filled in from the PRINTER_INFO_2 structure sent + by the Windows NT/2000 client with one exception. The "Windows 9x + driver location" parameter is included for backwards compatibility + only. The remaining fields in the structure are generated from answers + to the APW questions.</para> + + <para>Once the <parameter moreinfo="none">addprinter command</parameter> has + been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none"> + smb.conf</filename> to determine if the share defined by the APW + exists. If the sharename is still invalid, then <command moreinfo="none">smbd + </command> will return an ACCESS_DENIED error to the client.</para> + + <para> + The "add printer command" program can output a single line of text, + which Samba will set as the port the new printer is connected to. + If this line isn't output, Samba won't reload its printer shares. + </para> + + <para>See also <link linkend="DELETEPRINTERCOMMAND"><parameter moreinfo="none"> + deleteprinter command</parameter></link>, <link linkend="PRINTING"><parameter moreinfo="none">printing</parameter></link>, + <link linkend="SHOWADDPRINTERWIZARD"><parameter moreinfo="none">show add + printer wizard</parameter></link></para> + + <para>Default: <emphasis>none</emphasis></para> + <para>Example: <command moreinfo="none">addprinter command = /usr/bin/addprinter + </command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/defaultdevmode.xml b/docs/docbook/smbdotconf/printing/defaultdevmode.xml new file mode 100644 index 0000000000..9609038dcd --- /dev/null +++ b/docs/docbook/smbdotconf/printing/defaultdevmode.xml @@ -0,0 +1,34 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="DEFAULTDEVMODE"/>default devmode (S)</term> + <listitem><para>This parameter is only applicable to <link linkend="PRINTOK">printable</link> services. When smbd is serving + Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba + server has a Device Mode which defines things such as paper size and + orientation and duplex settings. The device mode can only correctly be + generated by the printer driver itself (which can only be executed on a + Win32 platform). Because smbd is unable to execute the driver code + to generate the device mode, the default behavior is to set this field + to NULL. + </para> + + <para>Most problems with serving printer drivers to Windows NT/2k/XP clients + can be traced to a problem with the generated device mode. Certain drivers + will do things such as crashing the client's Explorer.exe with a NULL devmode. + However, other printer drivers can cause the client's spooler service + (spoolsv.exe) to die if the devmode was not created by the driver itself + (i.e. smbd generates a default devmode). + </para> + + <para>This parameter should be used with care and tested with the printer + driver in question. It is better to leave the device mode to NULL + and let the Windows client set the correct values. Because drivers do not + do this all the time, setting <command moreinfo="none">default devmode = yes</command> + will instruct smbd to generate a default one. + </para> + + <para>For more information on Windows NT/2k printing and Device Modes, + see the <ulink url="http://msdn.microsoft.com/">MSDN documentation</ulink>. + </para> + + <para>Default: <command moreinfo="none">default devmode = no</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/deleteprintercommand.xml b/docs/docbook/smbdotconf/printing/deleteprintercommand.xml new file mode 100644 index 0000000000..23f2ff76b0 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/deleteprintercommand.xml @@ -0,0 +1,35 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="DELETEPRINTERCOMMAND"/>deleteprinter command (G)</term> + <listitem><para>With the introduction of MS-RPC based printer + support for Windows NT/2000 clients in Samba 2.2, it is now + possible to delete printer at run time by issuing the + DeletePrinter() RPC call.</para> + + <para>For a Samba host this means that the printer must be + physically deleted from underlying printing system. The <parameter moreinfo="none"> + deleteprinter command</parameter> defines a script to be run which + will perform the necessary operations for removing the printer + from the print system and from <filename moreinfo="none">smb.conf</filename>. + </para> + + <para>The <parameter moreinfo="none">deleteprinter command</parameter> is + automatically called with only one parameter: <parameter moreinfo="none"> + "printer name"</parameter>.</para> + + + <para>Once the <parameter moreinfo="none">deleteprinter command</parameter> has + been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none"> + smb.conf</filename> to associated printer no longer exists. + If the sharename is still valid, then <command moreinfo="none">smbd + </command> will return an ACCESS_DENIED error to the client.</para> + + <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter moreinfo="none"> + addprinter command</parameter></link>, <link linkend="PRINTING"><parameter moreinfo="none">printing</parameter></link>, + <link linkend="SHOWADDPRINTERWIZARD"><parameter moreinfo="none">show add + printer wizard</parameter></link></para> + + <para>Default: <emphasis>none</emphasis></para> + <para>Example: <command moreinfo="none">deleteprinter command = /usr/bin/removeprinter + </command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/disablespoolss.xml b/docs/docbook/smbdotconf/printing/disablespoolss.xml new file mode 100644 index 0000000000..dff1e63fab --- /dev/null +++ b/docs/docbook/smbdotconf/printing/disablespoolss.xml @@ -0,0 +1,20 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="DISABLESPOOLSS"/>disable spoolss (G)</term> + <listitem><para>Enabling this parameter will disable Samba's support + for the SPOOLSS set of MS-RPC's and will yield identical behavior + as Samba 2.0.x. Windows NT/2000 clients will downgrade to using + Lanman style printing commands. Windows 9x/ME will be uneffected by + the parameter. However, this will also disable the ability to upload + printer drivers to a Samba server via the Windows NT Add Printer + Wizard or by using the NT printer properties dialog window. It will + also disable the capability of Windows NT/2000 clients to download + print drivers from the Samba host upon demand. + <emphasis>Be very careful about enabling this parameter.</emphasis> + </para> + + <para>See also <link linkend="USECLIENTDRIVER">use client driver</link> + </para> + + <para>Default : <command moreinfo="none">disable spoolss = no</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/enumportscommand.xml b/docs/docbook/smbdotconf/printing/enumportscommand.xml new file mode 100644 index 0000000000..b1111a5e1c --- /dev/null +++ b/docs/docbook/smbdotconf/printing/enumportscommand.xml @@ -0,0 +1,22 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="ENUMPORTSCOMMAND"/>enumports command (G)</term> + <listitem><para>The concept of a "port" is fairly foreign + to UNIX hosts. Under Windows NT/2000 print servers, a port + is associated with a port monitor and generally takes the form of + a local port (i.e. LPT1:, COM1:, FILE:) or a remote port + (i.e. LPD Port Monitor, etc...). By default, Samba has only one + port defined--<constant>"Samba Printer Port"</constant>. Under + Windows NT/2000, all printers must have a valid port name. + If you wish to have a list of ports displayed (<command moreinfo="none">smbd + </command> does not use a port name for anything) other than + the default <constant>"Samba Printer Port"</constant>, you + can define <parameter moreinfo="none">enumports command</parameter> to point to + a program which should generate a list of ports, one per line, + to standard output. This listing will then be used in response + to the level 1 and 2 EnumPorts() RPC.</para> + + <para>Default: <emphasis>no enumports command</emphasis></para> + <para>Example: <command moreinfo="none">enumports command = /usr/bin/listports + </command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/loadprinters.xml b/docs/docbook/smbdotconf/printing/loadprinters.xml new file mode 100644 index 0000000000..adaa8afca9 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/loadprinters.xml @@ -0,0 +1,9 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LOADPRINTERS"/>load printers (G)</term> + <listitem><para>A boolean variable that controls whether all + printers in the printcap will be loaded for browsing by default. + See the <link linkend="PRINTERSSECT">printers</link> section for + more details.</para> + + <para>Default: <command moreinfo="none">load printers = yes</command></para></listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/lppausecommand.xml b/docs/docbook/smbdotconf/printing/lppausecommand.xml new file mode 100644 index 0000000000..34d7c7f800 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/lppausecommand.xml @@ -0,0 +1,41 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LPPAUSECOMMAND"/>lppause command (S)</term> + <listitem><para>This parameter specifies the command to be + executed on the server host in order to stop printing or spooling + a specific print job.</para> + + <para>This command should be a program or script which takes + a printer name and job number to pause the print job. One way + of implementing this is by using job priorities, where jobs + having a too low priority won't be sent to the printer.</para> + + <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name + is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with + the job number (an integer). On HPUX (see <parameter moreinfo="none">printing=hpux + </parameter>), if the <parameter moreinfo="none">-p%p</parameter> option is added + to the lpq command, the job will show up with the correct status, i.e. + if the job priority is lower than the set fence priority it will + have the PAUSED status, whereas if the priority is equal or higher it + will have the SPOOLED or PRINTING status.</para> + + <para>Note that it is good practice to include the absolute path + in the lppause command as the PATH may not be available to the server.</para> + + <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing + </parameter></link> parameter.</para> + + <para>Default: Currently no default value is given to + this string, unless the value of the <parameter moreinfo="none">printing</parameter> + parameter is <constant>SYSV</constant>, in which case the default is :</para> + + <para><command moreinfo="none">lp -i %p-%j -H hold</command></para> + + <para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter + is <constant>SOFTQ</constant>, then the default is:</para> + + <para><command moreinfo="none">qstat -s -j%j -h</command></para> + + <para>Example for HPUX: <command moreinfo="none">lppause command = /usr/bin/lpalt + %p-%j -p0</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/lpqcachetime.xml b/docs/docbook/smbdotconf/printing/lpqcachetime.xml new file mode 100644 index 0000000000..6f351fdaf9 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/lpqcachetime.xml @@ -0,0 +1,26 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LPQCACHETIME"/>lpq cache time (G)</term> + <listitem><para>This controls how long lpq info will be cached + for to prevent the <command moreinfo="none">lpq</command> command being called too + often. A separate cache is kept for each variation of the <command moreinfo="none"> + lpq</command> command used by the system, so if you use different + <command moreinfo="none">lpq</command> commands for different users then they won't + share cache information.</para> + + <para>The cache files are stored in <filename moreinfo="none">/tmp/lpq.xxxx</filename> + where xxxx is a hash of the <command moreinfo="none">lpq</command> command in use.</para> + + <para>The default is 10 seconds, meaning that the cached results + of a previous identical <command moreinfo="none">lpq</command> command will be used + if the cached data is less than 10 seconds old. A large value may + be advisable if your <command moreinfo="none">lpq</command> command is very slow.</para> + + <para>A value of 0 will disable caching completely.</para> + + <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing + </parameter></link> parameter.</para> + + <para>Default: <command moreinfo="none">lpq cache time = 10</command></para> + <para>Example: <command moreinfo="none">lpq cache time = 30</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/lpqcommand.xml b/docs/docbook/smbdotconf/printing/lpqcommand.xml new file mode 100644 index 0000000000..ddcdf1ef49 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/lpqcommand.xml @@ -0,0 +1,41 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LPQCOMMAND"/>lpq command (S)</term> + <listitem><para>This parameter specifies the command to be + executed on the server host in order to obtain <command moreinfo="none">lpq + </command>-style printer status information.</para> + + <para>This command should be a program or script which + takes a printer name as its only parameter and outputs printer + status information.</para> + + <para>Currently nine styles of printer status information + are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ. + This covers most UNIX systems. You control which type is expected + using the <parameter moreinfo="none">printing =</parameter> option.</para> + + <para>Some clients (notably Windows for Workgroups) may not + correctly send the connection number for the printer they are + requesting status information about. To get around this, the + server reports on the first printer service connected to by the + client. This only happens if the connection number sent is invalid.</para> + + <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name + is put in its place. Otherwise it is placed at the end of the + command.</para> + + <para>Note that it is good practice to include the absolute path + in the <parameter moreinfo="none">lpq command</parameter> as the <envar>$PATH + </envar> may not be available to the server. When compiled with + the CUPS libraries, no <parameter moreinfo="none">lpq command</parameter> is + needed because smbd will make a library call to obtain the + print queue listing.</para> + + <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing + </parameter></link> parameter.</para> + + <para>Default: <emphasis>depends on the setting of <parameter moreinfo="none"> + printing</parameter></emphasis></para> + + <para>Example: <command moreinfo="none">lpq command = /usr/bin/lpq -P%p</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/lpresumecommand.xml b/docs/docbook/smbdotconf/printing/lpresumecommand.xml new file mode 100644 index 0000000000..fbb1ac71ad --- /dev/null +++ b/docs/docbook/smbdotconf/printing/lpresumecommand.xml @@ -0,0 +1,37 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LPRESUMECOMMAND"/>lpresume command (S)</term> + <listitem><para>This parameter specifies the command to be + executed on the server host in order to restart or continue + printing or spooling a specific print job.</para> + + <para>This command should be a program or script which takes + a printer name and job number to resume the print job. See + also the <link linkend="LPPAUSECOMMAND"><parameter moreinfo="none">lppause command + </parameter></link> parameter.</para> + + <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name + is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with + the job number (an integer).</para> + + <para>Note that it is good practice to include the absolute path + in the <parameter moreinfo="none">lpresume command</parameter> as the PATH may not + be available to the server.</para> + + <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing + </parameter></link> parameter.</para> + + <para>Default: Currently no default value is given + to this string, unless the value of the <parameter moreinfo="none">printing</parameter> + parameter is <constant>SYSV</constant>, in which case the default is :</para> + + <para><command moreinfo="none">lp -i %p-%j -H resume</command></para> + + <para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter + is <constant>SOFTQ</constant>, then the default is:</para> + + <para><command moreinfo="none">qstat -s -j%j -r</command></para> + + <para>Example for HPUX: <command moreinfo="none">lpresume command = /usr/bin/lpalt + %p-%j -p2</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/lprmcommand.xml b/docs/docbook/smbdotconf/printing/lprmcommand.xml new file mode 100644 index 0000000000..7f59d6c5a0 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/lprmcommand.xml @@ -0,0 +1,27 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LPRMCOMMAND"/>lprm command (S)</term> + <listitem><para>This parameter specifies the command to be + executed on the server host in order to delete a print job.</para> + + <para>This command should be a program or script which takes + a printer name and job number, and deletes the print job.</para> + + <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name + is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with + the job number (an integer).</para> + + <para>Note that it is good practice to include the absolute + path in the <parameter moreinfo="none">lprm command</parameter> as the PATH may not be + available to the server.</para> + + <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing + </parameter></link> parameter.</para> + + <para>Default: <emphasis>depends on the setting of <parameter moreinfo="none">printing + </parameter></emphasis></para> + + <para>Example 1: <command moreinfo="none">lprm command = /usr/bin/lprm -P%p %j + </command></para> + <para>Example 2: <command moreinfo="none">lprm command = /usr/bin/cancel %p-%j + </command></para></listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/maxprintjobs.xml b/docs/docbook/smbdotconf/printing/maxprintjobs.xml new file mode 100644 index 0000000000..f0c7d83d3f --- /dev/null +++ b/docs/docbook/smbdotconf/printing/maxprintjobs.xml @@ -0,0 +1,14 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="MAXPRINTJOBS"/>max print jobs (S)</term> + <listitem><para>This parameter limits the maximum number of + jobs allowable in a Samba printer queue at any given moment. + If this number is exceeded, <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> will remote "Out of Space" to the client. + See all <link linkend="TOTALPRINTJOBS"><parameter moreinfo="none">total + print jobs</parameter></link>. + </para> + + <para>Default: <command moreinfo="none">max print jobs = 1000</command></para> + <para>Example: <command moreinfo="none">max print jobs = 5000</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/os2drivermap.xml b/docs/docbook/smbdotconf/printing/os2drivermap.xml new file mode 100644 index 0000000000..fdfba35a49 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/os2drivermap.xml @@ -0,0 +1,22 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="OS2DRIVERMAP"/>os2 driver map (G)</term> + <listitem><para>The parameter is used to define the absolute + path to a file containing a mapping of Windows NT printer driver + names to OS/2 printer driver names. The format is:</para> + + <para><nt driver name> = <os2 driver + name>.<device name></para> + + <para>For example, a valid entry using the HP LaserJet 5 + printer driver would appear as <command moreinfo="none">HP LaserJet 5L = LASERJET.HP + LaserJet 5L</command>.</para> + + <para>The need for the file is due to the printer driver namespace + problem described in the <ulink url="printing.html">Samba + Printing HOWTO</ulink>. For more details on OS/2 clients, please + refer to the OS2-Client-HOWTO containing in the Samba documentation.</para> + + <para>Default: <command moreinfo="none">os2 driver map = <empty string> + </command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printable.xml b/docs/docbook/smbdotconf/printing/printable.xml new file mode 100644 index 0000000000..22d4d73b01 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printable.xml @@ -0,0 +1,15 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTABLE"/>printable (S)</term> + <listitem><para>If this parameter is <constant>yes</constant>, then + clients may open, write to and submit spool files on the directory + specified for the service. </para> + + <para>Note that a printable service will ALWAYS allow writing + to the service path (user privileges permitting) via the spooling + of print data. The <link linkend="READONLY"><parameter moreinfo="none">read only + </parameter></link> parameter controls only non-printing access to + the resource.</para> + + <para>Default: <command moreinfo="none">printable = no</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printcap.xml b/docs/docbook/smbdotconf/printing/printcap.xml new file mode 100644 index 0000000000..2f5e4af580 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printcap.xml @@ -0,0 +1,6 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTCAP"/>printcap (G)</term> + <listitem><para>Synonym for <link linkend="PRINTCAPNAME"><parameter moreinfo="none"> + printcap name</parameter></link>.</para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printcapname.xml b/docs/docbook/smbdotconf/printing/printcapname.xml new file mode 100644 index 0000000000..fcfeada54c --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printcapname.xml @@ -0,0 +1,47 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTCAPNAME"/>printcap name (G)</term> + <listitem><para>This parameter may be used to override the + compiled-in default printcap name used by the server (usually <filename moreinfo="none"> + /etc/printcap</filename>). See the discussion of the <link linkend="PRINTERSSECT">[printers]</link> section above for reasons + why you might want to do this.</para> + + <para>To use the CUPS printing interface set <command moreinfo="none">printcap name = cups + </command>. This should be supplemented by an addtional setting + <link linkend="PRINTING">printing = cups</link> in the [global] + section. <command moreinfo="none">printcap name = cups</command> will use the + "dummy" printcap created by CUPS, as specified in your CUPS + configuration file. + </para> + + <para>On System V systems that use <command moreinfo="none">lpstat</command> to + list available printers you can use <command moreinfo="none">printcap name = lpstat + </command> to automatically obtain lists of available printers. This + is the default for systems that define SYSV at configure time in + Samba (this includes most System V based systems). If <parameter moreinfo="none"> + printcap name</parameter> is set to <command moreinfo="none">lpstat</command> on + these systems then Samba will launch <command moreinfo="none">lpstat -v</command> and + attempt to parse the output to obtain a printer list.</para> + + <para>A minimal printcap file would look something like this:</para> + +<para><programlisting format="linespecific"> +print1|My Printer 1 +print2|My Printer 2 +print3|My Printer 3 +print4|My Printer 4 +print5|My Printer 5 +</programlisting></para> + + <para>where the '|' separates aliases of a printer. The fact + that the second alias has a space in it gives a hint to Samba + that it's a comment.</para> + + <para><emphasis>NOTE</emphasis>: Under AIX the default printcap + name is <filename moreinfo="none">/etc/qconfig</filename>. Samba will assume the + file is in AIX <filename moreinfo="none">qconfig</filename> format if the string + <filename moreinfo="none">qconfig</filename> appears in the printcap filename.</para> + + <para>Default: <command moreinfo="none">printcap name = /etc/printcap</command></para> + <para>Example: <command moreinfo="none">printcap name = /etc/myprintcap</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printcommand.xml b/docs/docbook/smbdotconf/printing/printcommand.xml new file mode 100644 index 0000000000..c996ed6c2e --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printcommand.xml @@ -0,0 +1,86 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTCOMMAND"/>print command (S)</term> + <listitem><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, %p - 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 <link linkend="GUESTACCOUNT"><parameter moreinfo="none">guest account</parameter></link> + 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 <link linkend="PRINTING"> + <parameter moreinfo="none">printing</parameter></link> 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 <link linkend="PRINTING">printcap = cups</link> + 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> + + + <para>Example: <command moreinfo="none">print command = /usr/local/samba/bin/myprintscript + %p %s</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printer.xml b/docs/docbook/smbdotconf/printing/printer.xml new file mode 100644 index 0000000000..4cf90b06fa --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printer.xml @@ -0,0 +1,6 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTER"/>printer (S)</term> + <listitem><para>Synonym for <link linkend="PRINTERNAME"><parameter moreinfo="none"> + printer name</parameter></link>.</para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printername.xml b/docs/docbook/smbdotconf/printing/printername.xml new file mode 100644 index 0000000000..25e6afa1f2 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printername.xml @@ -0,0 +1,15 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTERNAME"/>printer name (S)</term> + <listitem><para>This parameter specifies the name of the printer + to which print jobs spooled through a printable service will be sent.</para> + + <para>If specified in the [global] section, the printer + name given will be used for any printable service that does + not have its own printer name specified.</para> + + <para>Default: <emphasis>none (but may be <constant>lp</constant> + on many systems)</emphasis></para> + + <para>Example: <command moreinfo="none">printer name = laserwriter</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printing.xml b/docs/docbook/smbdotconf/printing/printing.xml new file mode 100644 index 0000000000..d49c0e2471 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printing.xml @@ -0,0 +1,26 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTING"/>printing (S)</term> + <listitem><para>This parameters controls how printer status + information is interpreted on your system. It also affects the + default values for the <parameter moreinfo="none">print command</parameter>, + <parameter moreinfo="none">lpq command</parameter>, <parameter moreinfo="none">lppause command + </parameter>, <parameter moreinfo="none">lpresume command</parameter>, and + <parameter moreinfo="none">lprm command</parameter> if specified in the + [global] section.</para> + + <para>Currently nine printing styles are supported. They are + <constant>BSD</constant>, <constant>AIX</constant>, + <constant>LPRNG</constant>, <constant>PLP</constant>, + <constant>SYSV</constant>, <constant>HPUX</constant>, + <constant>QNX</constant>, <constant>SOFTQ</constant>, + and <constant>CUPS</constant>.</para> + + <para>To see what the defaults are for the other print + commands when using the various options use the <ulink url="testparm.1.html">testparm(1)</ulink> program.</para> + + <para>This option can be set on a per printer basis</para> + + <para>See also the discussion in the <link linkend="PRINTERSSECT"> + [printers]</link> section.</para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/printok.xml b/docs/docbook/smbdotconf/printing/printok.xml new file mode 100644 index 0000000000..7900e91bbb --- /dev/null +++ b/docs/docbook/smbdotconf/printing/printok.xml @@ -0,0 +1,6 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="PRINTOK"/>print ok (S)</term> + <listitem><para>Synonym for <link linkend="PRINTABLE"> + <parameter moreinfo="none">printable</parameter></link>.</para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/queuepausecommand.xml b/docs/docbook/smbdotconf/printing/queuepausecommand.xml new file mode 100644 index 0000000000..c991994f7f --- /dev/null +++ b/docs/docbook/smbdotconf/printing/queuepausecommand.xml @@ -0,0 +1,26 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="QUEUEPAUSECOMMAND"/>queuepause command (S)</term> + <listitem><para>This parameter specifies the command to be + executed on the server host in order to pause the printer queue.</para> + + <para>This command should be a program or script which takes + a printer name as its only parameter and stops the printer queue, + such that no longer jobs are submitted to the printer.</para> + + <para>This command is not supported by Windows for Workgroups, + but can be issued from the Printers window under Windows 95 + and NT.</para> + + <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name + is put in its place. Otherwise it is placed at the end of the command. + </para> + + <para>Note that it is good practice to include the absolute + path in the command as the PATH may not be available to the + server.</para> + + <para>Default: <emphasis>depends on the setting of <parameter moreinfo="none">printing + </parameter></emphasis></para> + <para>Example: <command moreinfo="none">queuepause command = disable %p</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/queueresumecommand.xml b/docs/docbook/smbdotconf/printing/queueresumecommand.xml new file mode 100644 index 0000000000..7c0d60961a --- /dev/null +++ b/docs/docbook/smbdotconf/printing/queueresumecommand.xml @@ -0,0 +1,31 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="QUEUERESUMECOMMAND"/>queueresume command (S)</term> + <listitem><para>This parameter specifies the command to be + executed on the server host in order to resume the printer queue. It + is the command to undo the behavior that is caused by the + previous parameter (<link linkend="QUEUEPAUSECOMMAND"><parameter moreinfo="none"> + queuepause command</parameter></link>).</para> + + <para>This command should be a program or script which takes + a printer name as its only parameter and resumes the printer queue, + such that queued jobs are resubmitted to the printer.</para> + + <para>This command is not supported by Windows for Workgroups, + but can be issued from the Printers window under Windows 95 + and NT.</para> + + <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name + is put in its place. Otherwise it is placed at the end of the + command.</para> + + <para>Note that it is good practice to include the absolute + path in the command as the PATH may not be available to the + server.</para> + + <para>Default: <emphasis>depends on the setting of <link linkend="PRINTING"><parameter moreinfo="none">printing</parameter></link></emphasis> + </para> + + <para>Example: <command moreinfo="none">queuepause command = enable %p + </command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/showaddprinterwizard.xml b/docs/docbook/smbdotconf/printing/showaddprinterwizard.xml new file mode 100644 index 0000000000..9bf5160ad5 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/showaddprinterwizard.xml @@ -0,0 +1,31 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="SHOWADDPRINTERWIZARD"/>show add printer wizard (G)</term> + <listitem><para>With the introduction of MS-RPC based printing support + for Windows NT/2000 client in Samba 2.2, a "Printers..." folder will + appear on Samba hosts in the share listing. Normally this folder will + contain an icon for the MS Add Printer Wizard (APW). However, it is + possible to disable this feature regardless of the level of privilege + of the connected user.</para> + + <para>Under normal circumstances, the Windows NT/2000 client will + open a handle on the printer server with OpenPrinterEx() asking for + Administrator privileges. If the user does not have administrative + access on the print server (i.e is not root or a member of the + <parameter moreinfo="none">printer admin</parameter> group), the OpenPrinterEx() + call fails and the client makes another open call with a request for + a lower privilege level. This should succeed, however the APW + icon will not be displayed.</para> + + <para>Disabling the <parameter moreinfo="none">show add printer wizard</parameter> + parameter will always cause the OpenPrinterEx() on the server + to fail. Thus the APW icon will never be displayed. <emphasis> + Note :</emphasis>This does not prevent the same user from having + administrative privilege on an individual printer.</para> + + <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter moreinfo="none">addprinter + command</parameter></link>, <link linkend="DELETEPRINTERCOMMAND"> + <parameter moreinfo="none">deleteprinter command</parameter></link>, <link linkend="PRINTERADMIN"><parameter moreinfo="none">printer admin</parameter></link></para> + + <para>Default :<command moreinfo="none">show add printer wizard = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/totalprintjobs.xml b/docs/docbook/smbdotconf/printing/totalprintjobs.xml new file mode 100644 index 0000000000..25784a3c29 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/totalprintjobs.xml @@ -0,0 +1,18 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="TOTALPRINTJOBS"/>total print jobs (G)</term> + <listitem><para>This parameter accepts an integer value which defines + a limit on the maximum number of print jobs that will be accepted + system wide at any given time. If a print job is submitted + by a client which will exceed this number, then <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> will return an + error indicating that no space is available on the server. The + default value of 0 means that no such limit exists. This parameter + can be used to prevent a server from exceeding its capacity and is + designed as a printing throttle. See also + <link linkend="MAXPRINTJOBS"><parameter moreinfo="none">max print jobs</parameter></link>. + </para> + + <para>Default: <command moreinfo="none">total print jobs = 0</command></para> + <para>Example: <command moreinfo="none">total print jobs = 5000</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/printing/useclientdriver.xml b/docs/docbook/smbdotconf/printing/useclientdriver.xml new file mode 100644 index 0000000000..8327d0aaa4 --- /dev/null +++ b/docs/docbook/smbdotconf/printing/useclientdriver.xml @@ -0,0 +1,35 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="USECLIENTDRIVER"/>use client driver (S)</term> + <listitem><para>This parameter applies only to Windows NT/2000 + clients. It has no affect on Windows 95/98/ME clients. When + serving a printer to Windows NT/2000 clients without first installing + a valid printer driver on the Samba host, the client will be required + to install a local printer driver. From this point on, the client + will treat the print as a local printer and not a network printer + connection. This is much the same behavior that will occur + when <command moreinfo="none">disable spoolss = yes</command>. </para> + + <para>The differentiating + factor is that under normal circumstances, the NT/2000 client will + attempt to open the network printer using MS-RPC. The problem is that + because the client considers the printer to be local, it will attempt + to issue the OpenPrinterEx() call requesting access rights associated + with the logged on user. If the user possesses local administator rights + but not root privilegde on the Samba host (often the case), the OpenPrinterEx() + call will fail. The result is that the client will now display an "Access + Denied; Unable to connect" message in the printer queue window (even though + jobs may successfully be printed). </para> + + <para>If this parameter is enabled for a printer, then any attempt + to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped + to PRINTER_ACCESS_USE instead. Thus allowing the OpenPrinterEx() + call to succeed. <emphasis>This parameter MUST not be able enabled + on a print share which has valid print driver installed on the Samba + server.</emphasis></para> + + <para>See also <link linkend="DISABLESPOOLSS">disable spoolss</link> + </para> + + <para>Default: <command moreinfo="none">use client driver = no</command></para> + </listitem> + </samba:parameter> |