Nivell: ASIX / SMX
Sistema: Ubuntu Server 26.04 LTS
CUPS (Common Unix Printing System) és el sistema d’impressió estàndard en sistemes GNU/Linux i macOS. Permet gestionar impressores locals i en xarxa, actuar com a servidor d’impressió per a altres equips (Windows, Linux, macOS) i administrar cues d’impressió.
La finalitat d’aquest document és mostrar com:
- Instal·lar i arrancar el servei CUPS
- Configurar l’accés a la interfície web d’administració
- Afegir impressores locals i en xarxa
- Compartir impressores a la xarxa local
- Gestionar cues i treballs d’impressió
sudoActualitza la llista de paquets:
sudo apt update Actualitza els paquets:
sudo apt upgradesudo apt install cups cups-client cups-bsd printer-driver-allEls paquets principals instal·lats són:
| Paquet | Descripció |
|---|---|
cups |
Servidor d’impressió CUPS |
cups-client |
Eines de línia d’ordres per gestionar impressió |
cups-bsd |
Compatibilitat amb ordres BSD (lpr, lpq, lprm) |
printer-driver-all |
Col·lecció de controladors d’impressores |
cups --versionSortida esperada:
CUPS v2.4.xsudo systemctl enable cups
sudo systemctl start cupssudo systemctl status cupsSortida esperada (fragment):
● cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled)
Active: active (running) since ...sudo systemctl start cups # Engegar
sudo systemctl stop cups # Aturar
sudo systemctl restart cups # Reiniciar
sudo systemctl reload cups # Recarregar configuració sense aturarEl fitxer de configuració de CUPS és /etc/cups/cupsd.conf. Edita’l per permetre l’accés des de
la xarxa local:
sudo nano /etc/cups/cupsd.confcupsd.confLocalitza i modifica les seccions següents:
a) Escolta a totes les interfícies (no només localhost):
# Línia original:
Listen localhost:631
# Substitueix per:
Port 631
b) Permet l’accés a la interfície web des de la xarxa:
<Location />
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
</Location>
@LOCAL permet l’accés des de qualsevol equip de la xarxa
local. Per restringir a una subxarxa específica, substituir per Allow 192.168.1.0/24 (adaptant al rang de la xarxa).
c) Habilita la interfície web (si cal):
WebInterface Yes
sudo systemctl restart cupssudo ufw allow 631/tcp
sudo ufw allow 631/udp
sudo ufw reloadVerifica:
sudo ufw statusDes d’un navegador de la xarxa local, accedeix a:
http://IP_DEL_SERVIDOR:631Per exemple: http://192.168.1.10:631
Per poder administrar CUPS des de la interfície web, l’usuari ha de
pertànyer al grup lpadmin.
sudo usermod -aG lpadmin NOM_USUARIVerifica que l’usuari pertany al grup:
groups NOM_USUARICal tancar la sessió i tornar a entrar perquè el canvi de grup tingui efecte.
Obre http://IP_DEL_SERVIDOR:631
Ves a Administration → Add Printer
Introdueix credencials d’administrador quan es demani
Selecciona el tipus de connexió:
Local Printers: impressores connectades físicament
Network Printers: impressores en xarxa (LPD, IPP, SMB, etc.)Configura el nom, descripció i ubicació
Selecciona el controlador (driver) adequat
Fes clic a Add Printer
Llista impressores disponibles al sistema:
lpstat -p -dAfegeix una impressora en xarxa (protocol IPP):
sudo lpadmin -p nom_impressora \
-v ipp://192.168.1.50/ipp/print \
-m everywhere \
-E| Paràmetre | Significat |
|---|---|
-p |
Nom de la impressora a CUPS |
-v |
URI de connexió (protocol + adreça) |
-m everywhere |
Usar el controlador universal IPP Everywhere |
-E |
Habilitar la impressora immediatament |
Estableix la impressora per defecte:
sudo lpadmin -d nom_impressoraAfegeix una impressora USB local:
# Detecta el dispositiu
lpinfo -v | grep usb
# Afegeix la impressora
sudo lpadmin -p ImpresoraUSB \
-v usb://fabricant/model \
-m drv:///sample.drv/generic.ppd \
-EEdita /etc/cups/cupsd.conf i afegeix o modifica:
sudo nano /etc/cups/cupsd.conf# Habilita la compartició de impressores
ServerName IP_DEL_SERVIDOR
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
I afegeix al final:
<Policy default>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs ...>
Order deny,allow
</Limit>
</Policy>
Via interfície web:
Via línia d’ordres:
sudo lpadmin -p nom_impressora -o printer-is-shared=truesudo cupsctl --share-printerslpr -P nom_impressora fitxer.pdfOpcions útils:
lpr -P nom_impressora -# 3 fitxer.pdf # 3 còpies
lpr -P nom_impressora -o landscape fitxer.pdf # Orientació horitzontallpq # Cua de la impressora per defecte
lpq -P nom_impressora # Cua d'una impressora específica
lpstat -p # Estat de totes les impressores
lpstat -o # Treballs actius de totes les cueslprm ID_TREBALL # Cancel·lar un treball concret
lprm -P nom_impressora - # Cancel·lar tots els treballs d'una impressora
cancel -a nom_impressora # Alternativa amb l'ordre cancelsudo cupsenable nom_impressora # Habilitar
sudo cupsdisable nom_impressora # Deshabilitar
sudo cupsaccept nom_impressora # Acceptar treballs a la cua
sudo cupsreject nom_impressora # Rebutjar nous treballsCUPS permet crear una impressora virtual que genera fitxers PDF. Resulta molt útil per a proves i entorns de desenvolupament.
sudo apt install cups-pdfAixò crea automàticament una impressora anomenada
PDF a CUPS. Els documents impresos es desen a /var/spool/cups-pdf/USUARI/.
lpstat -p PDFecho "Prova d'impressió CUPS" | lpr -P PDF
ls ~/PDF/ # El fitxer generat es desa aquí per defecteLa carpeta de destinació per a l’usuari root és /var/spool/cups-pdf/root/ i per a altres usuaris és ~/PDF/ (es crea automàticament).
| Fitxer | Contingut |
|---|---|
/var/log/cups/access_log |
Accessos HTTP a la interfície web |
/var/log/cups/error_log |
Errors i avisos del servidor |
/var/log/cups/page_log |
Registre de pàgines impreses |
sudo tail -f /var/log/cups/error_logEdita /etc/cups/cupsd.conf:
sudo nano /etc/cups/cupsd.confLogLevel debug2
Reinicia el servei i consulta el registre per obtenir informació detallada.
La interfície web no és accessible des de la xarxa:
- Verificar que
Port 631substitueixListen localhost:631- Comprovar que el tallafoc permet el port 631
- Revisar les directives
<Location>al fitxer de configuració
L’usuari no pot administrar CUPS:
- Verificar que l’usuari pertany al grup
lpadmin- Tancar sessió i tornar a entrar
La impressora no apareix a la xarxa:
- Verificar que
Browsing Onestà activat acupsd.conf- Comprovar que la impressora té activada l’opció de compartir
Treballs a la cua que no s’imprimeixen:
lpstat -p nom_impressora # Verifica estat
sudo cupsenable nom_impressora
sudo cupsaccept nom_impressora| Acció | Ordre |
|---|---|
| Instal·lar CUPS | sudo apt install cups |
| Estat del servei | sudo systemctl status cups |
| Llistar impressores | lpstat -p |
| Afegir impressora | sudo lpadmin -p nom -v uri -m model -E |
| Imprimir fitxer | lpr -P nom_impressora fitxer |
| Veure cua | lpq -P nom_impressora |
| Cancel·lar treball | lprm ID |
| Habilitar impressora | sudo cupsenable nom_impressora |
| Compartir impressora | sudo lpadmin -p nom -o printer-is-shared=true |
| Veure errors | sudo tail -f /var/log/cups/error_log |
- Documentació oficial CUPS: https://www.cups.org/documentation.html
- Manual de
cupsd.conf:man cupsd.conf- Manual de
lpadmin:man lpadmin- Interfície web d’administració:
http://localhost:631