From: Michael R Sweet Date: Tue, 23 Feb 2021 02:33:16 +0000 (-0500) Subject: Update README. X-Git-Tag: v2.4b1~261 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56612cfc0b601793fde40089a20116fc4cdedf2f;p=thirdparty%2Fcups.git Update README. --- diff --git a/README.md b/README.md index 6a20b3a112..fb8d364e8c 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,37 @@ -README - CUPS v2.4.0 - 2021-02-16 -================================= +OpenPrinting CUPS v2.4.0 +======================== ![Version](https://img.shields.io/github/v/release/openprinting/cups?include_prereleases) ![Apache 2.0](https://img.shields.io/github/license/openprinting/cups) -[![Build and Test](https://github.com/OpenPrinting/cups/workflows/Build%20and%20Test/badge.svg)](https://github.com/OpenPrinting/cups/actions) +![Build and Test](https://github.com/OpenPrinting/cups/workflows/Build%20and%20Test/badge.svg) -> *Note:* This version of CUPS is being maintained by the OpenPrinting -> organization. It tracks the current Apple CUPS sources and includes common -> changes and bug fixes for the various Linux distributions and other UNIX®-like -> operating systems. - -INTRODUCTION +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! +OpenPrinting CUPS is a standards-based, open source printing system for Linux® +and other Unix®-like operating systems. CUPS supports printing to: + +- [AirPrint™][1] and [IPP Everywhere™][2] printers, +- Network and local (USB) printers with Printer Applications, and +- Network and local (USB) printers with (legacy) PPD-based printer drivers. + +CUPS provides the System V ("lp") and Berkeley ("lpr") command-line interfaces, +a configurable web interface, a C API, and common print filters, drivers, and +backends for printing. The [cups-filters][3] project provides additional +filters and drivers. -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 with an exception to allow +linking against GNU GPL2-only software. See the files `LICENSE` and `NOTICE` +for more information. -CUPS is licensed under the Apache License Version 2.0. See the file -"LICENSE" for more information. +[1]: https://support.apple.com/en-us/HT201311 +[2]: https://www.pwg.org/ipp/everywhere.html +[3]: https://github.com/openprinting/cups-filters -READING THE DOCUMENTATION + +Reading the Documentation ------------------------- Initial documentation to get you started is provided in the root directory of @@ -54,19 +53,19 @@ 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. +*Please read the documentation before asking questions.* -GETTING SUPPORT AND OTHER RESOURCES +Getting Support and Other Resources ----------------------------------- -If you have problems, *read the documentation first!* We also provide two -mailing lists which are available at . - -See the CUPS web site at for other resources. +In addition to the OpenPrinting CUPS home page at +, we provide a mailing list for CUPS users +and developers to ask questions and discuss issues at +. -SETTING UP PRINTER QUEUES USING YOUR WEB BROWSER +Setting Up Printer Queues Using Your Web Browser ------------------------------------------------ CUPS includes a web-based administration tool that allows you to manage @@ -82,75 +81,75 @@ You will be asked for the administration password (root or any other user in the performing any administrative function. -SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE +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": - - lpadmin -p printername -E -v ipp://11.22.33.44/ipp/print -m everywhere - -CUPS also includes several sample PPD files you can use for "legacy" printers: - - Driver | PPD Name - ----------------------------- | ------------------------------ - Dymo Label Printers | drv:///sample.drv/dymo.ppd - Intellitech Intellibar | drv:///sample.drv/intelbar.ppd - EPSON 9-pin Series | drv:///sample.drv/epson9.ppd - EPSON 24-pin Series | drv:///sample.drv/epson24.ppd - Generic PCL Laser Printer | drv:///sample.drv/generpcl.ppd - Generic PostScript Printer | drv:///sample.drv/generic.ppd - HP DeskJet Series | drv:///sample.drv/deskjet.ppd - HP LaserJet Series | drv:///sample.drv/laserjet.ppd - OKIDATA 9-Pin Series | drv:///sample.drv/okidata9.ppd - OKIDATA 24-Pin Series | drv:///sample.drv/okidat24.ppd - Zebra CPCL Label Printer | drv:///sample.drv/zebracpl.ppd - Zebra EPL1 Label Printer | drv:///sample.drv/zebraep1.ppd - Zebra EPL2 Label Printer | drv:///sample.drv/zebraep2.ppd - Zebra ZPL Label Printer | drv:///sample.drv/zebra.ppd +The `lpadmin` command is used to manage printers from the command-line. For +example, the following command creates a print queue called "myprinter" for an +IPP Everywhere printer at address "11.22.33.44": + + lpadmin -p myprinter -E -v "ipp://11.22.33.44/ipp/print" -m everywhere + +The `-p` option specifies the printer name. The `-E` option enables the printer +and accepts new print jobs immediately. The `-v` option specifies the *device +URI* for the printer, which tells CUPS how to communicate with the printer. And +the `-m` option specifies the model (driver) to use, in this case the IPP +Everywhere ("everywhere") driver that is used for AirPrint and IPP Everywhere +printers as well as shared printers and printers supported through Printer +Applications. + +Legacy printers are supported using PPD (PostScript Printer Description) files +that describe printer capabilities and driver programs needed for each printer. +CUPS includes several sample PPD files for common legacy printers: + + Driver | PPD Name + -----------------------------|------------------------------ + Dymo Label Printers | drv:///sample.drv/dymo.ppd + Intellitech Intellibar | drv:///sample.drv/intelbar.ppd + EPSON 9-pin Series | drv:///sample.drv/epson9.ppd + EPSON 24-pin Series | drv:///sample.drv/epson24.ppd + Generic PCL Laser Printer | drv:///sample.drv/generpcl.ppd + Generic PostScript Printer | drv:///sample.drv/generic.ppd + HP DeskJet Series | drv:///sample.drv/deskjet.ppd + HP LaserJet Series | drv:///sample.drv/laserjet.ppd + OKIDATA 9-Pin Series | drv:///sample.drv/okidata9.ppd + OKIDATA 24-Pin Series | drv:///sample.drv/okidat24.ppd + Zebra CPCL Label Printer | drv:///sample.drv/zebracpl.ppd + Zebra EPL1 Label Printer | drv:///sample.drv/zebraep1.ppd + Zebra EPL2 Label Printer | drv:///sample.drv/zebraep2.ppd + Zebra ZPL Label Printer | drv:///sample.drv/zebra.ppd + +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. You can run the `lpinfo -m` command to list all of the available drivers: lpinfo -m -Run the `lpinfo -v` command to list the available printers: +Similarly, the `lpinfo -v` command lists the available printers and their device +URIs: lpinfo -v -Then use the correct URI to add the printer using the `lpadmin` command: - - lpadmin -p printername -E -v device-uri -m ppd-name +Once you know the device URI and driver name, add the printer using the +`lpadmin` command: -Current network printers typically use `ipp` or `ipps` URIS: + lpadmin -p PRINTER-NAME -E -v "DEVICE-URI" -m DRIVER-NAME - lpadmin -p printername -E -v ipp://11.22.33.44/ipp/print -m everywhere - lpadmin -p printername -E -v ipps://11.22.33.44/ipp/print -m everywhere -Older network printers typically use `socket` or `lpd` URIs: - - lpadmin -p printername -E -v socket://11.22.33.44 -m ppd-name - lpadmin -p printername -E -v lpd://11.22.33.44/ -m ppd-name - -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 +Printing Files -------------- CUPS provides both the System V `lp` and Berkeley `lpr` commands for printing: - lp filename - lpr filename + lp FILENAME + lpr FILENAME -Both the `lp` and `lpr` commands support printing options for the driver: +Both the `lp` and `lpr` commands support printing options: - lp -o media=A4 -o resolution=600dpi filename - lpr -o media=A4 -o resolution=600dpi filename + lp -o media=A4 -o resolution=600dpi FILENAME + lpr -o media=A4 -o resolution=600dpi FILENAME 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. @@ -158,17 +157,19 @@ 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 + lp -o raw FILENAME + lpr -l FILENAME This will prevent the filters from misinterpreting your print file. -LEGAL STUFF +Legal Stuff ----------- -Copyright © 2020-2021 by Michael R Sweet +Copyright © 2020-2021 by OpenPrinting + Copyright © 2007-2020 by Apple Inc. + Copyright © 1997-2007 by Easy Software Products. CUPS is provided under the terms of the Apache License, Version 2.0 with