KEMBAR78
Configuring Print Services | PDF | Areas Of Computer Science | Computing
0% found this document useful (0 votes)
99 views15 pages

Configuring Print Services

This document provides an overview of printing with Linux and the Common UNIX Printing System (CUPS). It discusses how printing works in Linux, the role of PostScript, and introduces CUPS as the default printing system. It then covers installing and configuring CUPS, managing printers through CUPS, and sharing printers over a network.

Uploaded by

84dinesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views15 pages

Configuring Print Services

This document provides an overview of printing with Linux and the Common UNIX Printing System (CUPS). It discusses how printing works in Linux, the role of PostScript, and introduces CUPS as the default printing system. It then covers installing and configuring CUPS, managing printers through CUPS, and sharing printers over a network.

Uploaded by

84dinesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Configuring Printing Services

Setting up your GNU/Linux


system to print

NRCFOSS 1
Scope of this section
• Overview of printing on Linux
• Introduction to the CUPS printing system
• Installing and using CUPS
• About CUPS printer drivers
• Sharing your printer over the network

NRCFOSS 2
Printing on Linux
• Linux & Unix have a long history of printing
• Most printing, traditionally, has been handled through the
Berkley Line Printer Daemon (lpd)
• Over time, as printing technology advanced, Linux based
printing system also became more diverse
• People designed modern printing system to correct major
problems in lpd.
• LPRng, CUPS, OmniPrint are some examples of modern
Linux printing systems
• All printing systems on Linux make use of the excellent
PostScript system called GhostScript
(www.ghostscript.org).

NRCFOSS 3
Role of PostScript in Linux Printing
• Linux printing is more complicated than it seems
• Most printing systems today use a combination of multiple tools
(postscript interpreters, filters, rasterisers etc) to process and print
documents
• The printing system converts PostScript into a raster format
and then converts that into a printer specific language to
send commands to the printer
• Ghostscript is a PostScript interpreter that is most
commonly used on Linux
• Implements an excellent PostScript engine that can take as
inputs formats like JPEG, TIFF, PS & Text and output data in
formats like X Windows output, raster formats and PDF
• Also handles conversion of PS output for non-PS printers;
can also be used a basic, spoolerless printing system

NRCFOSS 4
Printing Systems on Linux
• Berkley Line Printer Daemon (lpd) the oldest
• LPRng are compatible replacements to the Berkley lpd
• CUPS is a very new (comparitively) and modern printing
system that we will use as a base for our discussion here
• Vendor-specific printing systems (like EPS from HP)
• OmniPrint - IBM’s initiative to support a wide variety of
printers using Ghostscript
• Postscript and Ghostscript
• Application specific printing engines (Eg. Gimp-Print)

NRCFOSS 5
Introduction to CUPS (Common
Unix Printing System)
• Was design as a common printing system for
Linux, Unix and compatible systems
• Designed on the IPP/1.1 (Internet Printing
Protocol) standard of the IETF PWG (Printer
Working Group)
• Robust and moders, CUPS can be extended to
support more printers, devices and protocols
• Rich documentation and extensive feature set
• Available on most distributions as the default
printing system

NRCFOSS 6
CUPS Features
• IPP/1.1 Support
• Supports banner pages, authentication, print accounting
and quota
• Supports parallel, serial, usb, IPP and JetDirect-based
printers as also printers shared through other printing
systems such as CUPS, lpd and Windows
• TLS (encryption) support
• Portable command set compatible with LPRng and LPD
• Excellent web-based interface for printer administration,
configuration and management
• PPD-based drivers, rich API and imaging libraries
• Foomatic Printer database (from linuxprinting.org) has
good support for CUPS
NRCFOSS 7
CUPS Architecture

• The scheduler is a server application that handles HTTP


requests - the HTTP server servers print requests as
well as printer / CUPS administration requests
• Filters are what convert input into intermediate formats
and finally to a printer specific format (like texttops)
• Backends are what allow CUPS to communicate to the
actual printer - through a hardware port or the network

NRCFOSS 8
Installing CUPS
• Using binary packages
-CUPS is divided into multiple packages: cupsys,
cupsys-bsd, cupsys-client
-It is also recommended to install the foomatic packages
for additional CUPS printer drivers: cupsomatic-ppd,
foomatic-db, foomatic-filters
• Using source code
- Download source code from: www.cups.org
-Use the supplied configure script to configure and
then compile the package
- Source only ships with the most basic drivers - you can
download the rest from the linuxprinting.org web site
• If installed form binary, cups can be started as:
/etc/init.d/cupsys start
NRCFOSS 9
CUPS Configuration Files
• CUPS is configured through the /etc/cups/cupsd.conf
config file
• The file format is very similar to the Apache configuration
file format
• This file manages the following things:
- Server Identity
- Server Options
- Network and Browsing Options
- Security and Access Control Options
• CUPS will function just fine with the default server options
• Printer configuration is stored in the
/etc/cups/printers.conf file - we will look at this file
in detail

NRCFOSS 10
printers.conf Sample
<Printer myprinter>
Info Laser Printer
Location anokha
DeviceURI parallel:/dev/lp0
State Idle
Accepting Yes
JobSheets none none
PageLimit 0
KLimit 0
</Printer>
NRCFOSS 11
CUPS Drivers
• CUPS drivers are stored in the
/usr/share/cups/model/ directory
• This directory contains PPD (PostScript Printer
Definition) files that define the specific features
and details of a printer
• A new PPD downloaded from the Internet could
be copied here and would be available for use
inside CUPS after it is restarted.
• If the PPD is a foomatic-based PPD, then it will
need the cupsomatic filter stored in the
/usr/lib/cups/filter/ directory.

NRCFOSS 12
Administering CUPS
• Cups can be administered very easily
through its web based administration page
• By default on the localhost has permission
to acess this page
• To configure CUPS, just type:
http://localhost:631/ in your web browser
to open the CUPS management interface
• Some screenshots are provided
separately
NRCFOSS 13
Using CUPS Configured Printers
• To use a printer configured through CUPS, we
can use the lpr command
• Syntax for the lpr command is: lpr -P
<destination> <filename>
• <filename> can be any text, PostScript or
graphic file
• A destination is the name of the printer that you
want to print to. If you want to print to the default
printer, then it is not necessary to give a
destination; the default printer will be
automatically selected

NRCFOSS 14
Sharing Printers
• Sharing printers is very easy with CUPS
• As long as network browsing support is enabled correctly
in the configuration files, the printers on other machines
will be detected automatically
• This simplifies the mapping of printers in a network - you
just have to configure the printer in one machine and as
long as all other machines support and enable the CUPS
browse protocol, the configured printer will automatically
show-up in the network nodes
• On the server where the printer is configured, you may
wish to introduce a separate section to allow only
specific machines to print to the attached printer

NRCFOSS 15

You might also like