Cups-2.3.3

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.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-9.1.

Informations sur le paquet

  • Téléchargement (HTTP) : https://github.com/apple/cups/releases/download/v2.3.3/cups-2.3.3-source.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 412434ceefbdf3ec71bc9188a035f589

  • Taille du téléchargement : 7.8 Mo

  • Estimation de l'espace disque requis : 80 Mo (plus 89 Mo pour les tests)

  • Estimation du temps de construction : 0.5 SBU (plus 0.9 SBU pour les tests)

Dépendances de Cups

Requises

GnuTLS-3.6.14

Recommandées

Facultatives

Avahi-0.8, libpaper-1.1.24+nmu5, MIT Kerberos V5-1.18.2, OpenJDK-14.0.1, PHP-7.4.8 et Python-2.7.18

Requises (Après installation)

cups-filters-1.27.5

Facultatives (Après installation)

Gutenprint-5.3.3 et hplip (imprimantes HP)

Notes utilisateur : http://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.3), 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 lançant 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.

Construisez Cups en lançant les commandes suivantes :

sed -i '/stat.h/a #include <asm-generic/ioctls.h>' tools/ipptool.c  &&

CC=gcc CXX=g++ \
./configure --libdir=/usr/lib            \
            --disable-systemd            \
            --with-rcdir=/tmp/cupsinit   \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.3.3 &&
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.

Maintenant, en tant qu'utilisateur root :

make install &&
rm -rf /tmp/cupsinit &&
ln -svnf ../cups/doc-2.3.3 /usr/share/doc/cups-2.3.3

Créez le fichier de configuration de base du client Cups en lançant 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.32 or GTK+-3.24.21 et taper la commande suivante en tant qu'utilisateur root :

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

Explication des commandes

sed ... tools/ipptool.c : ce sed corrige un bogue causé par le changement des API en espace utilisateur pour les sockets effectué par glibc-2.30 .

CC=gcc CXX=g++ : Cette variable d'environnement assure que gcc est utilisé, si clang est installé. Supprimez-le, si vous préférez utiliser clang. L'utilisation de clang double presque le temps de compilation et réduit légèrement l'espace disque de la construction. L'espace disque des fichiers installé n'est pas réduit de manière significative.

--disable-systemd : Systemd n'est pas supporté par cette version de BLFS.

--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-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.23, 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.52 pour convertir PostScript en images raster et un pilote (comme ceux de Gutenprint-5.3.3) pour convertir les images rasters résultantes sous une forme compréhensible par l'imprimante. Les pilotes de Foomatic utilisent ghostscript-9.52 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-20200404 :

make install-cups

Contenu

Programmes installés: cancel, cupsaccept, cups-config, cupsctl, cupsd, cupsdisable, cupsenable, cupsfilter, cupsreject, cupstestppd, ippeveprinter, ippfind, 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.3.3 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.

ippfind

trouve les imprimantes suivant le protocole d'impression internet.

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 2020-05-20 12:22:19 +0000