Install printing support with autodetection



To install printing support (with printer autodetection), we must install the following packages (it does not matter what desktop is being used):

sudo pacman -S cups gutenprint foomatic-db foomatic-db-engine foomatic-db-nonfree foomatic-db-gutenprint-ppds foomatic-db-ppds foomatic-db-nonfree-ppds splix hplip python-pyqt5 nss-mdns pacredir cups-pdf gutenprint usbutils python-pycups python-pycurl system-config-printer samsung-unified-driver ipp-usb logrotate

The printing service must be activated:

sudo systemctl enable --now cups.service

As an alternative, we can start CUPS only when a program needs to use the service. To do this, CUPS provides cups.socket. If cups.socket is enabled, cups.service must be disabled. In this case, systemd will not start CUPS immediately, it will just be waiting for some activity on the corresponding port. So, when a program tries to connect to one of the CUPS ports, systemd will start cups.service and hand over control transparently to the CUPS process. This is activated with:

sudo systemctl enable --now cups.socket