JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
System Administration Guide: Printing
search filter icon
search icon

Document Information


1.  Introduction to Printing in the Oracle Solaris Operating System

What's New in Printing?

Privilege Requirements for Using Print Commands

PPD File Management Utility

Overview of the Oracle Solaris Printing Architecture

Available Printing Tools and Services

Implementation of the Open Standard Print API

Print Client Commands

Definition of a Print Server and a Print Client

Description of the Internet Printing Protocol

Description of the RFC-1179 Printing Protocol

IPP Compared to the RFC-1179 Protocol

Description of the SMB Protocol

What Is Samba?

Using Printing Protocols in the Oracle Solaris Release

Determining Which Printing Protocol to Use

Selecting the Client-To-Server Network Printing Protocol

Printer URI Formats That Are Supported

Selecting the Server-To-Printer Network Printing Protocol

Description of Solaris Print Manager

Description of the LP Print Service

The LP Print Client-Server Process

Using Print Servers

Using Print Clients

Print Client Process Used by the LP Print Service

How Local Printing Works

How the LP Print Service Administers Files and Schedules Local Print Requests

How Remote Printing Works

Where to Find Printing Tasks

2.  Planning for Printing (Tasks)

3.  Setting Up Network Printing Services (Tasks)

4.  Setting Up and Administering Printers by Using Solaris Print Manager (Tasks)

5.  Setting Up Printers by Using LP Print Commands (Tasks)

6.  Administering Printers by Using LP Print Commands (Tasks)

7.  Customizing LP Printing Services and Printers (Tasks)

8.  Administering the LP Print Scheduler and Managing Print Requests (Tasks)

9.  Administering Printers on a Network (Tasks)

10.  Administering Character Sets, Filters, Forms, and Fonts (Tasks)

11.  Administering Printers by Using the PPD File Management Utility (Tasks)

12.  Printing in the Oracle Solaris Operating System (Reference)

13.  Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)

A.  Using the Internet Printing Protocol



Using Printing Protocols in the Oracle Solaris Release

The printing architecture in the Oracle Solaris OS uses network printing protocols to communicate with print services in following ways:

The Oracle Solaris software provides applications, toolkits, printing commands, and an application programming interface that interacts with print services. This API is called the PAPI. The PAPI consists of a front-end API implementation that dynamically loads back end print service or protocol modules that communicate directly with print services. These print services contain the print job or print queue that is being acted upon. Client-to-server communications include the RFC-1179 and IPP protocols, as well as support for communicating with a local LP print service. For server-to-printer communications, the network printing protocol support enables the print service to transmit print jobs directly to network-attached printers.

Server-to-printer communications for the LP print service and Solaris Print Manager include support for the following network protocols:

Determining Which Printing Protocol to Use

The print System uses two over-the-wire protocols for sending print requests from a print client to the print server. The following table describes the printing protocols that can be used for printing in the Solaris OS.

Table 1-1 Supported Printing Protocols

Network Printing Protocol
Server-Side Support?
Client-Side Support?
For More Information
Internet Printing Protocol (IPP)
Server-side support for the IPP listening service is available, starting with the Oracle Solaris 10 release.
Supported in some Oracle Solaris releases.
RFC-1179 protocol
Supported in all Oracle Solaris releases.
Supported in all Oracle Solaris releases.
SMB protocol, through Samba

Note - The SMB protocol, through Samba, is an implementation that enables interoperability between Linux and UNIX servers, and Windows-based clients.

Supported, starting with the Solaris 9 OS.
Supported, starting with the Solaris 9 OS.

Selecting the Client-To-Server Network Printing Protocol

Applications, toolkits, and printing commands select the protocol to use for client-to-server communications, based on the value of the printer-uri-supported attribute that is found in the printers.conf database entry for the specified print queue. This value is automatically generated and populated when access to a remote print queue is configured by using the lpadmin command or when an application uses the interface that is being referenced to perform an action or actions.

For example, when printing a document while using Mozilla, the path that is followed to gain access to the printer is:

Mozilla -> lp -> PAPI

For more information, see the printers.conf(4)

The lpadmin command generates printer-uri-supported values using the following format:


To determine which URI to use in the printers.conf database, the lpadmin command probes the remote print service. If the remote print service supports IPP, this protocol is preferred over the BSD protocol. However, you can override automatic protocol selection by specifying the -soption with the lpadmin command, then supplying a different URI. For more information, see the Printer URI Formats That Are Supported.

The LP print subsystem uses the BSD print protocol, also referred to as the RFC-1179 protocol, and raw Transmission Control Protocol (TCP), the basic communication language or protocol of the Internet, to communicate with the printer. If you are setting up a printer that includes printer vendor documentation, information about which protocol to use is provided. The TCP protocol is the protocol that is most often used for printing on the network.

Printer URI Formats That Are Supported

The following table describes supported printer URI formats:

Table 1-2 Supported URI Formats

URI Format

This printer URI scheme can only be used to contact a local LP service to access the print queue that is specified in the URI.


Use this URI format to contact local or remote print services for the purpose of accessing a print queue on the host that specified in the URI. An optional #extensions can be specified, for example, #solaris. When #solaris is specified, the host processes Solaris extensions to the RFC-1179 protocol during print job submissions.

Selecting the Server-To-Printer Network Printing Protocol

Network-attached printers often support more than one method of communicating with a print service. The most common method of communicating with the print service is through a raw TCP connection to a well-known port on the device. Other methods of communication include the RFC-1179 and IPP network protocols. You can select the server-to-printer communication protocol when adding a new print queue in one of following ways:

When determining which protocol to use for server-to-printer communication, consult the vendor printer documentation for more specific information. Documentation includes information such as TCP port numbers, RFC-1179 printer names, and the IPP printer URIs that are supported by the device. In most instances, a raw TCP socket communication is likely to provide the most reliable results.

Also, note that due to differences between printing services on UNIX and Windows platforms, Windows hosted printers should be configured as network-attached printers and administered as such. These types of printers require the creation of a print queue if you are using them on a Oracle Solaris system. These printers might also use the SMB protocol for server-to-printer communication. For more information about the SMB protocol, see Description of the SMB Protocol.

For more information about setting up printers and configuring print queues, see Setting Up Printers by Using Solaris Print Manager (Task Map) and Setting Up Printers by Using LP Print Commands (Task Map).