Cups-2.4.2

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]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Informations sur le paquet

Dépendances de Cups

Requises

GnuTLS-3.7.7

Recommandées

Facultatives

Avahi-0.8, libpaper-1.1.24+nmu5, LLVM-14.0.6 (avec clang), MIT Kerberos V5-1.20, PHP-8.1.8 et Python-2.7.18

Requises (Après installation)

cups-filters-1.28.15

Facultatives (Après installation)

Gutenprint-5.3.4 et hplip (imprimantes HP)

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/cups

Configuration du noyau

[Note]

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.4), activez les options suivantes dans la configuration de votre noyau et recompilez le noyau :

Device Drivers  --->
  [*] USB support  --->                          [CONFIG_USB_SUPPORT]
    <*/M>  OHCI HCD (USB 1.1) support            [CONFIG_USB_OHCI_HCD]
    <*/M>  UHCI HCD (most Intel and VIA) support [CONFIG_USB_UHCI_HCD]
    <*/M>  USB Printer support                   [CONFIG_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  --->    [CONFIG_PARPORT]
    <*/M> PC-style hardware            [CONFIG_PARPORT_PC]
  Character devices  --->
    <*/M> Parallel printer support     [CONFIG_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.1.3, 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.

Les développeurs amont préfèrent clang à gcc, mais le système de construction essaiera d'utiliser une option d'avertissement à la compilation incompatible avec clang. Si vous avez installé clang, supprimez cette option d'avertissement :

sed -e "s/format-truncation//" \
    -i configure \
       config-scripts/cups-compiler.m4

Construisez Cups en exécutant les commandes suivantes :

./configure --libdir=/usr/lib            \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.4.2 &&
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 ». Un test, httpAddrGetList, est connu pour échouer.

Maintenant, en tant qu'utilisateur root :

make install &&
ln -svnf ../cups/doc-2.4.2 /usr/share/doc/cups-2.4.2

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]

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+-2.24.33 or GTK+-3.24.34 et taper la commande suivante en tant qu'utilisateur root :

gtk-update-icon-cache -qtf /usr/share/icons/hicolor

Explication des commandes

sed ... configure : ce sed supprime une option de compilation qui n'est plus prise en charge. Sans ce changement, la compilation fonctionnera mais un avertissement sur une option invalide sera émis à chaque invocation du compilateur.

CC=gcc CXX=g++ : indiquez ces variables si vous préférez utiliser gcc au lieu de clang, qui est maintenant préféré en amont.

--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.26, 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 http://www.cups.org/documentation.php.

Pour que des imprimantes non PostScript impriment avec Cups, vous devez installer ghostscript-9.56.1 pour convertir PostScript en images raster et un pilote (comme ceux de Gutenprint-5.3.4) pour convertir les images rasters résultantes sous une forme compréhensible par l'imprimante. Les pilotes de Foomatic utilisent ghostscript-9.56.1 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

Unité Systemd

Pour lancer le daemon cupsd lorsque quelque chose tente d'y accéder, activez l'unit de systemd précédemment installée avec la commande suivante en tant qu'utilisateur root  :

systemctl enable cups

Contenu

Programmes installés: cancel, cupsaccept, cups-config, cupsctl, cupsd, cupsdisable, cupsenable, cupsfilter, cupsreject, cupstestppd, ippeveprinter, ipptool, lp, lpadmin, lpc, lpinfo, lpmove, lpoptions, lpq, lpr, lprm, lpstat, ppdc, ppdhtml, ppdi, ppdmerge et ppdpo
Bibliothèques installées: libcupsimage.so et libcups.so
Répertoires installés: /etc/cups, /usr/{include,lib,share}/cups, /usr/share/doc/cups-2.4.2 et /var/{cache,log,run,spool}/cups

Descriptions courtes

cancel

annule les tâches d'impression existantes dans les queues d'impression

cupsaccept

accepte les travaux envoyés à une destination

cups-config

est un outil de configuration pour Cups

cupsctl

met à jour ou interroge le fichier cupsd.conf pour un serveur

cupsd

est le programmeur de tâches du Common Unix Printing System

cupsdisable

arrête les imprimantes et les classes

cupsenable

démarre les imprimantes et les classes

cupsfilter

est une interface avec le sous-système de filtre de Cups qui vous permet de convertir un fichier dans un format spécifique

cupsreject

rejète les travaux envoyés à une destination

cupstestppd

teste la conformité des fichiers PPD

ippeveprinter

est une imprimante IPP Everywhere pour CUPS

ipptool

envoie des requêtes IPP à l'adresse spécifiée et teste ou affiche les résultats

lp

soumet des fichiers pour qu'ils soient imprimés ou modifie des tâches en attente

lpadmin

configure les queues d'une imprimante ou d'une classe fournies par Cups

lpc

offre un contrôle limité des queues d'imprimante ou de classe fournies par Cups

lpinfo

liste les périphériques ou les pilotes disponibles connus du serveur Cups

lpmove

envoie la tâche spécifiée vers une nouvelle destination

lpoptions

affiche ou règle les options de l'imprimante et ceux par défaut

lpq

affiche le statut actuel de la queue d'impression de l'imprimante mentionnée

lpr

soumet des fichiers pour qu'ils soient imprimés

lprm

annule des tâches d'impression envoyées pour impression vers la queue

lpstat

affiche des informations statutaires sur les classes, les tâches et les imprimantes actuelles

ppdc

compile des fichiers sources PPDC en un ou plusieurs fichiers PPD

ppdhtml

lit le fichier d'informations d'un pilote et donne une page de résumé en HTML qui liste tous les pilotes d'un fichier et les options supportées

ppdi

importe un ou plusieurs fichiers PPD dans un fichier source pour le compilateur PPD

ppdmerge

synchronise deux ou plusieurs fichiers PPD dans un seul fichier PPD multi-langages

ppdpo

extrait des chaînes UI de fichiers source PPDC et met à jour soit un fichier de traduction source d'un catalogue GNU gettext ou de chaînes au format Mac OS X

libcups.so

contient les fonctions de l'API de Cups

Last updated on