Español
Installing the needed packages
First, you'll need as a minimum cups. If you haven't it already installed, do it (with pacman):
sudo pacman -S cups
For many printers, this is not enough. Packages to add (and try) are:
sudo pacman -S gutenprint system-config-printer cups-pdf
To have a printer entry in system-settings:
sudo pacman -S kdeadmin-print-manager
Epson printer specific (again not all will need this step) add:
sudo pacman -S epson-inkjet-printer-escpr
And lastly, some printers will need the foomatic-filters package.
Starting the printer installation
Once all is installed, start cups with:
sudo systemctl start org.cups.cupsd.socket
To make this auto-start on each boot:
sudo systemctl enable org.cups.cupsd.socket
If you are using a Hewlett-Packard printer, you'll need also hplip, so install it too in that case:
sudo pacman -S hplip
You might notice after installing hplip, there is mention of "opdepends". To get all features for hplip that you possibly can get, install all opdepends:
dbus-python, for dbus support
sane, for scanner support
rpcbind: for network support
pyqt: for running hp-toolbox
pygobject: for running hp-toolbox
Now you can open http://localhost and add your printer to CUPS. One note about log in, the name is actually "root" (without quotes), not your root username.
Troubleshooting
Epson-multi-functional printers
When installing all the above mentioned packages does not result in cups recognizing your Epson printer, there is a chance that sane blocks this. To correct this issue, create a udev-rule for usb-printers as root, including a scanner entry called /etc/udev/rules.d/10-usbprinter.rules, with the following content:
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0851", MODE:="0660", GROUP:="lp" ENV{libsane_matched}:="yes"
To get the needed idVendor and idProduct run:
lsusb
and look for the Epson printer line, example:
Bus 001 Device 004: ID 04b8:0851 Seiko Epson Corp. Stylus SX410
Were the first ID number is idVendor, second is idProduct.
Just having sane installed is not enough to get the scanner fuction to work for these devices. Easy solution is to edit /etc/sane.d/epson2.conf as root, uncomment the last (usb) line:
# For libusb support for unknown scanners use the following command
# usb <product ID> <device ID>
# e.g.:
#usb 04b8 0851
And again use the correct idVendor and idProduct number for your device. Install skanlite with
sudo pacman -S skanlite
to have an easy GUI for scanning.
Extra Troubleshooting for scanning with Epson Stylus cx 5600
/etc/sane.d/epson2.conf stays the same as in example above
/etc/sane.d/epson.conf comment all lines
in /etc/sane.d/dll.conf uncomment the line epson2 all other lines remains commented