17.2 Technical Introduction

Samba's printing support always relies on the installed print subsystem of the UNIX OS it runs on. Samba is a " middleman ." It takes print files from Windows (or other SMB) clients and passes them to the real printing system for further processing, therefore, it needs to communicate with both sides: the Windows print clients and the UNIX printing system. Hence, we must differentiate between the various client OS types, each of which behave differently, as well as the various UNIX print subsystems, which themselves have different features and are accessed differently.

This deals with the traditional way of UNIX printing. The next chapter covers in great detail the more modern Common UNIX Printing System (CUPS).



CUPS users, be warned : do not just jump on to the next chapter. You might miss important information only found here!

It is apparent from postings on the Samba mailing list that print configuration is one of the most problematic aspects of Samba administration today. Many new Samba administrators have the impression that Samba performs some sort of print processing. Rest assured, Samba does not peform any type of print processing. It does not do any form of print filtering.

Samba obtains from its clients a data stream (print job) that it spools to a local spool area. When the entire print job has been received, Samba invokes a local UNIX/Linux print command and passes the spooled file to it. It is up to the local system printing subsystems to correctly process the print job and to submit it to the printer.

17.2.1 Client to Samba Print Job Processing

Successful printing from a Windows client via a Samba print server to a UNIX printer involves six ( potentially seven) stages:

  1. Windows opens a connection to the printer share.

  2. Samba must authenticate the user .

  3. Windows sends a copy of the print file over the network into Samba's spooling area.

  4. Windows closes the connection.

  5. Samba invokes the print command to hand the file over to the UNIX print subsystem's spooling area.

  6. The UNIX print subsystem processes the print job.

  7. The print file may need to be explicitly deleted from the Samba spooling area. This item depends on your print spooler configuration settings.

17.2.2 Printing Related Configuration Parameters

There are a number of configuration parameters to control Samba's printing behavior. Please refer to the man page for smb.conf for an overview of these. As with other parameters, there are Global Level (tagged with a G in the listings) and Service Level ( S ) parameters.

Global Parameters These may not go into individual share definitions. If they go in by error, the testparm utility can discover this (if you run it) and tell you so.

Service Level Parameters These may be specified in the [global] section of smb.conf . In this case they define the default behavior of all individual or service level shares (provided they do not have a different setting defined for the same parameter, thus overriding the global default).

Official Samba-3 HOWTO and Reference Guide
The Official Samba-3 HOWTO and Reference Guide, 2nd Edition
ISBN: 0131882228
EAN: 2147483647
Year: 2005
Pages: 297

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net