summaryrefslogtreecommitdiff
path: root/docs/docbook/smbdotconf/printing
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docbook/smbdotconf/printing')
-rw-r--r--docs/docbook/smbdotconf/printing/addprintercommand.xml63
-rw-r--r--docs/docbook/smbdotconf/printing/defaultdevmode.xml37
-rw-r--r--docs/docbook/smbdotconf/printing/deleteprintercommand.xml38
-rw-r--r--docs/docbook/smbdotconf/printing/enumportscommand.xml25
-rw-r--r--docs/docbook/smbdotconf/printing/lppausecommand.xml43
-rw-r--r--docs/docbook/smbdotconf/printing/lpresumecommand.xml39
-rw-r--r--docs/docbook/smbdotconf/printing/os2drivermap.xml23
-rw-r--r--docs/docbook/smbdotconf/printing/printer.xml9
-rw-r--r--docs/docbook/smbdotconf/printing/printername.xml18
-rw-r--r--docs/docbook/smbdotconf/printing/printing.xml31
-rw-r--r--docs/docbook/smbdotconf/printing/queuepausecommand.xml29
-rw-r--r--docs/docbook/smbdotconf/printing/queueresumecommand.xml33
-rw-r--r--docs/docbook/smbdotconf/printing/showaddprinterwizard.xml35
13 files changed, 423 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..63b3f567b1
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/addprintercommand.xml
@@ -0,0 +1,63 @@
+<samba:parameter name="addprinter command"
+ context="G"
+ advanced="1" developer="1"
+ xmlns:samba="http://samba.org/common">
+<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
+ &quot;Printers...&quot; 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 &quot;Windows 9x
+ driver location&quot; 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 &quot;add printer command&quot; 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..1f14b21f5f
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/defaultdevmode.xml
@@ -0,0 +1,37 @@
+<samba:parameter name="default devmode"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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..864f75168d
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/deleteprintercommand.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="deleteprinter command"
+ context="G"
+ advanced="1" developer="1"
+ xmlns:samba="http://samba.org/common">
+<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">
+ &quot;printer name&quot;</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/enumportscommand.xml b/docs/docbook/smbdotconf/printing/enumportscommand.xml
new file mode 100644
index 0000000000..7cdf0cc370
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/enumportscommand.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="enumports command"
+ context="G"
+ advanced="1" developer="1"
+ xmlns:samba="http://samba.org/common">
+<listitem>
+ <para>The concept of a &quot;port&quot; 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>&quot;Samba Printer Port&quot;</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>&quot;Samba Printer Port&quot;</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/lppausecommand.xml b/docs/docbook/smbdotconf/printing/lppausecommand.xml
new file mode 100644
index 0000000000..15c5aca990
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/lppausecommand.xml
@@ -0,0 +1,43 @@
+<samba:parameter name="lppause command"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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/lpresumecommand.xml b/docs/docbook/smbdotconf/printing/lpresumecommand.xml
new file mode 100644
index 0000000000..ae3241bfa9
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/lpresumecommand.xml
@@ -0,0 +1,39 @@
+<samba:parameter name="lpresume command"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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/os2drivermap.xml b/docs/docbook/smbdotconf/printing/os2drivermap.xml
new file mode 100644
index 0000000000..478031c7b9
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/os2drivermap.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="os2 driver map"
+ context="G"
+ advanced="1" developer="1"
+ xmlns:samba="http://samba.org/common">
+<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>&lt;nt driver name&gt; = &lt;os2 driver name&gt;.&lt;device name&gt;</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 = &lt;empty string&gt;</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..0a9611ee03
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/printer.xml
@@ -0,0 +1,9 @@
+<samba:parameter name="printer"
+ context="S"
+ hide="1"
+ xmlns:samba="http://samba.org/common">
+<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..9f76a673ad
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/printername.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="printer name"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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..633666eea7
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/printing.xml
@@ -0,0 +1,31 @@
+<samba:parameter name="printing"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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 <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> 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/queuepausecommand.xml b/docs/docbook/smbdotconf/printing/queuepausecommand.xml
new file mode 100644
index 0000000000..13741a0e7f
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/queuepausecommand.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="queuepause command"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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..23f6702192
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/queueresumecommand.xml
@@ -0,0 +1,33 @@
+<samba:parameter name="queueresume command"
+ context="S"
+ print="1"
+ xmlns:samba="http://samba.org/common">
+<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..5a0d5c8877
--- /dev/null
+++ b/docs/docbook/smbdotconf/printing/showaddprinterwizard.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="show add printer wizard"
+ context="G"
+ advanced="1" developer="1"
+ xmlns:samba="http://samba.org/common">
+<listitem>
+ <para>With the introduction of MS-RPC based printing support
+ for Windows NT/2000 client in Samba 2.2, a &quot;Printers...&quot; 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>