1. Introduction

The Printing HOWTO should contain everything you need to know to help you set up printing services on your GNU/Linux box(en). As life would have it, it's a bit more complicated than in the point-and-click world of Microsoft and Apple, but it's also a bit more flexible and certainly easier to administer for large LANs.

This document is structured so that most people will only need to read the first half or so. Most of the more obscure and situation-dependent information in here is in the last half, and can be easily located in the Table of Contents, whereas some information through section 10 or 11 is probably needed by most people.

If you find this document or the linuxprinting.org website useful, consider buying something (ink, for example) through the referral links on the site; such purchases support this effort.

The linuxprinting.org website is a good place to find the latest version; it is also, of course, distributed from tldp.org and your friendly local LDP mirror.

1.1. Terminology

I try to use consistent terminology throughout this document, so that users of all free Unix-like systems, and even users of non-Unix-like free software, can benefit. Unfortunately, there are many handy ambiguous names and many awkward unambiguous names, so just to be clear, here's a quick glossary of what each name means:


Unix is an operating system constructed at Bell Labs by various researchers. A variety of operating systems, mostly commercial, are based on this code and are also included in the name Unix.


Un*x is an awkward word used to refer to every Unix-like operating system. A Unixlike operating system provides something similar to a POSIX programming interface as its native API. GNU/Linux, FreeBSD, Solaris, AIX, and even special-purpose systems like Lynx and QNX are all Un*x.


Linux is a Unixlike kernel and a small assortment of peripheral software written by Linus Torvalds and hundreds of other programmers. It forms the foundation of the most widely used Un*x operating system.


The GNU (GNU's Not Unix) project is a longtime development effort to produce an entirely free Unixlike operating system. The GNU Project is in many ways the father of most modern free software efforts.


A GNU/Linux operating system is a complete system comprised of the Linux kernel, its peripheral programs, and the GNU runtime environment of libraries, utilities, end-user software, etc. Red Hat, Debian, Caldera, SuSE, TurboLinux, and similar companies are all commercial vendors of complete GNU/Linux systems.

1.2. History

This have been severel generations of the Printing HOWTO. The history of the PHT may be chronicled thusly:

  1. Grant Taylor wrote the printing HOWTO in 1992 in response to all the printing questions in comp.os.linux, and posted it. This predated the HOWTO project by a few months and was the first FAQlet called a `howto'. This edition was in plain ASCII.

  2. After joining the HOWTO project, the Printing-HOWTO was merged with an Lpd FAQ by Brian McCauley <B.A.McCauley@bham.ac.uk>; Grant Taylor continued to co-author the PHT for two years or so. At some point he incorporated the work of Karl Auer <Karl.Auer@anu.edu.au>. This generation of the PHT was in TeXinfo, and available in PS, HTML, ASCII, and Info.

  3. After letting the PHT rot and decay for over a year, and an unsuccessful attempt at getting someone else to maintain it, this rewrite happened. This generation of the PHT is written in SGML using the LinuxDoc DTD and the SGML-Tools-1 package. Beginning with version 3.27, it incorporated a summary of a companion printer support database; before 3.27 there was never a printer compatibility list in this HOWTO (!).

  4. In mid-January, 2000, Grand found out about the PDQ print "spooler". PDQ provides a printing mechanism so much better than lpd ever did that he spent several hours playing with it, rewrote parts of this HOWTO, and bumped the version number of the document to 4.

  5. In mid-2000, Grant moved his printing website to www.linuxprinting.org, and began offering more powerful configuration tools there. He also converted the HOWTO to DocBook, and initiated coverage of CUPS, LPRng, and GPR/libppd.

  6. In early 2001, Grant began using the GNU Free Documentation License, which seems quite suitable. He also began an effort to clarify what is and isn't Linux-specific; there are several free Unixlike kernels out there, and they all use the same printing software.

  7. In early 2003, after listening to a presentation from Till Kampeter at FOSDEM, I (Dirk) decided to update this HOWTO. Since Grant last edited the HOWTO, CUPS has gotten more mature and a lot more popular.

1.3. Copyright

Copyright (c) 1992-2001 Grant Taylor.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in Appendix A.