From Fedora Project Wiki

(New debugging section.)
m (Kind request to add GPLv2 PPD for Brother MFC-9340CDW)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Printing in Fedora =
'''Foreword'''
 
Here is some information about how printing works in Fedora, how to diagnose problems with it, and related topics.


== Debugging problems ==
== Debugging problems ==


See the [[Printing/Debugging|How to debug printing problems]] page for some information about how to diagnose printing problems and what information is needed when filing bug reports.
See the [[How_to_debug_printing_problems|How to debug printing problems]] page for some information about how to diagnose printing problems and what information is needed when filing bug reports.
 
== CUPS ==
 
The print spooler used in Fedora is CUPS, the [http://www.cups.org/ Common Unix Printing System].  It is an implementation of IPP, the Internet Printing Protocol.
 
=== PPDs ===
 
Printer drivers come with PPD files, which are descriptions of how to run the driver and which options it has.
 
=== Scheduler ===
 
The main part of CUPS is the scheduler, '''cupsd'''.  This is a system service started at boot time.  It is responsible for responding to IPP requests such as examining printer queue attributes, printing files, or adding and deleting queues.
 
When a queue is added, the PPD file for the driver is copied to {{filename|/etc/cups/ppd/}} and the PageSize option is modified to be correct for the system locale (set in {{filename|/etc/sysconfig/i18n}}).  To adjust the system locale, use '''system-config-language'''.
 
=== Drivers/filters ===
 
CUPS comes with several drivers and filters itself, but many are provided by other packages including:
 
* poppler-utils, for input filters converting PDF into PostScript format
* ghostscript-cups, for input filters converting PostScript and PDF into CUPS raster format
* the hpijs package (from [[Printing/HPLIP|HPLIP]]) provides both hpijs, the inkjet server (IJS) driver used for "Foomatic/hpijs" drivers; and hpcups, the newer-style raster driver
* gutenprint-cups provides a raster driver
* foomatic provides a CUPS filter for using various older-style ghostscript built-in drivers


== Ideas about the new printer administration tool ==
If your printer has a driver that you think should be in Fedora but isn't, why not consider having a go at packaging it yourself?  This would make it possible for the right driver to be [https://fedoraproject.org/wiki/Features/AutomaticPrintDriverInstallation automatically installed] when you plug in the printer.


* [[Printing/AdminToolOutline| Outline]]
Free drivers that are not yet packaged in Fedora but should be (have a go!):
* [[Printing/AdminToolSpecifics| Specifics]]
* [[Printing/AdminToolNewPrinter| New Printer dialog]]
* [[Printing/I18n| I18n of the printer options]]


== Tasks ==
* [http://avasys.jp/eng/linux_driver/download/lsb/epson-inkjet/escpr/ Avasys's Epson ESC/P-R driver]
* [http://download.brother.com/welcome/dlf007030/mfc9340cdw_cupswrapper_GPL_source_1.1.4-0.tar.gz Brother MFC-9340CDW]
* (feel free to add to this list...)


* (DONE) SELinux policy might need updating
=== Backends ===
* (DONE) HAL changes for IEEE 1284 IDs.  Needs to store COMMANDSET field, and needs to probe parallel ports for printers.
* (DONE) new HAL method for dealing with a printer being plugged in
* eggcups dialog changes
* create foomatic printer XML entries for all PPDs.  Currently foomatic ships with lots of PPDs, but several of them have no XML entries to hold the autodetection strings.
* better SMB browser
* need to fix 'hal' backend to provide IEEE 1284 Device ID
* HAL 'new printer' method could enable hplip service on demand


== CUPS 1.2 ==
Once the job file has been converted to the printer's native format, CUPS backends transfer the job to the printer. CUPS provides several methods for doing this, but some are provided by other packages including:


We will be shipping CUPS 1.2 as an update to Fedora Core 5 as soon as is feasible.  There are [[Printing/CupsChanges| some changes to be aware]] of for the admin side.
* smb from the samba-client package
* hp from [[Printing/HPLIP|HPLIP]]
* bjnp from the cups-bjnp package


== Printing Remotely ==
== Configuration tool ==


Remote printers need to use an IPP URL in the form of '''<nowiki>http://hostname:631/printers/queue</nowiki>''' for Fedora cups serversYou should be able to see the printer configuration page in a standard web browser from the remote system.  Hence, printer dialog boxes may require that the "remote queue" be '''printers/queuename''', instead of just "queuename".
Printer queues are configured using [[Printing/ConfigurationTool|system-config-printer]]This package also provides the printer status icon in the notification area, and creates queues automatically when USB printers are connected.


[[Category:SIGs]]
[[Category:SIGs]]
[[Category:Fedora special-interest groups]]

Latest revision as of 01:03, 4 July 2016

Foreword

Here is some information about how printing works in Fedora, how to diagnose problems with it, and related topics.

Debugging problems

See the How to debug printing problems page for some information about how to diagnose printing problems and what information is needed when filing bug reports.

CUPS

The print spooler used in Fedora is CUPS, the Common Unix Printing System. It is an implementation of IPP, the Internet Printing Protocol.

PPDs

Printer drivers come with PPD files, which are descriptions of how to run the driver and which options it has.

Scheduler

The main part of CUPS is the scheduler, cupsd. This is a system service started at boot time. It is responsible for responding to IPP requests such as examining printer queue attributes, printing files, or adding and deleting queues.

When a queue is added, the PPD file for the driver is copied to /etc/cups/ppd/ and the PageSize option is modified to be correct for the system locale (set in /etc/sysconfig/i18n). To adjust the system locale, use system-config-language.

Drivers/filters

CUPS comes with several drivers and filters itself, but many are provided by other packages including:

  • poppler-utils, for input filters converting PDF into PostScript format
  • ghostscript-cups, for input filters converting PostScript and PDF into CUPS raster format
  • the hpijs package (from HPLIP) provides both hpijs, the inkjet server (IJS) driver used for "Foomatic/hpijs" drivers; and hpcups, the newer-style raster driver
  • gutenprint-cups provides a raster driver
  • foomatic provides a CUPS filter for using various older-style ghostscript built-in drivers

If your printer has a driver that you think should be in Fedora but isn't, why not consider having a go at packaging it yourself? This would make it possible for the right driver to be automatically installed when you plug in the printer.

Free drivers that are not yet packaged in Fedora but should be (have a go!):

Backends

Once the job file has been converted to the printer's native format, CUPS backends transfer the job to the printer. CUPS provides several methods for doing this, but some are provided by other packages including:

  • smb from the samba-client package
  • hp from HPLIP
  • bjnp from the cups-bjnp package

Configuration tool

Printer queues are configured using system-config-printer. This package also provides the printer status icon in the notification area, and creates queues automatically when USB printers are connected.