CUPS – ArchWiki – Bien choisir son serveur d impression
CUPS est le système d'impression open source basé sur des normes développé par Apple Inc. pour macOS® et d'autres systèmes d'exploitation de type UNIX®.
Sommaire
Installation
Installez le tasses paquet.
Si vous souhaitez "imprimer" un document PDF, installez également le logiciel. cups-pdf paquet. Par défaut, les fichiers pdf sont stockés dans / var / spool / cups-pdf /Nom d'utilisateur/
. L'emplacement peut être changé dans /etc/cups/cups-pdf.conf
.
Activer et démarrer org.cups.cupsd.service
.
Activation du socket
tasses fournit un org.cups.cupsd.socket
unité. Si org.cups.cupsd.socket
est activé (et org.cups.cupsd.service
est désactivé), systemd ne lancera pas CUPS immédiatement, il écoutera simplement les sockets appropriés. Ensuite, chaque fois qu’un programme tente de se connecter à l’une de ces prises CUPS, systemd se lance. org.cups.cupsd.service
et de transférer de manière transparente le contrôle de ces ports au processus CUPS.
Ainsi, CUPS ne démarre que lorsqu'un programme souhaite utiliser le service.
Interfaces de connexion
Des étapes supplémentaires pour la détection d’imprimante sont répertoriées ci-dessous pour diverses interfaces de connexion.
- Les programmes d'assistance CUPS sont exécutés à l'aide du
tasses
utilisateur et groupe. Cela permet aux programmes d’aide d’accéder aux imprimantes et de lire les fichiers de configuration/ etc / cups /
, qui appartiennent à latasses
groupe. - Antérieur à tasses 2.2.6-2, le
lp
groupe a été utilisé à la place. Après la mise à niveau, les fichiers dans/ etc / cups
devrait appartenir à latasses
groupe etUtilisateur 209
etGroupe 209
s'installer/etc/cups/cups-files.conf
.
USB
Pour voir si votre imprimante USB est détectée:
$ lsusb
(...) Unité de bus 001 007: ID 03f0: 1004 Hewlett-Packard DeskJet 970c / 970cse
Port parallèle
Pour utiliser une imprimante à port parallèle, le lp
, parport
et parport_pc
les modules du noyau sont requis.
$ dmesg | grep -i parport
parport0: Imprimante, Hewlett-Packard HP LaserJet série 2100 lp0: utilisation de parport0 (polling)
Réseau
Pour découvrir ou partager des imprimantes à l'aide de DNS-SD / mDNS, configurez la résolution du nom d'hôte .local avec Avahi, puis redémarrez. org.cups.cupsd.service
.
Pour partager des imprimantes avec Samba, par exemple si le système doit être un serveur d'impression pour les clients Windows, le samba forfait sera nécessaire.
Pilotes d'imprimante
Les pilotes d’une imprimante peuvent provenir de l’une des sources indiquées ci-dessous. Voir Problèmes spécifiques à CUPS / Printer pour une liste incomplète des pilotes que d'autres ont réussi à faire fonctionner.
Pour conduire une imprimante, CUPS a besoin d’un fichier PPD et, pour la plupart des imprimantes, de filtres.
Pour plus de détails sur la manière dont CUPS utilise les fichiers PPD et les filtres, voir [1].
La liste des imprimantes OpenPrinting fournit des recommandations de pilotes pour de nombreuses imprimantes. Il fournit également des fichiers PPD pour chaque imprimante, mais la plupart d'entre eux sont disponibles via foomatic ou le package de pilotes recommandé.
Lorsqu'un fichier PPD est fourni à CUPS, le serveur CUPS régénère les fichiers PPD et les enregistre dans / etc / cups / ppd /
.
CUPS
CUPS inclut la prise en charge des imprimantes AirPrint et IPP Everywhere.
Filtres OpenPrinting CUPS
Le groupe de travail OpenPrinting de la Linux Foundation fournit des filtres de tasses. Il s’agit de moteurs, de filtres et d’autres fichiers binaires qui faisaient autrefois partie de CUPS mais ne sont plus maintenus par Apple. Ils sont disponibles dans le filtres-tasses paquet qui est une dépendance de tasses.
Les imprimantes non PostScript nécessitent Ghostscript étre installé. Pour Ghostscript, gsfonts peut également être nécessaire.
Foomatic
Foomatic du groupe de travail OpenPrinting de la Linux Foundation fournit des fichiers PPD pour de nombreux pilotes d'imprimante, qu'ils soient libres ou non. Pour plus d'informations sur ce que fait foomatic, voir Foomatic du point de vue du développeur.
Pour utiliser foomatic, installez foomatic-db-engine et au moins un de:
Les fichiers PPD foomatic peuvent nécessiter des filtres supplémentaires, tels que min12xxwAUR.
Gutenprint
Le projet Gutenprint fournit des pilotes pour les imprimantes Canon, Epson, Lexmark, Sony, Olympus et PCL à utiliser avec CUPS et GIMP.
Installer gutenprint et foomatic-db-gutenprint-ppds.
cups-genppdupdate
en tant que root et redémarrez CUPS. cups-genppdupdate mettra à jour les fichiers PPD des imprimantes configurées, voir cups-genppdupdate (8) pour plus de détails.Pilotes spécifiques au fabricant
De nombreux fabricants d'imprimantes fournissent leurs propres pilotes Linux. Celles-ci sont souvent disponibles dans les dépôts officiels Arch ou dans l'AUR.
Certains de ces pilotes sont décrits plus en détail dans la section Problèmes spécifiques à CUPS / Printer.
URI de l'imprimante
La liste ci-dessous répertorie les étapes supplémentaires permettant de générer manuellement l'URI, si nécessaire. Certaines imprimantes ou pilotes peuvent nécessiter un URI spécial, comme décrit dans la section Problèmes spécifiques à CUPS / Imprimante.
USB
CUPS devrait pouvoir générer automatiquement un URI pour les imprimantes USB, par exemple usb: // HP / DESKJET% 20940C? série = CN16E6C364BH
.
Si ce n'est pas le cas, consultez la rubrique CUPS / Dépannage # Imprimantes USB pour connaître les étapes de dépannage.
Port parallèle
L'URI doit être de la forme parallèle:dispositif
. Par exemple, si l’imprimante est connectée le / dev / lp0
, utilisation parallèle: / dev / lp0
.
Si vous utilisez un adaptateur de port USB vers parallèle, utilisez parallèle: / dev / usb / lp0
en tant qu'URI d'imprimante.
Réseau
Si vous avez configuré Avahi comme dans #Network, CUPS devrait détecter l’URI de l’imprimante. Vous pouvez aussi utiliser avahi-découvrir
pour trouver le nom de votre imprimante et son adresse (par exemple, BRN30055C6B4C7A.local / 10.10.0.155: 631
).
L'URI peut également être généré manuellement, sans utiliser Avahi.
Une liste des schémas d'URI disponibles pour les imprimantes en réseau est disponible dans la documentation CUPS. Comme les détails exacts des URI diffèrent d’une imprimante à l’autre, consultez le manuel de l’imprimante ou les problèmes propres à CUPS / spécifiques à l’imprimante.
L’URI pour les imprimantes sur des partages SMB est décrit dans la section smbspool (8) page de manuel.
Les serveurs d’impression CUPS distants sont accessibles via un URI de la forme ipp: //nom d'hôte: 631 / imprimantes /nom_file
. Voir Partage CUPS / Imprimante # Entre les systèmes GNU / Linux pour plus de détails sur la configuration du serveur d'impression distant.
Voir CUPS / Dépannage # Problèmes de réseau pour d'autres problèmes et solutions.
Usage
CUPS peut être entièrement contrôlé à l'aide des outils CLI lp * et cups *.
Vous pouvez également utiliser l’interface #Web ou l’une des applications #GUI.
- le queue nom est un nom court mais descriptif utilisé sur le système pour identifier la file d'attente. Ce nom ne doit contenir ni espaces ni caractères spéciaux. Par exemple, une file d'attente d'impression correspondant à un HP LaserJet 5P pourrait s'appeler "hpljet5p". Plusieurs files d'attente peuvent être associées à chaque imprimante physique.
- le emplacement est une description de l'emplacement physique de l'imprimante (par exemple "chambre" ou "cuisine"). Ceci aide à maintenir plusieurs imprimantes.
- le la description est une description complète de la file d'attente d'impression. Une utilisation courante est le nom complet de l’imprimante (du type "HP LaserJet 5P").
Outils CLI
Voir la documentation locale de CUPS pour plus de conseils sur les outils de ligne de commande.
Remarque: Les commutateurs de ligne de commande ne peuvent pas être groupés
- Lister les appareils
# lpinfo -v $ / usr / lib / cups / backend / snmp adresse IP # Utiliser SNMP pour trouver un URI
- Lister les modèles
$ lpinfo -m
- Ajouter une nouvelle file d'attente
# lpadmin -p nom_file -E -v uri -m modèle
le nom_file C'est à toi de voir.
Exemples:
# lpadmin -p HP_DESKJET_940C -E -v "usb: // HP / DESKJET% 20940C? série = CN16E6C364BH" -m drv: ///HP/hp-deskjet_940c.ppd.gz # lpadmin -p AirPrint -E -v "ipp: //10.0.1.25/ipp/print" -m partout # File d'attente sans pilote (Apple AirPrint ou IPP Everywhere) # lpadmin -p SHARED_PRINTER -m raw # File d'attente brute; pas de PPD ou de filtre # lpadmin -p Test_Printer -E -v "ipp: //10.0.1.3/ipp/print" -m pxlmono.ppd # Spécification d'un fichier PPD au lieu d'un modèle
Remarque: Lorsque vous spécifiez le fichier PPD, utilisez uniquement le nom du fichier et non le chemin complet (par exemple, pxlmono.ppd
au lieu de /usr/share/ppd/cupsfilters/pxlmono.ppd
)
- Définir l'imprimante par défaut
$ lpoptions -d nom_file
- Changer les options
$ lpoptions -p nom_file -l # Liste les options $ lpoptions -p nom_file -o option=valeur # Définir une option
Exemple:
$ lpoptions -p HP_DESKJET_940C -o PageSize = A4
- Vérifier le statut
$ lpstat -s $ lpstat -p nom_file
- Désactiver une imprimante
# cupsdisable nom_file
- Activer une imprimante
# cupsenable nom_file
- Configurez l'imprimante pour accepter les travaux.
# cupsaccept nom_file
- Retirer une imprimante
Commencez par le configurer pour rejeter toutes les entrées entrantes:
# cupsreject nom_file
Puis désactivez-le.
# cupsdisable nom_file
Enfin le retirer.
# lpadmin -x nom_file
- Imprimer un fichier
$ lpr fichier $ lpr - # 17 fichier # imprimer le fichier 17 fois $ echo 'Bonjour tout le monde!' | lpr -p # affiche le résultat d'une commande. Le commutateur -p ajoute un en-tête.
- Vérifier la file d'attente
$ lpq $ lpq -a # sur toutes les files d'attente
- Effacer la file d'attente
# lprm # supprime uniquement la dernière entrée # lprm - # supprime toutes les entrées
interface Web
Le serveur CUPS peut être entièrement administré via l’interface Web, disponible sur http: // localhost: 631 /.
Remarque: Si une connexion HTTPS à CUPS est utilisée, elle peut très longtemps avant que l’interface apparaisse lors de son premier accès. En effet, la première demande déclenche la génération de certificats SSL, ce qui peut prendre beaucoup de temps.
Pour effectuer des tâches administratives à partir de l'interface Web, une authentification est requise. Authentifier soit en tant que racine
ou assurez-vous que votre utilisateur est membre d'un groupe avec des privilèges d'administration d'imprimante, voir #Configuration.
- Ajouter une file d'attente
Aller au Administration page.
- Modifier les files d'attente existantes
Aller au Imprimantes page, et sélectionnez une file d'attente à modifier.
- Tester une file d'attente
Aller au Imprimantes page et sélectionnez une file d'attente.
Applications graphiques
Si votre utilisateur ne dispose pas des privilèges suffisants pour administrer CUPS, les applications demanderont le mot de passe root à leur démarrage. Pour donner aux utilisateurs des privilèges administratifs sans avoir besoin d'un accès root, voir #Configuration.
- GtkLP – Interface GTK + pour CUPS.
- https://gtklp.sirtobi.com/index.shtml || gtklpAUR
- gestionnaire d'impression – Outil de gestion des travaux d'impression et des imprimantes (KDE).
- https://cgit.kde.org/print-manager.git || gestionnaire d'impression
- système-config-imprimante – Outil de configuration d'imprimante GTK + et applet d'état.
- http://cyberelk.net/tim/software/system-config-printer/ || système-config-imprimante
Configuration
La configuration du serveur CUPS se trouve dans /etc/cups/cupsd.conf
et /etc/cups/cups-files.conf
(voir cupsd.conf (5) et cups-files.conf (5)). Après avoir édité l'un ou l'autre fichier, redémarrez org.cups.cupsd.service
appliquer les modifications. La configuration par défaut est suffisante pour la plupart des utilisateurs.
Les groupes d'utilisateurs dotés de privilèges d'administration d'imprimante sont définis dans SystemGroup
dans le /etc/cups/cups-files.conf
. le sys
et racine
les groupes sont utilisés par défaut.
tasses est construit avec libpaper support et libpaper par défaut à la Lettre taille de papier. Pour éviter de devoir modifier le format de papier pour chaque file d'attente d'impression ajoutée, éditez / etc / papersize
et définissez le format de papier par défaut de votre système. Voir taille du papier (5).
Par défaut, tous les journaux sont envoyés aux fichiers dans / var / log / cups /
. En changeant les valeurs du AccessLog
, ErrorLog
, et PageLog
directives en /etc/cups/cups-files.conf
à syslog
Il est possible de faire en sorte que CUPS se connecte au journal systemd. Consultez la page wiki de Fedora pour plus d’informations sur le changement proposé à l’origine.
tasses feuilletées
CUPS peut utiliser la navigation Avahi pour découvrir des imprimantes partagées inconnues sur votre réseau. Cela peut être utile dans les grandes configurations où le serveur est inconnu. Pour utiliser cette fonctionnalité, configurez la résolution du nom d’hôte .local et démarrez les deux. avahi-daemon.service
et cups-browsed.service
. Les tâches sont envoyées directement à l'imprimante sans aucun traitement. Les files d'attente créées risquent donc de ne pas fonctionner. Toutefois, les imprimantes sans pilote telles que celles prenant en charge IPP Everywhere ou AirPrint doivent fonctionner telles quelles.
Serveurs d'impression et administration à distance
Voir Partage CUPS / Imprimante et Partage CUPS / Imprimante # Administration à distance.
Autoriser l'authentification de l'administrateur via PolicyKit
PolicyKit peut être configuré pour permettre aux utilisateurs de configurer des imprimantes à l'aide d'une interface graphique sans le mot de passe administrateur.
Voici un exemple qui permet aux membres du groupe d'utilisateurs Wheel d'administrer des imprimantes sans mot de passe:
/etc/polkit-1/rules.d/49-allow-passwordless-printer-admin.rules
polkit.addRule (fonction (action, sujet) if (action.id == "org.opensuse.cupspkhelper.mechanism.all-edit" && subject.isInGroup ("wheel")) retourner polkit.Result.YES; );
Sans serveur CUPS local
CUPS peut être configuré pour se connecter directement à des serveurs d'impression distants au lieu d'exécuter un serveur d'impression local. Cela nécessite l’installation du libcups paquet. Certaines applications nécessiteront encore la tasses paquet pour l'impression.
Pour utiliser un serveur CUPS distant, définissez le paramètre CUPS_SERVER
variable d'environnement à printerserver.mydomain: port
. Par exemple, si vous souhaitez utiliser un serveur d’impression différent pour une seule instance de Firefox (remplacez printserver.mydomain: port
avec votre nom de serveur d’impression / port):
$ CUPS_SERVER = printserver.mydomain: port firefox
Dépannage
Voir CUPS / Dépannage.
Commentaires
Laisser un commentaire