Skip to content

Impression Linux

Serice cups-browsed

Les bases

Le service cups-browsed sert a décourir automatiquement des imprimantes

Qu'est-ce que cups-browsed ?

C'est un service qui : - Écoute les annonces d'imprimantes sur le réseau - Détecte automatiquement les imprimantes partagées via DNS-SD/mDNS/Avahi - Crée automatiquement les files d'attente locales

Il peut se connecte au serveur print.exemple.fr qui annonce ces imprimantes.

L'URL de connexion : DeviceURI

Le DeviceURI indique comment se connecter à l'imprimante :

DeviceURI implicitclass://print.exemple.fr/

Explication du format :

  • implicitclass:// : Protocole spécial de cups-browsed
  • Crée une "classe implicite" qui peut regrouper plusieurs destinations
  • Permet le basculement automatique entre serveurs/files

  • print.exemple.fr : Nom de la file distante

En réalité, cups-browsed traduit cela vers l'URL réelle, probablement :

ipp://print.exemple.fr/printers/printer-color-lys

Pour voir les vraies URLs :

# Voir les imprimantes découvertes
lpstat -v

# Arrêter la découverte automatique
sudo systemctl stop cups-browsed

# Désactiver complètement
sudo systemctl disable cups-browsed

Problème courant

Authentification SSO avec SSSD désactivation

sudo nano /etc/pam.d/cups

Remplacez tout le contenu par :

#%PAM-1.0
auth    required pam_unix.so
account required pam_unix.so

Puis redémarrez CUPS :

sudo systemctl restart cups

Si ça ne suffit pas

Modifiez aussi /etc/cups/cupsd.conf :

sudo nano /etc/cups/cupsd.conf

Changez uniquement les sections /admin :

<Location /admin>
  Order allow,deny
  Allow localhost
  Allow @LOCAL
</Location>

<Location /admin/conf>
  AuthType Basic
  Require valid-user
  Order allow,deny
  Allow localhost
</Location>

Dans la policy, remplacez @SYSTEM par @lpadmin :

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
  AuthType Basic
  Require user @lpadmin
  Order deny,allow
</Limit>

Puis :

sudo systemctl restart cups

Tester

# Vérifier que CUPS fonctionne
lpstat -v

# Tester l'interface web
firefox http://localhost:631/admin

Utilisez votre login/password local quand demandé.

Cette configuration désactive complètement SSSD pour CUPS et utilise uniquement l'authentification locale Unix. C'est la solution la plus simple.


title: Cups description: published: true date: 2025-12-08T15:36:09.422Z tags: linux editor: markdown dateCreated: 2025-12-08T15:36:09.422Z


Documentation CUPS

Guide technique pour l'administration et la gestion des permissions CUPS.

Gestion des privilèges (Groupe lpadmin)

Vérification de l'appartenance aux groupes :

groups $USER

Ajout de l'utilisateur au groupe lpadmin et redémarrage du service :

sudo usermod -a -G lpadmin $USER
sudo systemctl restart cups

Configuration ACL (cupsd.conf)

Édition du fichier de configuration :

sudo nano /etc/cups/cupsd.conf

Validation des droits d'administration pour le groupe @lpadmin :

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
  AuthType Default
  Require user @lpadmin
  Order deny,allow
</Limit>

Interfaces d'administration

Interface Web URL : http://localhost:631 Authentification : user / password système (requis : membre du groupe lpadmin).

CLI (lpadmin) Administration directe / modification d'imprimante :

sudo lpadmin -p [NomImprimante] -E -v [URI]

Impression en ligne de commande (CLI)

Pour lister les imprimantes disponibles :

lpstat -p -d

Cibler une imprimante spécifique :

lp -d [Fichier] [NomImprimante]

Imprimer via un serveur CUPS distant (l'option -h fonctionne aussi avec lpstat, lpadmin) :

lp -h [IP_Serveur]:631 -d [Fichier] [NomImprimante]

Gestion des pilotes (Drivers/PPD)

Lister les pilotes disponibles (Model) :

lpinfo -m

Rechercher un pilote spécifique (ex: HP) :

lpinfo -m | grep -i hp

Charger/Remplacer un fichier PPD pour une imprimante :

sudo lpadmin -p [NomImprimante] -P /chemin/vers/nouveau_pilote.ppd

Dépannage et Logs

Activation des logs de débogage (cupsd.conf) :

sudo cupsctl --debug-logging

Consultation des logs d'erreur en temps réel :

tail -f /var/log/cups/error_log

Vérification d'état (Imprimantes + Files d'attente) :

lpstat -t

Voire les taches d'impression :

lpstat -o printer-color

On peut par exemple supprimer la tache avec :

cancel printer-color-39

Cups-browsed

Un service permettant de découvrir les imprimantes sur le réseau.

Depuis le fichier de conf cups-browsed.conf on peut rajouter des imprimantes sans les ajouter manuellement.

cat /etc/cups/cups-browsed.conf 
BrowseProtocols cups
BrowseRemoteProtocols none
BrowsePoll serveur1.com:631
BrowsePoll serveur2.com:631
sudo systemctl restart cups-browsed
sudo systemctl restart cups

Danger

Attention : il faut bien redemarrer les deux services pour que les modifications prennent effet.