System Administration Guide: Advanced Administration

Chapter 3 Planning Printers on Your Network (Overview)

This chapter provides information about distributing printers across your network to gain the best efficiency and about planning for printer setup.

This is a list of overview information in this chapter.

Where to Find Printer Tasks

Printer Task 

For More Information 

Set up printers with Solaris Print Manager and the lp commands 

Chapter 4, Setting Up Printers (Tasks)

Administer printers with the lp commands after they are setup 

Chapter 5, Administering Printers (Tasks)

Manage character sets, filters, forms, and fonts 

Chapter 6, Managing Character Sets, Filters, Forms, and Fonts (Tasks)

Customize the LP print service 

Chapter 7, Customizing the LP Print Service (Tasks)

Distributing Printers on the Network

The goal of setting up printers on a network is to give users access to one or more printers. As an administrator, you must determine whether each printer would be best used if it is dedicated to one system or available to many systems. In a network environment, it usually works best to distribute your printers on several print servers. The advantage of setting up several print servers is that when one print server has a problem, you can route print requests to other print servers.

If you use a centralized print configuration, you can still connect printers to users' systems for convenience or for improved response. A printer that is connected to a user's system is still available to other systems on the network.

The following figure shows an example of how you can have a centralized print configuration and still connect printers to users' systems.

Figure 3–1 How to Distribute Printers on a Network

Graphic

Assigning Print Servers and Print Clients

You must decide which systems will have local printers physically attached to them, and which will systems use printers on other systems. A system that has a local printer attached to it and makes the printer available to other systems on the network is called a print server. A system that sends its print requests to a print server is called a print client.

The LP print service software provides printing services in the Solaris environment. Besides physically connecting a printer to a system, you must define the printer characteristics to the LP print service and make the system a print server. Once you have print servers set up, you can set up other systems as print clients.

Print servers and print clients can run different versions of the Solaris release and different version of the UNIX operating system. Print clients running the Solaris 9 release and compatible versions can print to print servers running an lpd-based print service, such as the SunOS 4.1, BSD UNIX, and Linux releases. In addition, print clients running an lpd-based print service can print to print servers running the Solaris 9 release and compatible versions.

The following figure shows a print configuration on a network with systems running the Solaris release and an lpd-based print service. For details on how Solaris printing works in heterogeneous environments, see How Remote Printing Works.

Figure 3–2 Solaris and lpd-Based Systems Print Configuration

Graphic

Print Server Requirements and Recommendations

You can attach a printer to a standalone system or to any system on the network. Any networked system with a printer can be a print server, as long as the system has adequate resources to manage the printing load.

Spooling Space

Spooling space is the amount of disk space that is used to store and process requests in the print queue. Spooling space is the single most important factor to consider when deciding which systems to designate as print servers. When users submit files for printing, the files are stored in the /var/spool/lp directory until they have been printed. The size of the /var directory depends on the size of the disk and how the disk is partitioned. Spooling space can be allocated in the /var directory on the print server, or mounted from a file server and accessed over the network.


Note –

If /var is not created as a separate file system, the /var directory uses space in the root (/) file system, which is likely to be insufficient on a print server.


Disk Space

When evaluating systems as possible print servers, consider their available disk space. A large spool directory can consume 600 Mbytes of disk space. Look at the size and division of disk space on systems that can be designated as print servers.

Also, carefully evaluate the printing needs and use patterns of print client systems. If users in a small group typically print only short email messages, (simple ASCII files without sophisticated formatting requirements), a print server with 20 to 25 Mbytes of disk space allocated to the /var directory is probably sufficient. If, however, many print client users are printing large documents or bit-mapped or raster images, they will likely fill up the spooling space quite frequently. When users cannot queue their jobs for printing, work flow is interrupted. Requests for more spooling space can force you to either add disk space for spooling or designate a different system as the print server.

If the print server has a /var directory that resides in a small partition, and if a large amount of disk space is available elsewhere, you can use that space as spooling space by mounting it on the /var directory on the print server. For information about mounting file systems and editing the vfstab file, see “Mounting and Unmounting File Systems (Tasks)” in System Administration Guide: Basic Administration.

Memory

The Solaris environment requires a minimum of 64 Mbytes of memory to run. A print server does not require additional memory. However, you might find that more memory improves performance in filtering print requests.

Swap Space

The swap space allocation on the print server should be sufficient to handle LP print service requirements. For information about how to increase swap space, see “Configuring Additional Swap Space (Tasks)” in System Administration Guide: Basic Administration.

Hard Disk

For optimal performance, the print server should have a hard disk and a local /var directory. You should mount spooling space for a print server on a local hard disk. If a print server has its own hard disk and a local /var directory, printing is much faster, and you can more accurately predict the time needed to process print requests.

Planning for Printer Setup

This section provides an overview of planning for printing in the Solaris environment that includes:

Setting Definitions for Printers

Establishing definitions for the printers on your network is an ongoing task that lets you provide a more effective print environment for users. For example, you can assign parameters for all your site's printers to help users find where a printer is located, or you can define a class of printers to provide the fastest turnaround for print requests.

The lpadmin command lets you set all of the print definitions, while Solaris Print Manager lets you set only some of them when you install or modify a printer. The following table lists the print definitions and shows whether you can assign the definition with Solaris Print Manager.

Table 3–1 Print Definitions Set With Solaris Print Manager

Print Definition 

Can You Set It With Solaris Print Manager? 

Printer name

Yes 

Printer description

Yes 

Printer port

Yes 

Printer type

Yes 

File contents

Yes, but with less functionality than the lpadmin command

Fault notification

Yes, but with less functionality than the lpadmin command

Default printer destination

Yes 

Printing banner pages

Yes, but with less functionality than the lpadmin command

Limiting user access to a printer

Yes, but with less functionality than the lpadmin command

Printer class

No 

Fault recovery

No 

Printer Name

When adding a printer to a system, you specify a printer name for the printer. A printer name must be:

Establish a naming convention that works for your site. For example, if you have different types of printers on the network, including the printer type as part of the printer name can help users choose an appropriate printer. For instance, you could identify PostScriptTM printers with the letters PS. If, however, all of the printers at your site are PostScript printers, you would not need to include the initials PS as part of the printer name.

Printer Description

You can assign a description to a printer by using the lpadmin -D command or Solaris Print Manager. The printer's description should contain information to help users identify the printer. You might include the room number where the printer is located, the type of printer, the manufacturer, or the name of the person to call if there are printing problems.

Users can look at a printer description by using the following command:


$ lpstat -D -p printer-name

Printer Port

When you install a printer or later change its setup, you can specify the device, or the printer port, to which the printer is connected, by using Solaris Print Manager or the lpadmin -p printer-name -v device-name command.

Most systems have two serial ports and a parallel port or USB ports. Unless you add ports, you cannot directly connect more than two serial printers and a parallel or two USB printers to one system.

You can select the following printer port types with Solaris Print Manager. These options give you as much flexibility as the lpadmin command.

Printer Port Type 

Corresponding Device Name Options 

Serial 

/dev/term/a

Serial 

/dev/term/b

Parallel 

/dev/printers/0 —> /dev/ecpp0

USB 

/dev/printers/[1–9]

Specify any port name that the print server recognizes 

Other

The LP print service initializes the printer port using the settings from the standard printer interface program. For more information about printer interface programs, see Managing Print Filters. If you have a parallel printer or a serial printer for which the default settings do not work, see Adjusting Printer Port Characteristics for information about customizing the port settings.


x86 only –

If you use multiple ports on an IA based system, only the first port is enabled by default. The second and any subsequent ports are disabled by default. To use more than one port, you must manually edit the device driver port configuration file for each additional asy (serial) port or lp (parallel) port. The pathnames for the IA port configuration files are:

/platform/i86pc/kernel/drv/asy.conf

/platform/i86pc/kernel/drv/lp.conf


Printer Type

The printer type is a generic name for a type of printer. It identifies the terminfo database entry that contains various control sequences for the printer. By convention, printer type is usually derived from the manufacturer's model name. For example, the printer type name for the DECwriterTM printer is decwriter. However, the common printer type PS does not follow this convention. PS is used as the printer type for many models of PostScriptTM printers, such as Apple LaserWriter®I and Apple LaserWriterII printers.

You can specify the printer type by using the lpadmin -T command or Solaris Print Manager.

Solaris Print Manager lets you select a printer type from a menu or choose Other and specify any printer type in the terminfo database. This provides you as much capability as the lpadmin command.

Printer Names in the terminfo Database

Information about each printer type is stored in the terminfo database (/usr/share/lib/terminfo). This information includes the printer capabilities and initialization control data. The printer you install must correspond to an entry in the terminfo database.


$ pwd
/usr/share/lib/terminfo
$ ls
1  3  5  7  9  B  H  P  a  c  e  g  i  k  m  o  q  s  u  w  y
2  4  6  8  A  G  M  S  b  d  f  h  j  l  n  p  r  t  v  x  z
$ 

Each subdirectory contains compiled database entries for terminals or printers. The entries are organized by the first letter of the printer or terminal type. For example, if you have an Epson® printer, look in the /usr/share/lib/terminfo/e directory to find your particular model of Epson printer.


$ cd /usr/share/lib/terminfo/e
$ ls
emots           ep2500+high   ep48            ergo4000      exidy2500
env230          ep2500+low    epson2500       esprit
envision230     ep40          epson2500-80    ethernet
ep2500+basic    ep4000        epson2500-hi    ex3000
ep2500+color    ep4080        epson2500-hi80  exidy
$ 

The entries for Epson printers are included in the preceding example.

If you have a NEC® printer, look in the /usr/share/lib/terminfo/n directory for your NEC printer model.


$ cd /usr/share/lib/terminfo/n
$ ls
ncr7900        ncr7900iv      netronics      network        nuc
ncr7900-na     ncr7901        netty          netx           nucterm
ncr7900i       nec            netty-Tabs     newhp
ncr7900i-na    net            netty-vi       newhpkeyboard
$ 

The entry in this directory for NEC is included in the preceding example.

Selecting a Printer Type

For a local PostScript printer, use a printer type of either PostScript (PS) or Reverse PostScript (PSR). If your printer supports PostScript, choose PS or PSR even if the specific printer type is listed in the terminfo database.

If your PostScript printer prints pages face up, documents appear to be printed backwards—the first page is at the bottom of the stack and the last page is on the top. If you specify the printer's type as PSR, the LP print service reverses the order of the pages before sending them to the printer. The last page is printed first, and the pages are stacked in forward order. However, the LP print service can reliably change the page order only for PostScript files that conform to the Adobe® Document Structuring Conventions in Appendix C of the PostScript Language Reference Manual (written by Adobe Systems Incorporated, and published by Addison-Wesley, 1990).

If a printer can emulate more than one kind of printer, you can assign it several types by using the lpadmin -T command. If you specify more than one printer type, the LP print service uses the type that is appropriate for each print request.

You might not find the printer type in the appropriate terminfo directory. The type of printer is not necessarily linked to the manufacturer's name on the printer. For example, for any type of PostScript printer, you can use the PS or PSR entry (found in the /usr/share/lib/terminfo/P directory) instead of an entry specific to manufacturer or product names.

If you have an unusual type of printer, you might need to try different entries before you can determine whether a particular terminfo entry works for your model of printer. If possible, find an entry in the terminfo database that works for your printer. It will be much easier than trying to create an entry. If you have to create your own entry, Adding a terminfo Entry for an Unsupported Printer contains some useful tips.

Selecting a File Content Type

Print filters convert the content type of a file to a content type that is acceptable to the destination printer. The file content type tells the LP print service the type of file contents that can be printed directly, without filtering. To print without filtering, the necessary fonts must also be available in the printer. (You must set up and use filtering for other types of files.)

You can specify the file content type for a printer by using the lpadmin -I command or Solaris Print Manager. With Solaris Print Manager, you can select a file content type from a menu. Not all available file content types are listed on the menu. You must use the lpadmin command to specify file content types that are not included on the Solaris Print Manager menu.

Most printers can print the following types of files directly:

When submitting a file for printing, the user can indicate the content type of the file (lp -T content-type). If no file content type is supplied when the request is submitted, the LP server looks at the first file in the request to determine the content type. If the file begins with ^D%! or %!, the request is considered to contain PostScriptTM data. Otherwise, the request is assumed to contain simple (ASCII) text. The LP print service uses the file content type to determine which filters to use to convert the file contents into a type the printer can handle.

Solaris Print Manager provides a list of file content types from which you can choose when you install or modify a local printer. The choices are translated to the names that the LP print service uses. The following table describes the file content types you can choose with Solaris Print Manager.

Table 3–2 Choosing File Content Type With Solaris Print Manager

File Contents Choice 

LP Print Service Name 

Description 

PostScript 

postscript

PostScript files do not require filtering.  

ASCII 

simple

ASCII files do not require filtering. 

Both PostScript and ASCII 

simple, postscript

PostScript files and ASCII files do not require filtering. 

None 

""

All files require filtering, except those matching the printer's type. 

Any 

any

No filtering required. If the printer cannot handle a file content type directly, the file will not be printed. 

Choose the file content type that best matches the printer's capabilities. PostScript (which means filtering is not needed for PostScript files) is the default choice in Solaris Print Manager and is probably correct most of the time.

Frequently Used Printers

This section provides the printer type and file content type for the printers most commonly used with Solaris software. Although not shown, many of these printers can also directly print files with simple content type.

If you have a PostScript printer, use a printer type of PS or PSR and a content type of postscript. PSR reverses the pagination and prints the banner page last.

The following table lists additional non-PostScript printers and shows the printer type to use for configuring each printer. For all these printers, the file content type is simple.


Note –

Sun Microsystems does not supply filtering software for the printers listed in the following table, among others. However, you can use unsupported printers if you supply filtering or if the printer can directly print the file content type. If you have questions about any printer for which Sun Microsystems does not supply filters, contact the printer manufacturer.


Table 3–3 Some Non-PostScript Printers for Which Sun Does Not Supply Filters

Printer 

Printer Type 

Daisy 

daisy

Datagraphix 

datagraphix

DEC LA100 

la100

DEC LN03 

ln03

DECwriter 

decwriter

Diablo 

diablo

 

diablo-m8

Epson 2500 variations 

epson2500

 

epson2500-80

 

epson2500-hi

 

epson2500-hi80

Hewlett-Packard HPCL printer 

hplaser

IBM Proprinter 

ibmproprinter

If you want to set up a printer that is not in the terminfo database, see How to Add a terminfo Entry for an Unsupported Printer.