Cups-2.0.2

Introduction à Cups

Le Common Unix Printing System (Cups) (système d'impression Unix général) est un ensemble 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-7.7.

Informations sur le paquet

  • Téléchargement (HTTP) : http://www.cups.org/software/2.0.2/cups-2.0.2-source.tar.bz2

  • Somme de contrôle MD5 du téléchargement : 6e0ea72dbafcf5baaa1cf4178e71096d

  • Taille du téléchargement : 8.4 Mo

  • Estimation de l'espace disque requis : 61 Mo (additional 28 Mo for the tests)

  • Estimation du temps de construction : 0.5 SBU (additional 4.4 SBU for the tests)

Dépendances de Cups

Requises

GnuTLS-3.3.12

Recommandées

Facultatives

avahi-0.6.31, libpaper-1.1.24+nmu4, Linux-PAM-1.1.8, MIT Kerberos V5-1.13.1, OpenJDK-1.8.0.31, PHP-5.6.6, Python-2.7.9 et xdg-utils-1.1.0-rc3.

Requises (après l'installation)

cups-filters-1.0.66

Facultative (après l'installation)

Gutenprint-5.2.10 et hplip (HP printers)

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

Configuration du noyau

[Note]

Note

Il existait un conflit entre la fondation 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.10), 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éfakt, 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.0-rc3, 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 '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                        &&
sed -i 's@else /\* HAVE_AVAHI \*/@elif defined(HAVE_AVAHI)@' test/ippserver.c &&
aclocal  -I config-scripts &&
autoconf -I config-scripts &&
./configure --libdir=/usr/lib            \
            --disable-systemd            \
            --with-rcdir=/tmp/cupsinit   \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.0.2 &&
make

Pour tester les résultats, tapez : make -k check. Un session graphique déjà active avec une adresse DBUS est necessaire pour lancer les tests. Un petit nombre des tests échoue pour des raisons inconnues.

Maintenant, en tant qu'utilisateur root :

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

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

Supprimez les filtres, qui font maintenant partie du paquet Cups Filters, en lançant les commandes suivantes en tant qu'utilisateur root :

rm -rf /usr/share/cups/banners &&
rm -rf /usr/share/cups/data/testprint
[Note]

Note

Si vous reinstallez ou mettez à jour Cups, les commandes suivantes cassent cups-filters-1.0.66, qui doit être, ensuite, réinstallé.

[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.26 or GTK+-3.14.8 et tapez la commande suivante en tant qu'utilisateur root:

gtk-update-icon-cache

Explication des commandes

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

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

sed ... cups-ssl.m4: Empêche le script configure de chercher libgcrypt-config, car libgcrypt n'est pas utilisé ailleurs dans le paquet.

sed ... test/ippserver.c: Ce sed corrige un bogue, qui apparait quand avahi n'est pas présent.

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

--with-rcdir=/tmp/cupsinit : Ce paramètre dit au processus de construction d'installer le script de démarrage inclu dans /tmp et non dans /etc/rc.d.

--with-system-groups=lpadmin : Ce paramètre garantit que seul lpadmin sera utilisé comme groupe d'administration de Cups.

--disable-libusb : Utilisez ce paramètre si vous avez installé libusb-1.0.19, mais si vous souhaitez le pilote usblp du noyau.

--enable-libpaper : Utilisez ce paramètre si vous avez installé libpaper et si vous souhaitez l'utiliser avec Cups.

Configuration de Cups

Fichiers de Config

/etc/cups/*

Information de 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 distant 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. Le Software Administrators Manual (manuel ges administrateurs du logiciel) et le Software Users Manual (manuel des utilisateurs) sont particulièrement utiles.

Pour que des imprimantes non PostScript impriment avec Cups, vous devez installer GPL-Ghostscript-9.15 pour convertir PostScript en images raster et un pilote (comme ceux de Gutenprint-5.2.10) pour convertir les images raster résultantes sous une forme compréhensible par l'imprimante. Les pilotes de Foomatic utilisent GPL-Ghostscript-9.15 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 Linux PAM, vous devez créer un fichier de configuation 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 Cups démarre automatiquement lors du démarrage du système, installez le script de démarrage inclu dans le paquet blfs-bootscripts-20150304 :

make install-cups

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/cups, /usr/lib/cups, /usr/share/cups, /usr/share/doc/cups-2.0.2, /var/cache/cups, /var/log/cups, /var/run/cups et /var/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'imprimante.

cupsaddsmb

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

cups-config

est un outil de configuration 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.

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.

cupstestdsc

teste la conformité des fichiers PostScript.

cupstestppd

teste la conformité des fichiers PPD.

ippfind

trouve les imprimantes IPP.

ipptool

envoie des requêtes IPP à l'adresse spécifiée et teste et/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 the Cups.

Last updated on : 2013-03-15 17:26:39 +010