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.
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/-Wno-format-truncation//" \
-i configure \
-i config-scripts/cups-compiler.m4
Construisez Cups en lançant les
commandes suivantes :
./configure --libdir=/usr/lib \
--with-system-groups=lpadmin \
--with-docdir=/usr/share/cups/doc-2.3.3op2 &&
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 ».
Maintenant, en tant qu'utilisateur root
:
make install &&
ln -svnf ../cups/doc-2.3.3op2 /usr/share/doc/cups-2.3.3op2
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.33 or
GTK+-3.24.30 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.24,
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.54.0 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.54.0 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