]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Update README.
authorMichael R Sweet <msweet@msweet.org>
Tue, 23 Feb 2021 02:33:16 +0000 (21:33 -0500)
committerMichael R Sweet <msweet@msweet.org>
Tue, 23 Feb 2021 02:33:16 +0000 (21:33 -0500)
README.md

index 6a20b3a112d47542ccc56f4577e3ec8fdce9fb95..fb8d364e8cb9d079f5a9d7799ca1870ba298aff4 100644 (file)
--- 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 <https://lists.cups.org/mailman/listinfo>.
-
-See the CUPS web site at <https://www.cups.org/> for other resources.
+In addition to the OpenPrinting CUPS home page at
+<https://openprinting.github.io/cups>, we provide a mailing list for CUPS users
+and developers to ask questions and discuss issues at
+<https://linuxfoundation.groups.io/g/cups>.
 
 
-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