1README - CUPS v2.3.3 - 2020-04-24 2================================= 3 4INTRODUCTION 5------------ 6 7CUPS is a standards-based, open source printing system developed by Apple Inc. 8for macOS® and other UNIX®-like operating systems. CUPS uses the Internet 9Printing Protocol ("IPP") and provides System V and Berkeley command-line 10interfaces, a web interface, and a C API to manage printers and print jobs. It 11supports printing to both local (parallel, serial, USB) and networked printers, 12and printers can be shared from one computer to another, even over the Internet! 13 14Internally, CUPS uses PostScript Printer Description ("PPD") files to describe 15printer capabilities and features and a wide variety of generic and device- 16specific programs to convert and print many types of files. Sample drivers are 17included with CUPS to support many Dymo, EPSON, HP, Intellitech, OKIDATA, and 18Zebra printers. Many more drivers are available online and (in some cases) on 19the driver CD-ROM that came with your printer. 20 21CUPS is licensed under the Apache License Version 2.0. See the file 22"LICENSE" for more information. 23 24 25READING THE DOCUMENTATION 26------------------------- 27 28Initial documentation to get you started is provided in the root directory of 29the CUPS sources: 30 31- `CHANGES.md`: A list of changes in the current major release of CUPS. 32- `CONTRIBUTING.md`: Guidelines for contributing to the CUPS project. 33- `CREDITS.md`: A list of past contributors to the CUPS project. 34- `DEVELOPING.md`: Guidelines for developing code for the CUPS project. 35- `INSTALL.md`: Instructions for building and installing CUPS. 36- `LICENSE`: The CUPS license agreement (Apache 2.0). 37- `NOTICE`: Copyright notices and exceptions to the CUPS license agreement. 38- `README.md`: This file. 39 40Once you have installed the software you can access the documentation (and a 41bunch of other stuff) online at <http://localhost:631/> and using the `man` 42command, for example `man cups`. 43 44If you're having trouble getting that far, the documentation is located under 45the `doc/help` and `man` directories. 46 47Please read the documentation before asking questions. 48 49 50GETTING SUPPORT AND OTHER RESOURCES 51----------------------------------- 52 53If you have problems, *read the documentation first!* We also provide two 54mailing lists which are available at <https://lists.cups.org/mailman/listinfo>. 55 56See the CUPS web site at <https://www.cups.org/> for other resources. 57 58 59SETTING UP PRINTER QUEUES USING YOUR WEB BROWSER 60------------------------------------------------ 61 62CUPS includes a web-based administration tool that allows you to manage 63printers, classes, and jobs on your server. Open <http://localhost:631/admin/> 64in your browser to access the printer administration tools: 65 66*Do not* use the hostname for your machine - it will not work with the default 67CUPS configuration. To enable administration access on other addresses, check 68the `Allow Remote Administration` box and click on the `Change Settings` button. 69 70You will be asked for the administration password (root or any other user in the 71"sys", "system", "root", "admin", or "lpadmin" group on your system) when 72performing any administrative function. 73 74 75SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE 76----------------------------------------------- 77 78CUPS currently uses PPD (PostScript Printer Description) files that describe 79printer capabilities and driver programs needed for each printer. The 80`everywhere` PPD is used for nearly all modern networks printers sold since 81about 2009. For example, the following command creates a print queue for a 82printer at address "11.22.33.44": 83 84 lpadmin -p printername -E -v ipp://11.22.33.44/ipp/print -m everywhere 85 86CUPS also includes several sample PPD files you can use for "legacy" printers: 87 88 Driver | PPD Name 89 ----------------------------- | ------------------------------ 90 Dymo Label Printers | drv:///sample.drv/dymo.ppd 91 Intellitech Intellibar | drv:///sample.drv/intelbar.ppd 92 EPSON 9-pin Series | drv:///sample.drv/epson9.ppd 93 EPSON 24-pin Series | drv:///sample.drv/epson24.ppd 94 Generic PCL Laser Printer | drv:///sample.drv/generpcl.ppd 95 Generic PostScript Printer | drv:///sample.drv/generic.ppd 96 HP DeskJet Series | drv:///sample.drv/deskjet.ppd 97 HP LaserJet Series | drv:///sample.drv/laserjet.ppd 98 OKIDATA 9-Pin Series | drv:///sample.drv/okidata9.ppd 99 OKIDATA 24-Pin Series | drv:///sample.drv/okidat24.ppd 100 Zebra CPCL Label Printer | drv:///sample.drv/zebracpl.ppd 101 Zebra EPL1 Label Printer | drv:///sample.drv/zebraep1.ppd 102 Zebra EPL2 Label Printer | drv:///sample.drv/zebraep2.ppd 103 Zebra ZPL Label Printer | drv:///sample.drv/zebra.ppd 104 105You can run the `lpinfo -m` command to list all of the available drivers: 106 107 lpinfo -m 108 109Run the `lpinfo -v` command to list the available printers: 110 111 lpinfo -v 112 113Then use the correct URI to add the printer using the `lpadmin` command: 114 115 lpadmin -p printername -E -v device-uri -m ppd-name 116 117Current network printers typically use `ipp` or `ipps` URIS: 118 119 lpadmin -p printername -E -v ipp://11.22.33.44/ipp/print -m everywhere 120 lpadmin -p printername -E -v ipps://11.22.33.44/ipp/print -m everywhere 121 122Older network printers typically use `socket` or `lpd` URIs: 123 124 lpadmin -p printername -E -v socket://11.22.33.44 -m ppd-name 125 lpadmin -p printername -E -v lpd://11.22.33.44/ -m ppd-name 126 127The sample drivers provide basic printing capabilities, but generally do not 128exercise the full potential of the printers or CUPS. Other drivers provide 129greater printing capabilities. 130 131 132PRINTING FILES 133-------------- 134 135CUPS provides both the System V `lp` and Berkeley `lpr` commands for printing: 136 137 lp filename 138 lpr filename 139 140Both the `lp` and `lpr` commands support printing options for the driver: 141 142 lp -o media=A4 -o resolution=600dpi filename 143 lpr -o media=A4 -o resolution=600dpi filename 144 145CUPS recognizes many types of images files as well as PDF, PostScript, and text 146files, so you can print those files directly rather than through an application. 147 148If you have an application that generates output specifically for your printer 149then you need to use the `-oraw` or `-l` options: 150 151 lp -o raw filename 152 lpr -l filename 153 154This will prevent the filters from misinterpreting your print file. 155 156 157LEGAL STUFF 158----------- 159 160Copyright © 2007-2019 by Apple Inc. 161Copyright © 1997-2007 by Easy Software Products. 162 163CUPS is provided under the terms of the Apache License, Version 2.0 with 164exceptions for GPL2/LGPL2 software. A copy of this license can be found in the 165file `LICENSE`. Additional legal information is provided in the file `NOTICE`. 166 167Unless required by applicable law or agreed to in writing, software distributed 168under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 169CONDITIONS OF ANY KIND, either express or implied. See the License for the 170specific language governing permissions and limitations under the License. 171