Cups-2.3.1
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.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 \
--with-rcdir=/tmp/cupsinit \
--with-system-groups=lpadmin \
--with-docdir=/usr/share/cups/doc-2.3.1 &&
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. Un test, httpAddrGetList
,
est connu pour échouer.
Maintenant, en tant qu'utilisateur root
:
make install &&
rm -rf /tmp/cupsinit &&
ln -svnf ../cups/doc-2.3.1 /usr/share/doc/cups-2.3.1
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
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.13 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.
--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.50 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.50 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.3.1 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 2020-02-21 18:55:55 +0100