To get your printer working you will mainly need to install and setup cups.
If you choose the printer support option on installer you will already have a working cups setup and only need to add you printer.
To start with cups and an usb connected printer:
sudo pacman -S cups cups-filters cups-pdf system-config-printer --needed
To get full full cups with support for many different printers per default. Install this packages on top of that:
sudo pacman -S ghostscript gsfonts foomatic-db-engine foomatic-db foomatic-db-ppds foomatic-db-nonfree foomatic-db-nonfree-ppds gutenprint foomatic-db-gutenprint-ppds --needed
For QT environments (like KDE/plasma LXQT):
sudo pacman -S print-manager --needed
enable socket, what will listen if print-job is calling and then enable the service:
sudo systemctl enable --now cups.socket
or using the service, what will be running constant.
sudo systemctl enable --now cups.service
For network printer support check if avahi is installed and its daemon is running:
systemctl status avahi-daemon
if you get an error or it shows disabled not running:
sudo pacman -S avahi --needed sudo systemctl start avahi-daemon sudo systemctl enable avahi-daemon
Procedure to find the right driver for your printer:
Go to the open printing website and search if your printer is supported on Linux at all, and what driver options are available.
This will the result look like:
- On top you will see if or not there is a working driver for your printer
- second it will show available driver options, in the example, you see Type: Ghostscript built-in so go to package search on Archlinux (or use the tool of your choice) you will find GhostScript (already installed as you following tutorial from top to bottom)
So install the driver available for your device and go forward to install and configure printer. But take a look at this links first, as it can be that your printer need some extra configuration done to work properly:
Some links to common printers information on Archwiki:
- Canon printers
- Epson printers
- HP printers
- Lexmark printers
- Oki printers
- Samsung printers
- Brother printers
Notes on Common ways to install printer drivers:
Mostly all printers using cups as a backend to communicate with your system, but different brands needing different ways to get printers fully functional:
Hewlett and Packard (HP) printers:
Some of the HP-printers needs a propritary plugin to work, this can be installed by hplip.
Most drivers for hp-printers come with the HPLIP package you can install this with:
sudo pacman -S hplip
install python-pyqt5 to run GUI and hp-toolbox:
sudo pacman -S python-pyqt5
now run the program to install new printer queue and the may needed proprietary plugin for some hp-printers:
hp-setup -i for CLI install without a GUI
or run hp-setup from menu.
The tool guides you to the installation simple read the instructions.
Current notes (29.5.2020):
There is currently an issue with getting keys from keyservers, this also seem to effect hp-plugin verify downloaded plugin, what caused a fail to install it. To solve this you need to change the server used by the tool:
sudo nano /usr/share/hplip/base/validation.py
change the server to
keyserver.ubuntu.com like this:
def init(self, pgp_site = 'keyserver.ubuntu.com', key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
Save the file by pressing [Ctrl+X].
hp-setup -i again.
You have your printer added now, so you do not need to set it up again like follows, but you can use system-config-printer to setup configuration for papersize e.t.c.
Common printer setup (not for most hp-printers):
Use the system-config-printer tool to find and set up your printer:
Under KDE/plasma or LXQT:Follow us