Introduction à Cups
        
        
          Le Common
          Unix Printing System (Cups) (système d'impression Unix
          général) est un ensemble de tampon d'imprimantes et d'outils
          associés. Il se base sur l'"Internet Printing Protocol" (protocole
          d'impression par Internet) et il offre des services d'impression
          pour la plupart des imprimantes PostScript and raster.
        
        
          
          
            Note
          
          
            Les versions de développement de BLFS peuvent ne pas arriver à
            contruire ou à exécuter certains paquets correctement si LFS ou
            des dépendances ont été mises à jour depuis la dernière version
            stable des livres.
          
         
        
          Informations sur le paquet
        
        
        
          Dépendances de Cups
        
        
          Requises
        
        
          GnuTLS-3.8.10
        
        
          Recommandées
        
        
          colord-1.4.8, dbus-1.16.2,
          libusb-1.0.29, Linux-PAM-1.7.1 et xdg-utils-1.2.1
        
        
          Facultatives
        
        
          Avahi-0.8, libpaper-2.2.6, PHP-8.4.14 et
          Python2
        
        
          Requises (Après installation)
        
        
          cups-filters-2.0.1
        
        
          Facultatives (Après installation)
        
        
          Gutenprint-5.3.5 et hplip
          (imprimantes HP)
        
       
      
        
          Configuration du noyau
        
        
          
          
            Note
          
          
            Il existait un conflit entre le moteur libusb de Cups et le pilote usblp du noyau. Ce n'est
            plus le cas et cups fonctionnera avec les deux activés.
          
         
        
          Si vous voulez utiliser le pilote usblp du noyau (par exemple, si
          vous voulez utiliser escputil de
          Gutenprint-5.3.5), activez les options
          suivantes dans la configuration de votre noyau et recompilez le
          noyau :
        
        
Device Drivers --->
  [*] USB support --->                                             [USB_SUPPORT]
    <*/M> USB Printer support                                      [USB_PRINTER]
        
          Si vous avez une imprimante en port parallèle, activez les options
          suivantes dans la configuration de votre noyau et recompilez le
          noyau :
        
        
Device Drivers --->
  <*/M> Parallel port support --->                                     [PARPORT]
    <*/M> PC-style hardware                                         [PARPORT_PC]
  Character devices --->
    <*/M> Parallel printer support                                     [PRINTER]
       
      
        
          Installation de Cups
        
        
          Il va falloir ajouter un utilisateur lp car Cups va
          créer des fichiers qui appartiennent à cet utilisateur
          (l'utilisateur lp est celui que
          Cups utilise par défaut, mais on
          peut mettre un autre utilisateur en passant un paramètre au script
          configure). Utilisez
          la commande suivante en tant qu'utilisateur root :
        
        useradd -c "Print Service User" -d /var/spool/cups -g lp -s /bin/false -u 9 lp
        
          Vous aurez également besoin d'un groupe dédié qui contiendra les
          utilisateurs autorisés à effectuer des tâches administratives de
          Cups. Ajoutez le groupe en
          exécutant la commande suivante en tant qu'utilisateur root :
        
        groupadd -g 19 lpadmin
        
          Si vous voulez ajouter un utilisateur au groupe d'administration de
          Cups, lancez la commande suivante
          en tant qu'utilisateur root :
        
        usermod -a -G lpadmin <username>
        
          Si vous n'avez pas installé xdg-utils-1.2.1, utilisez le sed suivant pour modifier le
          navigateur utilisé par défaut pour accéder à l'interface Web de
          Cups :
        
        sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in
        
          Remplacez firefox par
          le navigateur Web de votre choix.
        
        
          Construisez Cups en exécutant les
          commandes suivantes :
        
        ./configure --libdir=/usr/lib            \
            --with-rcdir=/tmp/cupsinit   \
            --with-rundir=/run/cups      \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.4.14 &&
make
        
          Pour tester les résultats, lancez LC_ALL=C make -k check. Une
          session graphique active avec une adresse de bus est nécessaire
          pour lancer les tests. Assurez-vous qu'il n'y a pas d'autre
          instance de Cups actuellement
          lancée, sinon au moins 4 tests échoueront avec « adresse déjà
          utilisée ».
        
        
          Maintenant, en tant qu'utilisateur root :
        
        
make install &&
ln -svnf ../cups/doc-2.4.14 /usr/share/doc/cups-2.4.14
        
          Supprimez le script de démarrage inclus, qui n'est pas compatible
          avec LFS :
        
        rm -rf /tmp/cupsinit
        
          Créez le fichier de configuration de base du client Cups en exécutant la commande suivante en tant
          qu'utilisateur root :
        
        echo "ServerName /run/cups/cups.sock" > /etc/cups/client.conf
        
          
          
            Note
          
          
            Ce paquet installe des fichiers d'icônes dans la hiérarchie
            /usr/share/icons/hicolor et vous
            pouvez améliorer les performances du système et l'utilisation de
            la mémoire en mettant à jour /usr/share/icons/hicolor/index.theme. Pour
            réaliser la mise à jour vous devez avoir installé GTK-3.24.51 puis
            exécutez la commande suivante en tant qu'utilisateur root :
          
          gtk-update-icon-cache -qtf /usr/share/icons/hicolor
         
       
      
        
          Explication des commandes
        
        
          --with-rcdir=/tmp/cupsinit : Ce
          paramètre dit au processus de construction d'installer les scripts
          de démarrage inclus dans /tmp au lieu
          de /etc/rc.d.
        
        
          --with-rundir=/run/cupsinit : ce
          paramètre empêche le paquet de se référer au répertoire obsolète
          /var/run.
        
        
          --with-system-groups=lpadmin :
          Ce paramètre assure que seul lpadmin sera utilisé comme groupe
          d'administration de Cups.
        
        
          --disable-libusb : Utilisez ce
          paramètre si vous avez installé libusb-1.0.29,
          mais souhaitez utiliser le pilote usblp du noyau.
        
        
          --enable-libpaper : Utilisez ce
          paramètre si vous avez installé libpaper et souhaitez l'utiliser avec
          Cups.
        
       
      
        
          Configuration de Cups
        
        
          
            Fichiers de
            configuration
          
          
            /etc/cups/*
          
         
        
          
            Informations sur la configuration
          
          
            Normalement, les imprimantes sont initialisées via un navigateur
            web. Le serveur Cups sera
            accessible normalement par l'url http://localhost:631. Les
            imprimantes, les travaux d'impressions, et la configuration du
            serveur peuvent être initialisés et gérés. L'administration de
            système à distance peut également être initialisée. La
            configuration peut également être faite depuis la ligne de
            commande via les commandes lpadmin, lpoptions, et lpstat.
          
          
            La configuration de Cups dépend
            du type d'imprimante et elle peut être complexe. En général, les
            imprimantes PostScript sont plus simples. Pour des instructions
            détaillées sur la configuration et l'utilisation de Cups, voir https://www.cups.org/documentation.html.
          
          
            Pour que des imprimantes non PostScript impriment avec
            Cups, vous devez installer
            ghostscript-10.06.0 pour convertir
            PostScript en images raster et un pilote (comme ceux de Gutenprint-5.3.5) pour convertir les
            images rasters résultantes sous une forme compréhensible par
            l'imprimante. Les pilotes de 
            Foomatic utilisent ghostscript-10.06.0 pour convertir du
            PostScript en forme directement imprimable, mais les développeurs
            de Cups considèrent cela comme
            du bricolage.
          
         
        
          
            Configuration de Linux PAM
          
          
            Si CUPS a été construit avec le
            support de Linux PAM, vous devez
            créer un fichier de configuration PAM, pour le rendre fonctionnel correctement
            avec BLFS.
          
          
            Tapez la commande suivante en tant qu'utilisateur root pour créer le fichier de configuration
            pour Linux PAM :
          
          cat > /etc/pam.d/cups << "EOF"
# Begin /etc/pam.d/cups
auth    include system-auth
account include system-account
session include system-session
# End /etc/pam.d/cups
EOF
         
        
          
            Script de démarrage
          
          
            Si vous voulez que le service d'impression Cups démarre automatiquement lors du
            démarrage du système, installez le script de démarrage inclus
            dans le paquet blfs-bootscripts-20250225 :
          
          make install-cups