CUPS (Français)
Depuis le site de CUPS:
- «CUPS est le système d'impression opensource basé sur des normes et développé par Apple Inc pour OS®X et autres systèmes d'exploitation UNIX®-like.»
Bien qu'il existe d'autres méthodes d'impression tels que LPRNG, Common Unix Printing System est le choix le plus populaire en raison de sa relative facilité d'utilisation.
Installation
Il y a deux façons d'installer une imprimante:
- si un serveur CUPS tourne sur votre réseau et partage une imprimante, vous aurez seulement besoin du module client.
- si l'imprimante est connectée directement à votre système ou si vous avez accès à une imprimante réseau IPP alors installez un serveur CUPS local.
Installation du client
Le paquet libcups est le seul paquet requis. Installez-le à partir des dépôts officiels:
pacman -S libcups
Puis ajoutez l'adresse IP de votre serveur CUPS ou le nom d'hôte dans le fichier /etc/cups/client.conf
. Toutes les applications devraient trouver l'imprimante partagée par ce serveur CUPS.
Installation du serveur
Vous devez au moins installer les paquets cups, ghostscript et le pilote pour votre imprimante:
pacman -S cups ghostscript
Pilotes d'impression
Voici une liste non exhaustive des paquets de pilotes:
- gutenprint - une collection de pilotes de haute qualité pour Canon, Epson, Lexmark, Sony, Olympus et PCL pour une utilisation avec GhostScript, CUPS, Foomatic, et GIMP
- foomatic-db, foomatic-db-engine, foomatic-db-nonfree et foomatic-filters[broken link: package not found] - L'installation de foomatic-filters devrait résoudre des problèmes si le fichier error_log rapporte une erreur "stopped with status 22!".
- foo2zjs-nightlyAUR (disponible sur AUR) - pilotes pour le protocole ZjStream comme la HP Laserjet 1018. Plus d'infos ici.
- hplip - Pilotes HP pour DeskJet, OfficeJet, Photosmart, Business Inkjet et quelques modèles de LaserJet aussi bien qu'un certain nombre d'imprimantes Brother.
- splix - pilotes Samsung pour SPL (Samsung Printer Language)
- samsung-unified-driverAUR (disponible sur AUR) - Pilote Linux Unifié pour imprimantes et scanners Samsung. Requis pour de nouveaux modèles comme la ML-2160.
- cndrvcups-lbAUR (disponibles sur AUR) - pilote Canon UFR2 avec prise en charge des imprimantes des séries LBP, iR and MF.
-
epson-inkjet-printer-escprAUR (disponibles sur AUR) - une collection de pilotes pour les imprimantes Epson qui inclue l'outil
escputil
(qui permet le nettoyage et l'alignement des têtes d'impression, connaître le niveau des cartouches d'encre…).
Configuration du serveur
Modules kernel
Imprimantes USB
Vérifier simplement que le module usblp
est chargé avec lsmod
:
lsmod | grep usblp
Branchez votre imprimante et consultez les dernières lignes de dmesg pour savoir si votre imprimante est détectée:
# dmesg
[14853.493460] usb 2-1.4: new full-speed USB device number 4 using ehci_hcd [14853.917713] usblp 2-1.4:1.0: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x1A86 pid 0x7584 [14853.917747] usbcore: registered new interface driver usblp
Vous pouvez également vérifier avec lsusb que votre imprimante est bien reconnue parmi les périphériques usb :
lsusb
Imprimantes parallèle
Pour une imprimante branchée sur un port parallèle, vérifiez avec la commande lsmod
que les modules lp
, parport
et parport_pc
sont bien chargés. Si ce n'est pas le cas, veillez à les charger.
Démarrer CUPS
Le serveur peut-être démarré de la même façon que tout autre service avec systemd.
Pour la session en cours:
systemctl start cups.service
Et pour que le serveur se lance automatiquement à chaque démarrage:
systemctl enable cups.service
avahi-daemon
si vous avez besoin de retrouver votre imprimante sur le réseau:
systemctl start avahi-daemon
ou au démarrage:
systemctl enable avahi-daemon
Administration
CUPS peut être administré via la ligne de commande ou depuis l'interface web qui l'accompagne.
Interface en ligne de commande (CLI)
CUPS fournit un ensemble de commandes pour enregistrer une imprimante, la modifier, lancer une impression, etc. (commençant par lp*
ou cups*
). Voir la documentation sur votre serveur local.
Interface web
Une fois le service démarré, ouvrez un navigateur (en) à l'adresse http://localhost:631 .
Depuis l'onglet Administration, vous devriez pouvoir ajouter votre imprimante, indiquer le pilote à utiliser, etc. et tester cette configuration (par exemple avec l'impression d'une page de test).
L'imprimante n'est pas reconnue dans imprimantes locales
Il se peut que l'imprimante ne soit pas reconnue dans l'interface de Cups (imprimantes locales). Ceci est dû au fait que le noyau crée un composant qui se trouve dans /dev/usb/lp0
. Une règles udev résout ce problème et permet de faire un lien symbolique /dev/lp0 -> /dev/usb/lp0
.
Débranchez votre imprimante et arrêtez Cups
systemctl stop cups.service
Créez le fichier avec le contenu suivant :
/etc/udev/rules.d/10-cups_device_link.rules
KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"
Rechargez ensuite les règles udev
udevadm control --reload-rules
Assurez-vous que le module usblp
est bien chargé (commande juste au dessus), rebranchez votre imprimante et rédémarrez Cups
systemctl start cups.service
Identification
Par défaut, tout membre du groupe sys
peut administrer cups (ce comportement est défini par SystemGroup
dans /etc/cups/cups-files.conf
).
lp
qui permet à un utilisateur de gèrer ses impressions.Debug
Les journaux de cups sont situés dans /var/log/cups/
:
-
access_log
: enregistre l'activité sur l'interface web; -
error_log
: enregistre différents niveaux d'informations:- D=Debug (debug)
- E=Error (erreur)
- W=Warning (avertissement)
- I=Info (informatif)
- etc.
LogLevel
dans /etc/cups/cupsd.conf
, (voir man cupsd.conf
). Passez-le à debug
lorsque vous avez besoin d'identifier un problème d'impression.-
page_log
: enregistre une nouvelle entrée à chaque impression réussie.