Cups-2.2.4

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-8.1.

Informations sur le paquet

Dépendances de Cups

Requises

GnuTLS-3.5.14

Recommandées

Facultatives

Avahi-0.7, libpaper-1.1.24+nmu5, Linux-PAM-1.3.0, MIT Kerberos V5-1.15.1, OpenJDK-1.8.0.141, PHP-7.1.8, Python-2.7.13 et xdg-utils-1.1.2

Requises (Après installation)

cups-filters-1.16.1

Facultatives (Après installation)

Gutenprint-5.2.12 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.2.12), 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.2, 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.

Corrigez une regression dans CUPS-2.2.4 :

sed -i '2062,2069d' cups/dest.c

Construisez Cups en lançant les commandes suivantes :

sed -i 's:555:755:g;s:444:644:g' Makedefs.in                         &&
sed -i '/MAN.EXT/s:.gz::g' configure config-scripts/cups-manpages.m4 &&
sed -i '/LIBGCRYPTCONFIG/d' config-scripts/cups-ssl.m4               &&

aclocal  -I config-scripts &&
autoconf -I config-scripts &&

CC=gcc \
./configure --libdir=/usr/lib            \
            --with-rcdir=/tmp/cupsinit   \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.2.4 &&
make

Pour tester les résultats, lancez make -k check. Une session graphique active avec une adresse de bus est nécessaire pour lancer les tests. Certains tests échouent pour des raisons inconnues.

Maintenant, en tant qu'utilisateur root :

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

Créez le fichier de configuration de base du client Cups en lançant la commande suivante en tant qu'utilisateur root :

echo "ServerName /var/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.31 or GTK+-3.22.18 et taper la commande suivante en tant qu'utilisateur root :

gtk-update-icon-cache

Explication des commandes

sed ... cups/dest.c : Corrigez un régression dans cups-2.2.4, qui l'empêche de trouver des imprimantes lorsqu'aucune imprimante par défaut n'est définie.

sed ... Makedefs.in : Corrige les permissions de fichiers et des répertoires.

sed ... cups-manpages.m4 : Ce sed évite la compression des pages de manuel par défaut.

sed ... cups-ssl.m4 : Évite que le script configure ne cherche libgcrypt-config, car libgcrypt n'est utilisé nulle part ailleurs dans le paquet.

CC=gcc : 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.

--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.21, 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.21 pour convertir PostScript en images raster et un pilote (comme ceux de Gutenprint-5.2.12) pour convertir les images rasters résultantes sous une forme compréhensible par l'imprimante. Les pilotes de Foomatic utilisent ghostscript-9.21 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 org.cups.cupsd

Contenu

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

Descriptions courtes

accept

demande au système d'impression d'accepter les tâches d'impression sur les destinations spécifiées.

cancel

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

cupsaccept

accepte les travaux envoyés à une destination.

cupsaddsmb

exporte les imprimantes vers le logiciel Samba pour une utilisation avec des clients Windows.

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.

cupstestdsc

teste la conformité des fichiers PostScript.

cupstestppd

teste la conformité des fichiers PPD.

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.

reject

demande au système d'impression de rejeter les tâches d'impression des destinations spécifiées.

libcups.so

Contient les fonctions de l'API de Cups

Last updated on 2017-08-21 05:24:54 +0200