Note: Apple CUPS is the version of CUPS that is shipped with macOS and iOS.
For the current version of CUPS that is used on other operating systems, see
https://openprinting.github.io/cups for details.
INTRODUCTION
CUPS is a standards-based, open source printing system developed by Apple Inc.
for macOS® and other UNIX®-like operating systems. CUPS uses the Internet
Printing Protocol (“IPP”) and provides System V and Berkeley command-line
interfaces, a web interface, and a C API to manage printers and print jobs. It
supports printing to both local (parallel, serial, USB) and networked printers,
and printers can be shared from one computer to another, even over the Internet!
Internally, CUPS uses PostScript Printer Description (“PPD”) files to describe
printer capabilities and features and a wide variety of generic and device-
specific programs to convert and print many types of files. Sample drivers are
included with CUPS to support many Dymo, EPSON, HP, Intellitech, OKIDATA, and
Zebra printers. Many more drivers are available online and (in some cases) on
the driver CD-ROM that came with your printer.
CUPS is licensed under the Apache License Version 2.0. See the file
“LICENSE” for more information.
READING THE DOCUMENTATION
Initial documentation to get you started is provided in the root directory of
the CUPS sources:
CHANGES.md: A list of changes in the current major release of CUPS.
CONTRIBUTING.md: Guidelines for contributing to the CUPS project.
CREDITS.md: A list of past contributors to the CUPS project.
DEVELOPING.md: Guidelines for developing code for the CUPS project.
INSTALL.md: Instructions for building and installing CUPS.
LICENSE: The CUPS license agreement (Apache 2.0).
NOTICE: Copyright notices and exceptions to the CUPS license agreement.
README.md: This file.
Once you have installed the software you can access the documentation (and a
bunch of other stuff) online at http://localhost:631/ and using the man
command, for example man cups.
If you’re having trouble getting that far, the documentation is located under
the doc/help and man directories.
Please read the documentation before asking questions.
CUPS includes a web-based administration tool that allows you to manage
printers, classes, and jobs on your server. Open http://localhost:631/admin/
in your browser to access the printer administration tools:
Do not use the hostname for your machine - it will not work with the default
CUPS configuration. To enable administration access on other addresses, check
the Allow Remote Administration box and click on the Change Settings button.
You will be asked for the administration password (root or any other user in the
“sys”, “system”, “root”, “admin”, or “lpadmin” group on your system) when
performing any administrative function.
SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
CUPS currently uses PPD (PostScript Printer Description) files that describe
printer capabilities and driver programs needed for each printer. The
everywhere PPD is used for nearly all modern networks printers sold since
about 2009. For example, the following command creates a print queue for a
printer at address “11.22.33.44”:
The sample drivers provide basic printing capabilities, but generally do not
exercise the full potential of the printers or CUPS. Other drivers provide
greater printing capabilities.
PRINTING FILES
CUPS provides both the System V lp and Berkeley lpr commands for printing:
lp filename
lpr filename
Both the lp and lpr commands support printing options for the driver:
CUPS recognizes many types of images files as well as PDF, PostScript, and text
files, so you can print those files directly rather than through an application.
If you have an application that generates output specifically for your printer
then you need to use the -oraw or -l options:
lp -o raw filename
lpr -l filename
This will prevent the filters from misinterpreting your print file.
CUPS is provided under the terms of the Apache License, Version 2.0 with
exceptions for GPL2/LGPL2 software. A copy of this license can be found in the
file LICENSE. Additional legal information is provided in the file NOTICE.
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
README - Apple CUPS v2.3.6 - 2022-05-25
INTRODUCTION
CUPS is a standards-based, open source printing system developed by Apple Inc. for macOS® and other UNIX®-like operating systems. CUPS uses the Internet Printing Protocol (“IPP”) and provides System V and Berkeley command-line interfaces, a web interface, and a C API to manage printers and print jobs. It supports printing to both local (parallel, serial, USB) and networked printers, and printers can be shared from one computer to another, even over the Internet!
Internally, CUPS uses PostScript Printer Description (“PPD”) files to describe printer capabilities and features and a wide variety of generic and device- specific programs to convert and print many types of files. Sample drivers are included with CUPS to support many Dymo, EPSON, HP, Intellitech, OKIDATA, and Zebra printers. Many more drivers are available online and (in some cases) on the driver CD-ROM that came with your printer.
CUPS is licensed under the Apache License Version 2.0. See the file “LICENSE” for more information.
READING THE DOCUMENTATION
Initial documentation to get you started is provided in the root directory of the CUPS sources:
CHANGES.md
: A list of changes in the current major release of CUPS.CONTRIBUTING.md
: Guidelines for contributing to the CUPS project.CREDITS.md
: A list of past contributors to the CUPS project.DEVELOPING.md
: Guidelines for developing code for the CUPS project.INSTALL.md
: Instructions for building and installing CUPS.LICENSE
: The CUPS license agreement (Apache 2.0).NOTICE
: Copyright notices and exceptions to the CUPS license agreement.README.md
: This file.Once you have installed the software you can access the documentation (and a bunch of other stuff) online at http://localhost:631/ and using the
man
command, for exampleman cups
.If you’re having trouble getting that far, the documentation is located under the
doc/help
andman
directories.Please read the documentation before asking questions.
GETTING SUPPORT AND OTHER RESOURCES
If you have problems, read the documentation first! We also provide two mailing lists which are available at https://lists.cups.org/mailman/listinfo.
See the CUPS web site at https://www.cups.org/ for other resources.
SETTING UP PRINTER QUEUES USING YOUR WEB BROWSER
CUPS includes a web-based administration tool that allows you to manage printers, classes, and jobs on your server. Open http://localhost:631/admin/ in your browser to access the printer administration tools:
Do not use the hostname for your machine - it will not work with the default CUPS configuration. To enable administration access on other addresses, check the
Allow Remote Administration
box and click on theChange Settings
button.You will be asked for the administration password (root or any other user in the “sys”, “system”, “root”, “admin”, or “lpadmin” group on your system) when performing any administrative function.
SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
CUPS currently uses PPD (PostScript Printer Description) files that describe printer capabilities and driver programs needed for each printer. The
everywhere
PPD is used for nearly all modern networks printers sold since about 2009. For example, the following command creates a print queue for a printer at address “11.22.33.44”:CUPS also includes several sample PPD files you can use for “legacy” printers:
You can run the
lpinfo -m
command to list all of the available drivers:Run the
lpinfo -v
command to list the available printers:Then use the correct URI to add the printer using the
lpadmin
command:Current network printers typically use
ipp
oripps
URIS:Older network printers typically use
socket
orlpd
URIs:The sample drivers provide basic printing capabilities, but generally do not exercise the full potential of the printers or CUPS. Other drivers provide greater printing capabilities.
PRINTING FILES
CUPS provides both the System V
lp
and Berkeleylpr
commands for printing:Both the
lp
andlpr
commands support printing options for the driver:CUPS recognizes many types of images files as well as PDF, PostScript, and text files, so you can print those files directly rather than through an application.
If you have an application that generates output specifically for your printer then you need to use the
-oraw
or-l
options:This will prevent the filters from misinterpreting your print file.
LEGAL STUFF
Copyright © 2007-2021 by Apple Inc. Copyright © 1997-2007 by Easy Software Products.
CUPS is provided under the terms of the Apache License, Version 2.0 with exceptions for GPL2/LGPL2 software. A copy of this license can be found in the file
LICENSE
. Additional legal information is provided in the fileNOTICE
.Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.