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