2015-08-05

Adjusted wording attempting to fix problems which had been identified in the discussion page. It's not perfect, but it has been improved.

← Older revision

Revision as of 19:55, 5 August 2015

Line 34:

Line 34:

With CUPS installed, you can now [[start]] and [[enable]] {{ic|org.cups.cupsd.service}}.

With CUPS installed, you can now [[start]] and [[enable]] {{ic|org.cups.cupsd.service}}.

+

# systemctl enalble org.cups.cupsd.service

+

# systemctl start org.cups.cupsd.service

Optionally, CUPS can use [[Avahi]] browsing to discover unknown shared printers in your network. This can be useful in large setups where the server is unknown. To use this feature, start the {{ic|cups-browsed.service}} systemd unit.

Optionally, CUPS can use [[Avahi]] browsing to discover unknown shared printers in your network. This can be useful in large setups where the server is unknown. To use this feature, start the {{ic|cups-browsed.service}} systemd unit.



+

# systemctl enalble cups-browsed
.
service



If your printer is connected to your system, you can now move on with the client installation
.
For server only installations you can skip the following [[
#
Installing the client package|section]]
.

+

#
systemctl start cups-browsed
.
service

=== Client ===

=== Client ===

Line 46:

Line 48:

=== Printer drivers ===

=== Printer drivers ===





{{Style|Messy writing}}





==== When you think you need a driver and you actually do not ====





Most modern laser printers speak postscript, and if you have a postscript printer you do not need a CUPS printer driver.





{{note|Unfortunately some manufacturers feel the need to supply a (poorly maintained) driver anyway. Eg. the popular [http://www.brother-usa.com/Printer/ModelDetail/1/hl5470dw/overview#.VKpllMmFlpQ Brother HL-5470DW] laser printer comes with a driver for Linux. But it is 32-bit only and will not work on a 64-bit systems Unless, you install certain compatibility libraries, which you might not want to bother with.}}





Fortunately, there is often a simple solution:





* Set the printer up to either automatically detect the correct emulation or in Postscript mode.



* Extract the PPD (eg. [http://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=hl5470dw_us_eu_as Linux driver package])



* Then edit the PPD and remove the {{ic|cupsFilter}} line. Eg.:





# cupsFilter:    "application/vnd.cups-postscript 0 brother_lpdwrapper_HL5470DW"





You now have a fully customized PPD for this printer. This can be used to set it up as a CUPS postscript printer.





{{Note|This example is specific to the HL-5470DW, but the same principle can be generally applied.}}





Conclusion: If you have a postscript printer, all you need is an appropriate PPD file '''with no {{ic|cupsFilter}} entry'''. If you do not, go on with the following [[CUPS|Install (non-postscript) printer drivers|Install (non-postscript) printer drivers]] instructions.

==== Install (non-postscript) printer drivers ====

==== Install (non-postscript) printer drivers ====



Choosing the right driver depends on the printer. Package names may be misleading because printers of other makes can rely on them.

+

* {{Pkg|cups-pdf}} -
Allows for the "Print
to PDF
" function
.



+



* {{Pkg|cups-pdf}} -
A package that allows one
to
setup a virtual
PDF
Printer that generates a PDF out of jobs sent to it
.

+

* {{Pkg|foomatic-db}}, {{Pkg|foomatic-db-engine}} and {{Pkg|foomatic-db-nonfree}} - Foomatic is a database-driven system for integrating free software printer drivers with common spoolers under Unix.

* {{Pkg|foomatic-db}}, {{Pkg|foomatic-db-engine}} and {{Pkg|foomatic-db-nonfree}} - Foomatic is a database-driven system for integrating free software printer drivers with common spoolers under Unix.



* {{Pkg|gutenprint}} - A collection of
high quality
drivers for Canon, Epson, Lexmark, Sony, Olympus, and PCL printers for use with GhostScript, CUPS, Foomatic, and the [[GIMP]]
.

+

* {{Pkg|gutenprint}} - A collection of drivers for Canon, Epson, Lexmark, Sony, Olympus, and PCL printers for use with GhostScript, CUPS, Foomatic, and the [[GIMP]].



+



{{Note| If you are having issues finding your Canon MG2400 series or other printer, it may be because you are experiencing conflict between packages. To solve, simply remove {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-nonfree}} and install {{Pkg|gutenprint}} and finally restart {{ic|org.cups.cupsd.service}}.}}

+



+



==== In doubt: Download printer PPD ====

+



+



{{note|Depending on the printer, this step is optional and may not be needed, as the standard CUPS installation already comes with quite a few PPD (Postscript Printer Description) files. Moreover, the ''foomatic-filters'', ''gimp-print'' and ''hplip'' packages already include quite a few PPD files which will automatically be detected by CUPS.}}

+



+



Here is an explanation of what a PPD file is from the Linux Printing website:

+



+



:"''For every PostScript printer the manufacturers provide a PPD file which contains all printer-specific information about the particular printer model: Basic printer capabilities as whether the printer is a color printer, fonts, PostScript level, etc., and especially the user-adjustable options, as paper size, resolution, etc.''"

+



+



If the PPD for the printer is ''not'' already in CUPS, then consider to

+



+



* check [[AUR]] to see if there are packages for the printer/manufacturer in question

+



* visit the [http://www.openprinting.org/printers OpenPrinting database] and select the manufacturer and model of the printer

+



* visit the manufacturer's site and search for GNU/Linux drivers

+



+



When you found the driver PPD, copy it in {{ic|/usr/share/cups/model/}}
.

+

==== Manufacturer drivers ====

==== Manufacturer drivers ====

Line 146:

Line 106:

Many ''cnijfilter'' drivers are available in the AUR: [https://aur.archlinux.org/packages.php?K=cnijfilter]

Many ''cnijfilter'' drivers are available in the AUR: [https://aur.archlinux.org/packages.php?K=cnijfilter]

+

+

==== Download Printer PPD ====

+

+

{{note|This step may be optional, as the standard CUPS installation includes many PPD files. Moreover, ''foomatic-filters'', ''gimp-print'' and ''hplip'' include more PPD files which will be automatically detected by CUPS.}}

+

+

If the PPD file for the printer is ''not'' already in CUPS, then:

+

+

* check [[AUR]] to see if there are packages for the printer/manufacturer in question

+

* visit the [http://www.openprinting.org/printers OpenPrinting database] and select the manufacturer and model of the printer

+

* visit the manufacturer's site and search for GNU/Linux drivers

+

+

When the driver is found, move it to {{ic|/usr/share/cups/model/}}.

== Hardware support and configuration ==

== Hardware support and configuration ==

Line 190:

Line 162:

== Configuring ==

== Configuring ==



Now that CUPS is installed, there
are
a variety of
options on how to set up printing solutions
. As always, the tried and true command line method is at your disposal
. CUPS also embeds a full-featured web interface.
Likewise, various
desktop environments such as GNOME and KDE have useful programs that can help manage printers
. Depending on your needs, you may choose one method or the other
.

+

There
are
several
options on how to set up printing solutions. CUPS also embeds a full-featured web interface.
Various
desktop environments such as
[[
GNOME
]]
and
[[
KDE
]] also
have useful programs that can help manage printers.



If you are planning on connecting to a network printer, rather than one that is directly connected to the computer,
you might want to read
the [[CUPS printer sharing]] page first
. Printer sharing between GNU/Linux systems is quite easy and involves very little configuration, whereas sharing between a Windows and GNU/Linux host requires a little bit more effort
.

+

If you are planning on connecting to a network printer, rather than one that is directly connected to the computer,
see
the [[CUPS printer sharing]] page first.

=== Web interface and tool-kit ===

=== Web interface and tool-kit ===



Once
the daemon
is running, open a browser and go to: http://localhost:631. Note that CUPS does not allow connections outside localhost by default.

+

Once
CUPS
is running
(see [[Server Installation|#Server]])
, open a browser and go to: http://localhost:631. Note that CUPS does not allow connections outside localhost by default.

From here, follow the various wizards to add the printer. A usual procedure is to start by clicking on ''Adding Printers and Classes'' and then ''Add Printer''.  When prompted for a username and password, log in as root. The name assigned to the printer does not matter, the same applies for 'location' and 'description'. Next, a list of devices to select from will be presented. The actual name of the printer shows up next to the label (e.g., next to ''USB Printer #1'' for USB printers). Finally, choose the appropriate drivers and the configuration is complete.

From here, follow the various wizards to add the printer. A usual procedure is to start by clicking on ''Adding Printers and Classes'' and then ''Add Printer''.  When prompted for a username and password, log in as root. The name assigned to the printer does not matter, the same applies for 'location' and 'description'. Next, a list of devices to select from will be presented. The actual name of the printer shows up next to the label (e.g., next to ''USB Printer #1'' for USB printers). Finally, choose the appropriate drivers and the configuration is complete.



Now test the configuration by pressing the ''Maintenance'' drop-down menu then ''Print Test Page''. If it does not print and there is certainty regarding the correctness of applied settings, then the problem is most likely due to missing a proper printer driver.

+

Now test the configuration by pressing the ''Maintenance'' drop-down menu then ''Print Test Page''. If it does not print and there is certainty regarding the correctness of applied settings, then the problem is most likely due to missing a proper printer driver.
See [[#Printer Drivers|Printer Drivers]]

{{Tip|See: [[#Alternative CUPS interfaces]] for other front-ends.}}

{{Tip|See: [[#Alternative CUPS interfaces]] for other front-ends.}}

Line 207:

Line 179:

* To enable wireless scanning on certain HP multi-function devices using the {{pkg|hplip}} package, you may need to add the printer as a Network Printer using the HTTP protocol. To determine the proper URI to use, run the {{ic|hp-makeuri}} command.}}

* To enable wireless scanning on certain HP multi-function devices using the {{pkg|hplip}} package, you may need to add the printer as a Network Printer using the HTTP protocol. To determine the proper URI to use, run the {{ic|hp-makeuri}} command.}}



==== CUPS
administration
====

+

==== CUPS
Administration
====

A username and password will be required when administering the printer in the web interface, such as adding or removing printers, stopping print tasks, etc. The default username is the one assigned in the ''sys'' group, or root. Other admin groups (e.g. ''printadmin'') may be added to the {{ic|SystemGroup}} line in {{ic|/etc/cups/cups-files.conf}} (you might have to add this line).

A username and password will be required when administering the printer in the web interface, such as adding or removing printers, stopping print tasks, etc. The default username is the one assigned in the ''sys'' group, or root. Other admin groups (e.g. ''printadmin'') may be added to the {{ic|SystemGroup}} line in {{ic|/etc/cups/cups-files.conf}} (you might have to add this line).  

Show more