Diumenge, febrer 8, 2026
ESCRIPTORI

Com configurar impressores a Linux

Configurar impressores a Linux no és complicat, però tampoc és sempre bufar i fer ampolles. Els qui treballen en entorns mixtos, donen suport tècnic o simplement necessiten imprimir sense problemes en un entorn productiu, saben que hi ha detalls que marquen la diferència.

Anem a centrar-nos en el que funciona, en el que convé saber, i en com resoldre els problemes que més temps fan perdre.

Quin sistema d’impressió fa servir Linux?

Linux fa servir principalment CUPS (Common UNIX Printing System), desenvolupat originalment per Apple i adoptat per pràcticament totes les distribucions modernes. CUPS permet imprimir localment, compartir impressores per xarxa i gestionar treballs d’impressió des d’una interfície web, CLI o eines gràfiques.

En gairebé tots els entorns Linux, especialment amb entorns d’escriptori com GNOME o KDE, ja tens CUPS funcionant en segon pla. Però entendre com està configurat i com es controla directament marca la diferència quan alguna cosa no funciona com hauria de ser.

Abans de connectar una impressora: punts que convé revisar

  • És una impressora local (USB) o de xarxa (WiFi/Ethernet)?
  • És PostScript, PCL o requereix controladors propietaris?
  • Té suport AirPrint, IPP Everywhere o Google Cloud Print? (Aquest últim, obsolet des del 2021, però encara rellevant en equips antics.)
  • Necessita instal·lar firmware o controladors específics del fabricant?

Com més s’acosti la impressora a l’estàndard IPP Everywhere, més fàcil serà integrar-la sense complicacions.

Verificar si CUPS està instal·lat i actiu

systemctl status cups

Si no està instal·lat:

# A Debian/Ubuntu
sudo apt install cups

# A Arch
sudo pacman -S cups

# A Fedora
sudo dnf install cups

I després:

sudo systemctl enable --now cups

Això aixeca el servei i el deixa actiu en l’arrencada.

Per a accedir a la interfície web de CUPS:

http://localhost:631

Des d’aquí pots afegir impressores, gestionar cues i veure logs. És útil fins i tot en entorns amb interfície gràfica, perquè dona més control i mostra errors que les eines gràfiques solen ocultar.

Connexió d’ una impressora USB

Cas 1: sistema d’escriptori (GNOME/KDE/XFCE)

En la majoria dels escriptoris moderns, connectar una impressora USB llença un assistent automàtic. El que no sempre queda clar és què fa exactament aquest assistent.

El que normalment passa:

  • CUPS detecta la impressora via usb:// i crea una entrada.
  • El sistema descarrega un PPD (PostScript Printer Description) o en fa servir un de genèric.
  • S’ assigna una URI i una cua d’ impressió.

Pots confirmar això a la interfície web de CUPS o amb:

lpstat -p -d

Això mostrarà les impressores configurades i quina és la predeterminada.

Si tot funciona, pots imprimir amb:

lp /ruta/al/arxiu.pdf

Cas 2: impressora que requereix drivers específics

No totes les impressores tenen suport lliure. Algunes marques com Brother, Epson o HP ofereixen .deb o .rpm, però d’altres no.

En aquests casos:

  • Ves al lloc oficial i descarrega el controlador.
  • Instal·la’l (idealment amb dpkg -i o rpm -i, segons el teu sistema).
  • Revisa quina URI està associada: lpinfo -v
  • Fes servir la interfície web o lpadmin per crear-la.

Per exemple:

sudo lpadmin -p la_impressora -E -v usb://HP/DeskJet_3700_series -m drv:///hp/hp-DeskJet_3700-series.ppd

Configurar una impressora de xarxa

Opció 1: IPP Everywhere (recomanat)

Si la teva impressora suporta IPP, el més senzill és deixar que CUPS la descobreixi automàticament:

lpinfo -v

Si veus alguna cosa com ara:

ipp://192.168.1.45/ipp/print

… llavors pots crear-la amb:

sudo lpadmin -p hp-xarxa -E -v ipp://192.168.1.45/ipp/print -m everywhere

El paràmetre -m everywhere fa que CUPS detecti les capacitats via IPP. Això evita dependre d’arxius PPD.

Opció 2: LPD o AppSocket

Algunes impressores antigues només ofereixen LPD (Line Printer Daemon) o AppSocket (usualment port 9100).

Exemple amb AppSocket:

sudo lpadmin -p impressora-antiga -E -v socket://192.168.1.50 -m postscript.ppd

O amb LPD:

sudo lpadmin -p lpd-printer -E -v lpd://192.168.1.52/queue -m pxlmono.ppd

En aquests casos, triar el PPD correcte és clau. Si el fabricant no l’ofereix, foomatic-db pot ajudar.

Imprimir des de la terminal (útil per a scripts i servidors)

Si estàs en un entorn sense interfície gràfica, pots imprimir amb lp o lpr.

lp -d hp-red archivo.txt

Veure l’estat de la cua:

lpstat -t

Cancel·lar una tasca:

cancel JOB_ID

Compartir impressores per xarxa (des de Linux)

Si la teva màquina actua com a servidor d’impressió:

  • Edita /etc/cups/cupsd.conf
  • Assegura’t de permetre connexions des de la xarxa:
Listen 631
Port 631

<Location />
Order allow,deny
Allow all
</Location>
 
<Location /admin>
Order allow,deny
Allow all
</Location>
  • Habilita el browsing si estàs en una xarxa local:
cupsctl --share-printers
cupsctl --remote-admin --remote-any --debug-logging
  • Assegura’t que el firewall permeti el port 631 TCP.

Problemes freqüents (i com resoldre’ls)

El sistema detecta la impressora, però no imprimeix res

  • Verifica el log de CUPS: /var/log/cups/error_log
  • Augmenta el nivell de log:
cupsctl LogLevel=debug
  • Busca missatges com “Filter failed” o “Unsupported format”

Apareix “Impressora en pausa” o “Job stopped”

  • Reprèn la cua:
cupsenable nom_impressora
  • Reactiva el backend:
accept nom_impressora

Arxius que surten com a caràcters il·legibles

  • El tipus MIME pot estar mal configurat.
  • Fes servir -o raw per a enviar l’arxiu sense processament:
lp -d hp-red -o raw archivo.pdf

Drivers genèrics que funcionen bé

  • IPP Everywhere: per a models moderns.
  • PostScript: moltes impressores làser ho suporten directament.
  • PCL 5e/6: comuns en HP i Ricoh.
  • Foomatic/PXLmono: útil per a models antics sense driver oficial.
  • Gutenprint: en impressores d’ injecció de tinta Epson i Cànon, amb resultat variable.

Si necessites imprimir des de contenidors o entorns aïllats

En entorns amb Docker o chroot:

  • Munta el socket de CUPS:
-v /var/run/cups/cups.sock:/var/run/cups/cups.sock
  • Instal·la cups-client dins del contenidor.
  • Exporta la variable d’ entorn:
export CUPS_SERVER=localhost
export IPP_PORT=631

Checklist tècnica (útil per a entorns de treball)

Abans d’ afegir una impressora:

  • Confirmar si és USB o xarxa.
  • Veure si suporta IPP Everywhere.
  • Veure si necessita driver específic.
  • Identifica l’URI (lpinfo -v).
  • Confirmar si hi ha accés des de la xarxa (ping/scan port 631 o 9100).

Després de configurar:

  • Provar la impressió amb lp.
  • Revisar la cua amb lpstat.
  • Confirmar la persistència després de reinici.
  • Habilitar i acceptar la impressora si cal.
  • Revisar als logs si hi ha errors.

A xarxes compartides:

  • Verificar cupsd.conf i opcions de cupsctl.
  • Assegurar regles de firewall.
  • Documentar URI exacta per a altres usuaris.

Donar suport i restaurar configuracions d’ impressió

Quan treballes en entorns corporatius o educatius, o simplement necessites mantenir diverses estacions amb la mateixa configuració d’impressió, no té sentit repetir tot el procés manualment.

La informació clau està a:

  • /etc/cups/printers.conf: conté les cues i paràmetres.
  • /etc/cups/ppd/: conté els arxius .ppd associats a cada impressora.
  • /etc/cups/cupsd.conf: configuració general del servidor d’impressió.

Per a fer backup complet de les configuracions:

sudo tar -czvf cups_backup.tar.gz /etc/cups/

Per a restaurar en una altra màquina (o la mateixa):

  • Atura CUPS:
sudo systemctl stop cups
  • Extreu l’ arxiu:
sudo tar -xzvf cups_backup.tar.gz -C /
  • Assegura’t que els permisos siguin correctes:
sudo chown -R root:lp /etc/cups
sudo chmod 600 /etc/cups/printers.conf
  • Reinicia el servei:
sudo systemctl start cups

Aquest mètode clona les cues d’ impressió. Si les impressores de xarxa tenen IP dinàmica, fes servir adreces estàtiques o noms DNS per a evitar problemes en restaurar.

Migrar impressores entre màquines sense perdre configuracions

Si tens diverses estacions i necessites que totes imprimeixin igual:

  • Fes un backup com es va explicar a dalt.
  • Assegura’t de tenir instal·lats els mateixos paquets (cups, cups-filters, foomatic, etc.).
  • Copia també el contingut d’usr/share/ppd/ si tens drivers personalitzats o instal·lats des de .deb/.rpm.
  • En entorns amb gestió de la configuració (Ansible, Puppet, etc.), defineix cues mitjançant lpadmin i copia PPDs al vol.

Ús de LDAP i autenticació

En xarxes centralitzades, és freqüent integrar CUPS amb LDAP (per a usuaris) o Kerberos (per a autenticació d’impressió segura). Això escapa a l’abast d’una guia bàsica, però alguns punts clau:

  • Pots fer que CUPS requereixi autenticació per imprimir.
  • A cupsd.conf, activa:
<Location /printers>
AuthType Default
Require user @allowedusers
Order allow,deny
Allow from 192.168.0.0/24
</Location>
  • L’autenticació per PAM o Kerberos depèn de com hagi estat compilat CUPS. No totes les distribucions el tenen activat per defecte.

Configuració de quotes i seguiment d’ ús

CUPS no té un sistema de quotes nadiu com a tal, però sí que pots:

  • Controlar qui pot imprimir (a nivell de grup).
  • Fer servir eines com PyKota o PaperCut per a un seguiment detallat i establir límits.
  • Consultar logs per analitzar l’ ús:
grep "Print-Job" /var/log/tasses/page_log

Aquest arxiu conté línia per línia qui va imprimir què, quan i quantes pàgines.

Impressió remota des de clients Linux

Si tens un servidor que comparteix impressores, els clients poden detectar-les automàticament si:

  • Són a la mateixa xarxa.
  • El servidor anuncia les impressores per Avahi/Bonjour.
  • El client té CUPS amb navegació remota activa.

Per a forçar la detecció:

cupsctl BrowseRemoteProtocols=dnssd

Si vols afegir manualment una impressora del servidor:

sudo lpadmin -p oficina -E -v ipp://192.168.1.10/printers/oficina -m everywhere

També pots editar /etc/cups/client.conf als clients i establir:

ServerName 192.168.1.10

Això redirigeix tots els treballs d’impressió a aquest servidor.

Problemes amb PDF, fonts o caràcters especials

Un dels errors més frustrants en imprimir des de Linux és quan els PDF surten amb símbols estranys, fonts errònies o pàgines en blanc.

Això pot passar per:

  • Arxius PDF generats per eines que no incrusten correctament les fonts.
  • El backend d’impressió fa servir filtres (cups-filters) que no interpreten bé alguns formats.

Solucions concretes:

  • Converteix el PDF abans d’ imprimir:
pdftops archivo.pdf salida.ps
lp salida.ps
  • Fes vservir pdf2ps, ps2pdf, pdfunite, segons el cas.
  • Si el problema passa amb un sol usuari, neteja el seu caixet de CUPS:
rm -r ~/.cache/cups
  • En casos persistents, pots desactivar la conversió automàtica:
lp -o raw archivo.pdf

Això obliga a enviar l’arxiu tal com està, però requereix que la impressora pugui processar-lo directament (no totes poden).

Automatització d’ impressions o integració amb scripts

En entorns on es generen informes, etiquetes o comprovants, pot ser útil automatitzar l’ enviament d’ arxius a la impressora.

Exemple de script bàsic a Bash:

#!/bin/bash

ARCHIVO="$1"
IMPRESORA="etiquetes"
 
if [[ -f "$ARXIU" ]]; then
  lp -d "$IMPRESSORA" "$ARXIU"
else
  echo "Arxiu no trobat"
fi

Es pot integrar amb cron, aplicacions web o sistemes ERP.

El que convé evitar

No depenguis de l’autodiscovery en entorns amb moltes màquines

Pot funcionar bé en xarxes petites, però és inestable en xarxes grans, especialment si hi ha múltiples CUPS anunciant impressores per Avahi.

No suposis que una impressora funcionarà igual a Windows i Linux

Els drivers i protocols canvien. Algunes impressores funcionen bé a Windows gràcies a controladors propietaris que no tenen equivalent lliure.

No facis servir impressores sense suport IPP si pots evitar-ho

A llarg termini, els models sense IPP acaben generant més problemes. Abans de comprar verifica aquesta compatibilitat.

Recursos addicionals útils

  • https://www.openprinting.org/ — base de dades de compatibilitat i drivers.
  • man cupsd, man lpadmin, man printers.conf — documentació real, útil quan saps el que estàs buscant.
  • /var/log/cups/error_log — primer lloc que hauries de revisar quan alguna cosa falla.

Resum de comandaments freqüents

Instal·lació i servei

# Instal·lar CUPS
sudo apt install cups         # Debian/Ubuntu
sudo dnf install cups         # Fedora
sudo pacman -S cups           # Arch
 
# Habilitar i arrencar el servei
sudo systemctl enable --now cups
 
# Veure estat del servei
systemctl status cups

Comandaments d’ impressió

# Imprimir arxiu
lp arxiu.pdf
lp -d nom_impressora arxiu.pdf
 
# Veure impressores i cua
lpstat -p
lpstat -t
 
# Cancel·lar tasca
cancel ID_tasca
 
# Forçar impressió directa (sense processar)
lp -o raw arxiu
 
# Reprendre impressora i acceptar treballs
cupsenable nom_impressora
accept nom_impressora

Administració d’ impressores

# Veure dispositius disponibles
lpinfo -v 

# Veure models disponibles
lpinfo -m
 
# Afegir impressora
sudo lpadmin -p nombre -E -v URI -m modelo.ppd
 
# Eliminar impressora
sudo lpadmin -x nombre
 
# Establir impressora per defecte
lpoptions -d nombre

Configuració manual

  • Arxiu principal: /etc/cups/cupsd.conf
  • Cues d’impressió: /etc/cups/printers.conf
  • PPDs instal·lats: /etc/cups/ppd/
  • Logs d’errors: /var/log/cups/error_log
  • Logs de treballs impresos: /var/log/cups/page_log

Interfície web de CUPS

http://localhost:631

Des d’aquí pots:

  • Afegir, eliminar i configurar impressores.
  • Veure treballs actius i errors.
  • Veure paràmetres avançats de cues i polítiques.

Configuració de compartició d’ impressores

cupsctl --share-printers
cupsctl --remote-admin --remote-any

Edita /etc/cups/cupsd.conf per a permetre connexions remotes i accesos per xarxa.

Backup i restauració

# Backup
sudo tar -czvf cups_backup.tar.gz /etc/cups/
 
# Restaurar
sudo systemctl stop cups
sudo tar -xzvf cups_backup.tar.gz -C /
sudo systemctl start cups

Diagnòstic

# Augmentar nivell de log
cupsctl LogLevel=debug

# Veure errors recents
less /var/log/cups/error_log
 
# Netejar caché de l'usuari (si hi ha errors en imprimir)
rm -r ~/.cache/cups

Protocolos y URIs comunes

TipusURI d’ exemple
USBusb://HP/DeskJet_3700_series
IPPipp://192.168.1.45/ipp/print
AppSocketsocket://192.168.1.50
LPDlpd://192.168.1.52/queue
SMB (CIFS)smb://SERVIDOR/cua (requereix smbspool)

Models de drivers útils

DriverÚs recomanat
everywhereIPP Everywhere / AirPrint
postscriptImpressores làser amb suport PS
pxlmonoHP/Ricoh làser monocrom
pxlcolorHP color làser
foomatic-…Casos especials / models antics
gutenprintInjecció de tinta Epson/Canon (amb resultats mixtos)

Firewall: ports necessaris

ProtocolPort
IPP631/TCP
AppSocket9100/TCP
LPD515/TCP

Conclusió

Configurar impressores a Linux no és només endollar i llestos, especialment quan es treballa amb models heretats, entorns corporatius, o requisits específics de seguretat o automatització. El que estalvia temps no és conèixer tots els detalls tècnics, sinó saber exactament on mirar quan alguna cosa no funciona.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *