10.5 Enhanced Printing on Linux Using CUPS

Common UNIX Printing System (CUPS) is the default printing system on most Linux distributions. This section describes how to set up CUPS for printing from Reports Server.

CUPS printing is disabled by default. To enable CUPS printing, set the environment variable REPORTS_CUPS_PRINTING to YES. For more information, see Appendix B, "REPORTS_CUPS_PRINTING".

The primary advantage of CUPS is that it is a standard and modularized printing system that can process numerous data formats on the print server and also supports Internet Printing Protocol (IPP). With this feature, it is possible to directly print PDF files from Reports Server and it also simplifies network printing.

Figure 10-3 shows how Oracle Reports interacts with CUPS.

Figure 10-3 Interaction Between Oracle Reports and CUPS Server

Description of Figure 10-3 follows
Description of "Figure 10-3 Interaction Between Oracle Reports and CUPS Server"

With this configuration, printers must be configured on all the CUPS running on all the machines where Reports Server is running.

Several text files are used to configure CUPS. For more configuration-related information, see the CUPS Software Administrators Manual at http://www.cups.org/doc-1.1/sam.html#CONTENTS.

By default, CUPS does not allow access from other network machines. To configure CUPS to allow access from remote machines, perform the following steps:

  1. Enter the following command to open a CUPS configuration file:

    open /etc/cups/cupsd.conf
  2. Add a Listen instruction, as follows:

    1. Scroll to the bottom of the configuration file where the other Listen instructions are declared.

    2. Copy Listen and paste it above or below the original.

    3. Replace with the Linux server's IP address.

  3. Configure each printer, as follows:

    1. In the configuration file, locate:

      <Location /printers/your_printer_queue>
    2. Comment the instruction Deny From All.

    3. Change Allow from to Allow from All.

    4. Repeat for all printer or fax queues that you wan to make accessible.

  4. Save the configuration file and restart CUPS.

    • To stop CUPS, enter the following command:

      /etc/rc.d/init.d/cups stop
    • To start CUPS, enter the following command:

      /etc/rc.d/init.d/cups start

The Red Hat Advanced Server provides a configuration wizard to help you set up your printers. To use the configuration wizard for this task, perform the following steps:

  1. While logged on as the root user, open a command prompt and enter:


    to display the Printer configuration window.

  2. Select the New tab to launch the Add a new print queue wizard.

  3. Follow the wizard prompts to:

    • Enter a queue name.

    • Select the queue type.

    • Select the printer model.

  4. Review your selections and click Apply to create your new print queue.

  5. Test your printer on CUPS, as follows:

    • Launch a browser on RedHat with the URL http://localhost:631.

    • Select the Printers tab. The printer you just created will be listed.

    • Click Print Test Page to test your printer setup. If the test page does not print, repeat the configuration steps. Ensure that your printer type and model selections are correct.


lpadmin can also be used to add a printer from the command line. Refer to the Linux man page for this command for more details.

10.5.1 Setting Up a Single Server for Printing

The default CUPS configuration is to use localhost as the print server. To make the CUPS use a remote server, you must change the server name in the /etc/cups/client.conf file.

Figure 10-4 illustrates adding printers to a single CUPS server, and configuring all other machines running Reports Server to route their print requests to the remote CUPS server.

Figure 10-4 Routing Print Requests to a Single Remote CUPS Server

Description of Figure 10-4 follows
Description of "Figure 10-4 Routing Print Requests to a Single Remote CUPS Server"

For information about the various other printing models, refer to the CUPS Software Administrators Manual at http://www.cups.org/doc-1.1/sam.html#CONTENTS


When Oracle Reports adds a printer to the CUPS server, it assigns a printer name, which is the name that must be used when referring that printer. Internally, the name is translated to the proper call depending on the device URI used in the configuration.