Difference between revisions of "Common Unix Printing System"
(→External links) |
(→Network configuration scripts) |
||
(One intermediate revision by the same user not shown) | |||
Line 81: | Line 81: | ||
ErrorPolicy retry-job | ErrorPolicy retry-job | ||
</Printer> | </Printer> | ||
+ | |||
+ | Note: If you only want to use a specific printer among many available ones on your network, it would be best (and faster) to turning "<code>Browsing Off</code>" in your <code>/etc/cups/cupsd.conf</code> file. | ||
Of course, make sure you have your printer's PPD file in <code>/etc/cups/ppd/</code> | Of course, make sure you have your printer's PPD file in <code>/etc/cups/ppd/</code> | ||
Line 86: | Line 88: | ||
Then | Then | ||
/etc/init.d/network restart | /etc/init.d/network restart | ||
+ | |||
+ | Now you can check the status of your printer with: | ||
+ | lpstat -l -p -v | ||
==See also== | ==See also== | ||
Line 102: | Line 107: | ||
*[http://www.cups.org/ Official website] | *[http://www.cups.org/ Official website] | ||
*[http://www.cups-pdf.de/documentation.shtml CUPS-PDF] | *[http://www.cups-pdf.de/documentation.shtml CUPS-PDF] | ||
+ | *[http://www.physik.uni-wuerzburg.de/%7Evrbehr/cups-pdf/ CUPS-PDF] | ||
*[http://freshmeat.net/projects/cups/ Freshmeat.net entry on CUPS] | *[http://freshmeat.net/projects/cups/ Freshmeat.net entry on CUPS] | ||
*[http://www.linuxprinting.org/ LinuxPrinting.org] | *[http://www.linuxprinting.org/ LinuxPrinting.org] |
Latest revision as of 22:59, 23 January 2008
The Common Unix Printing System (CUPS) is a modular printing system for Unix-like computer operating systems that allows a computer to act as a powerful print server. A computer running CUPS is a host which can accept print jobs from client computers, process them, and send them to the appropriate printer.
Contents
[hide]PostScript Printer Description (PPD)
PostScript Printer Description (PPD) files are created by vendors to describe the entire set of features and capabilities available for their PostScript printers. For example, a generic PPD file for all models of HP Color LaserJet contains:
*% ================================= *% Basic Device Capabilities *% ================================= *LanguageLevel: "2" *ColorDevice: True *DefaultColorSpace: CMYK *TTRasterizer: Type42 *FileSystem: False *Throughput: "10"
MIME databases
During start-up, the CUPS daemon loads two MIME databases: mime.types
that defines the known file types that CUPS can accept data for, and mime.convs
that defines the programs that process each particular MIME type.[1]
The mime.types
file has the syntax:
mimetype { [file-extensions] | [pattern-match] }
For example, to detect an HTML file, the following entry would be applicable:
text/html html htm \
printable(0,1024) + (string(0,"<HTML>") string(0,"<!DOCTYPE"))
The mime.convs
file has the syntax:
source destination cost program
Some examples:
text/plain application/postscript 50 texttops application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster image/* application/vnd.cups-postscript 50 imagetops image/* application/vnd.cups-raster 50 imagetoraster
User Interface tools
There are several tools created to help set up CUPS. The CUPS server itself runs a webserver administration interface on port 631.[2]
Tools
System V
- lp
- the user command to print
- lpstat
- shows the current print queue
- cancel
- deletes a job from the print queue
- lpadmin
- a sysadmin command that configures the print system
- lpmove
- a sysadmin command that moves jobs between queues
LPD
- lpr
- Assign a job to a queue.
- lpq
- Display the jobs assigned to a queue and their print status.
- lprm
- Remove a job from a queue.
- lpc
- Control a queue.
Network configuration scripts
If you are using a network computer, you will need to add your IP address to the printer's address pool. Create a ifcfg
file (usually in /etc/sysconfig/network-scripts
) and call it something like ifcfg-eth0:0
). Then add the following lines (replacing the IP address, etc.):
DEVICE=eth0:0 BOOTPROTO=static IPADDR=192.168.xx.yy NETMASK=255.255.255.0 NETWORK=10.0.xx.0 BROADCAST=192.168.xx.255 ONBOOT=yes METRIC=10
You will also need to add your URI (i.e. printer IP address) to your /etc/cups/printers.conf
file. As an example:
# Printer configuration file for CUPS v1.2.4 <Printer MyPrinter> Info The_Name_of_Your_Printer Location DeviceURI ipp://192.168.xx.1/ipp State Idle StateTime 1162501383 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-job </Printer>
Note: If you only want to use a specific printer among many available ones on your network, it would be best (and faster) to turning "Browsing Off
" in your /etc/cups/cupsd.conf
file.
Of course, make sure you have your printer's PPD file in /etc/cups/ppd/
Then
/etc/init.d/network restart
Now you can check the status of your printer with:
lpstat -l -p -v
See also
- wikipedia:Common Unix Printing System
- wikipedia:System V printing system
- wikipedia:Line Printer Daemon protocol
- wikipedia:Foomatic
- wikipedia:Gutenprint
KDE
- KDEPrint
- kprinter
References
- Jump up ↑ Easy Software Products. CUPS Software Administrators Manual, File Typing and Filtering. (accessed 2007-01-09).
- Jump up ↑ CUPS Software Administrators Manual, "Managing Printers from the Web"
External links
- Official website
- CUPS-PDF
- CUPS-PDF
- Freshmeat.net entry on CUPS
- LinuxPrinting.org
- Universal Plug and Play - Printer Device V 1.0 and Printer Basic Service V 1.0
- Turn your Linux box into a PDF-making machine
- Cups to PDF network printer
Related links
- OpenPrinting — resources to help with printing under free operating systems like Linux