Some people would claim that printing should take a back seat to file serving or authentication services, but Samba proves that its support for the Windows printing model is not second-rate. We have shown that Samba is able to export Unix printers to Windows clients and help enable Unix clients to print to Windows print servers. And once Samba is configured for central driver management and p-n-p, only a trained eye can detect the differences between a Samba print server and a Windows one from a client's perspective.
Table 7-5. smb.conf printing-related options
Parameter | Value | Description | Default | Scope |
---|
add printer command | string | External script called by Samba upon receiving an AddPrinter( ) or SetPrinter( ) request from a client. | None | Global |
cups options | string | List of comma-separated options to be passed onto the CUPS library when printing a document. | None | Global |
cups server | string | Name or IP address of the host running the cupsd daemon. | See CUPS client.conf | Global |
default devmode | boolean | Instructs smbd to generate a generic DeviceMode for the print share. | no | Share |
delete printer command | string | External script called by Samba upon receiving a request to remove a printer from the server. | None | Global |
disable spoolss | boolean | Determines whether Samba should support the RPC printing protocol used by Windows NT-based client. | no | Global |
force printername | boolean | Determines whether Samba should disallow storing the printer name as a separate attributer separate from the share name. | no | Share |
load printers | boolean | Determines whether smbd should create print services for all entries in the printcap name file when starting, assuming that a valid [printers] share has been defined. | yes | Global |
lpq cache time | integer | Integer value representing the time in seconds that a queue cache tdb should be considered valid. | 30 | Share |
max print jobs | integer | Places an upper limit on the number of jobs that are allowed in a the print queue at any given time. | 0 | Share |
max reported print jobs | integer | Places an upper limit on the number of jobs in a queue that are reported to clients at any given time. | 0 | Share |
min print space | integer | An integer value defining the amount of free space in kilobytes that must be present in order for Samba to accept a new print job for this queue. | 0 | Share |
path | string | When used in the context of a print share, this parameter defines the directory used to store jobs as they are being spooled from clients. | /tmp | Share |
print ok | boolean | Defines the service as being a print share. | no | Share |
printcap cache time | integer | Integer value specifying the interval in seconds used to poll the printcap name file for new or deleted printer entries. | 750 | Global |
printcap name | string | Defines the file or service used to obtain a list of valid printers on the system. | Determined at compile time | Global |
printer name | string | The name used to derive the value for the %p printing variable. | %S | Share |
printing | enum | Defines the type of printing used for a specific file share. The available printing types are SYSV, AIX, HPUX, BSD, QNX, PLP, LPRNG, CUPS. | Determined at compile time | Share |
use client driver | boolean | Determines whether Samba should map requests for administrative access to a printer to a lesser privilege value. | no | Share |