108.4 Leçon 1
Certification : |
LPIC-1 |
---|---|
Version : |
5.0 |
Thème : |
108 Services Systèmes Essentiels |
Objectif : |
108.4 Gestion des imprimantes et de l’impression |
Leçon : |
1 sur 1 |
Introduction
Les promesses d’une “société sans papier” résultant de l’avènement de l’informatique se sont révélées fausses jusqu’à présent. Nombre d’organisations s’appuient encore sur des pages imprimées, ou “copies papier”, d’informations. Dans ce contexte, on comprend l’importance pour l’utilisateur d’un ordinateur de savoir comment imprimer à partir d’un système, ainsi que pour l’administrateur de savoir comment maintenir la capacité d’un ordinateur à fonctionner avec des imprimantes.
Sous Linux ainsi que dans d’autres systèmes d’exploitation, la pile logicielle Common Unix Printing System (CUPS) permet d’imprimer et de gérer les imprimantes à partir d’un ordinateur. Voici un aperçu très simplifié de la manière dont un fichier est imprimé sous Linux avec CUPS :
-
Un utilisateur soumet un fichier pour être imprimé.
-
Le démon CUPS,
cupsd
, met la tâche d’impression en attente (spool). CUPS attribue un numéro à cette tâche ainsi que des informations sur la file d’attente dans laquelle elle se trouve et sur le nom du document à imprimer. -
CUPS utilise les filtres installés sur le système pour générer un fichier formaté que l’imprimante pourra utiliser.
-
CUPS envoie alors le fichier reformaté à l’imprimante pour qu’elle l’imprime.
Nous allons voir ces étapes plus en détail, ainsi que l’installation et la gestion d’une imprimante sous Linux.
Le service CUPS
La plupart des postes de travail Linux disposeront déjà des paquets CUPS. Sur les installations Linux minimales, les paquets CUPS peuvent ne pas être installés, en fonction de la distribution. Une installation de base de CUPS pourra être effectuée sur un système Debian avec la commande suivante :
$ sudo apt install cups
Sur les systèmes Fedora, la procédure d’installation est tout aussi simple. Vous devrez démarrer le service CUPS manuellement après l’installation sur Fedora et d’autres distributions basées sur Red Hat :
$ sudo dnf install cups ... $ sudo systemctl start cups.service
Une fois l’installation terminée, vous pouvez vérifier que le service CUPS fonctionne à l’aide de la commande systemctl
:
$ systemctl status cups.service ● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-06-25 14:35:47 EDT; 41min ago Docs: man:cupsd(8) Main PID: 3136 (cupsd) Tasks: 2 (limit: 1119) Memory: 3.2M CGroup: /system.slice/cups.service ├─3136 /usr/sbin/cupsd -l └─3175 /usr/lib/cups/notifier/dbus dbus://
Comme la plupart des services sous Linux, CUPS s’appuie sur une série de fichiers de configuration pour son fonctionnement. Voici les principaux fichiers susceptibles d’intéresser l’administrateur du système :
/etc/cups/cupsd.conf
-
Ce fichier contient les paramètres de configuration du service CUPS lui-même. Si vous connaissez un tant soit peu le fichier de configuration du serveur web Apache, celui de CUPS vous semblera assez familier dans la mesure où il utilise la même syntaxe. Le fichier
cupsd.conf
contient des paramètres comme le contrôle d’accès aux différentes files d’attente d’impression du système, l’activation de l’interface web de CUPS ainsi que le niveau de journalisation utilisé par le service. /etc/printcap
-
Il s’agit là du fichier utilisé par le protocole LPD (Line Printer Daemon) avant l’avènement de CUPS. CUPS crée toujours ce fichier sur les systèmes pour des raisons de rétro-compatibilité. Il s’agit souvent d’un lien symbolique vers
/run/cups/printcap
. Chaque ligne de ce fichier contient une imprimante à laquelle le système aura accès. /etc/cups/printers.conf
-
Ce fichier contient chaque imprimante configurée pour être utilisée par le système CUPS. Chaque imprimante et sa file d’attente associée dans ce fichier est comprise dans une stance
<Printer></Printer>
. Ce fichier fournit les différentes imprimantes que l’on trouve dans/etc/printcap
.WarningLe fichier
/etc/cups/printers.conf
ne doit pas être modifié manuellement lorsque le service CUPS est en cours d’exécution. /etc/cups/ppd/
-
Ce n’est pas un fichier de configuration mais un répertoire qui contient les fichiers PPD (PostScript Printer Description) pour les imprimantes qui les utilisent. Les fonctionnalités de chaque imprimante sont stockées dans un fichier PPD (avec l’extension
.ppd
). Ce sont des fichiers au format texte simple qui respectent un format spécifique.
Le service CUPS utilise la journalisation de la même manière que le service Apache 2. Les journaux sont stockés dans /var/log/cups/
et contiennent les fichiers access_log
, page_log
et error_log
. Le fichier access_log
enregistre les accès à l’interface web de CUPS ainsi que les actions qui y sont effectuées, comme la gestion des imprimantes. Le fichier page_log
garde la trace des tâches d’impression envoyées aux files d’attente d’impression gérées par CUPS. Le fichier error_log
contient des messages sur les tâches d’impression qui ont échoué et d’autres erreurs enregistrées par l’interface web.
Nous allons maintenant découvrir les outils et les commandes utilisés pour gérer le service CUPS.
Utiliser l’interface Web
Comme nous l’avons dit plus haut, le fichier de configuration /etc/cups/cupsd.conf
détermine si l’interface web du système CUPS est activée. L’option de configuration ressemble à ceci :
# Web interface setting... WebInterface Yes
Si l’interface web est activée, CUPS peut être géré depuis un navigateur web à l’URL par défaut http://localhost:631
. Dans la configuration par défaut, un utilisateur du système peut afficher les imprimantes et les files d’attente d’impression, mais toute forme de modification de la configuration nécessite un accès root avec une authentification auprès du service web. La stance de configuration dans le fichier /etc/cups/cupsd.conf
pour restreindre l’accès aux capacités administratives ressemblera à ceci :
# All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit>
Voici un aperçu de ces options :
AuthType Default
-
affiche une invite d’authentification de base lorsqu’une action nécessite un accès root.
Require user @SYSTEM
-
un utilisateur avec des privilèges d’administration sera requis pour l’opération. Cela peut être changé en
@groupname
où les membres degroupname
pourront administrer le service CUPS. Alternativement, des utilisateurs individuels pourraient être fournis sous forme de liste comme dansRequire user carol, tim
. Order deny,allow
-
fonctionne comme l’option de configuration d’Apache 2 où l’action est refusée par défaut à moins qu’un utilisateur (ou un membre d’un groupe) ne soit authentifié.
L’interface web de CUPS peut être désactivée en arrêtant d’abord le service CUPS, puis en changeant l’option WebInterface
de Yes
à No
, et enfin en redémarrant le service CUPS.
L’interface web de CUPS est organisée comme un site web ordinaire, avec des onglets de navigation pour les différentes sections du système CUPS. Voici les onglets de l’interface web :
- Home
-
La page d’accueil indique la version actuellement installée de CUPS. Elle répartit CUPS en plusieurs sections, telles que :
- CUPS for Users
-
Fournit une description de CUPS, des options en ligne de commande pour travailler avec les imprimantes et les files d’attente d’impression, et un lien vers le forum des utilisateurs de CUPS.
- CUPS for Administrators
-
Fournit des liens dans l’interface pour installer et gérer les imprimantes ainsi que des liens vers les informations relatives à l’utilisation des imprimantes en réseau.
- CUPS for Developers
-
Fournit des liens pour développer CUPS ainsi que pour créer des fichiers PPD pour les imprimantes.
- Administration
-
La page d’administration est également organisée en sections :
- Printers
-
Ici, un administrateur peut ajouter de nouvelles imprimantes au système, trouver les imprimantes connectées au système et gérer les imprimantes déjà installées.
- Classes
-
Les classes sont un mécanisme qui permet d’ajouter des imprimantes à des groupes avec des politiques spécifiques. Par exemple, une classe peut contenir un groupe d’imprimantes appartenant à un étage du bâtiment et sur lesquelles seuls les utilisateurs d’un service donné pourront imprimer. Une autre classe peut limiter le nombre de pages qu’un utilisateur a le droit d’imprimer. Les classes ne sont pas créées par défaut sur une installation CUPS et doivent être définies par un administrateur. C’est dans cette section de l’interface web de CUPS que de nouvelles classes peuvent être créées et gérées.
- Jobs
-
C’est ici qu’un administrateur peut voir toutes les tâches d’impression qui sont actuellement dans la file d’attente pour toutes les imprimantes gérées par cette installation CUPS.
- Server
-
C’est ici qu’un administrateur peut apporter des modifications au fichier
/etc/cups/cupsd.conf
. D’autres options de configuration sont également disponibles via des cases à cocher, telles que l’autorisation de partager sur un réseau les imprimantes connectées à cette installation de CUPS, l’authentification avancée et l’autorisation pour l’administration à distance des imprimantes.
- Classes
-
Si les classes d’imprimantes sont configurées sur le système, elles seront répertoriées sur cette page. Chaque classe d’imprimantes dispose d’options permettant de gérer toutes les imprimantes de la classe en même temps, ainsi que de visualiser toutes les tâches en attente pour les imprimantes de cette classe.
- Help
-
Cet onglet fournit des liens vers toute la documentation disponible pour CUPS qui est installé sur le système.
- Jobs
-
L’onglet Jobs permet de rechercher des tâches d’impression individuelles et d’afficher la liste de toutes les tâches d’impression en cours gérées par le serveur.
- Printers
-
L’onglet Printers (Imprimantes) répertorie toutes les imprimantes actuellement gérées par le système et donne un aperçu rapide de l’état de chacune d’entre elles. Chaque imprimante affichée est cliquable et l’administrateur sera redirigé vers une page où l’imprimante individuelle pourra être gérée de manière plus détaillée. Les informations concernant les imprimantes de cet onglet proviennent du fichier
/etc/cups/printers.conf
.
Installer une imprimante
L’ajout d’une imprimante au système est une procédure triviale dans l’interface web CUPS :
-
Cliquez sur l’onglet Administration puis sur le bouton Add Printer.
-
La page suivante propose différentes options en fonction de la manière dont votre imprimante est connectée au système. S’il s’agit d’une imprimante locale, sélectionnez l’option la plus pertinente, par exemple le port auquel l’imprimante est connectée ou le logiciel d’impression tiers éventuellement installé. CUPS essaiera également de détecter les imprimantes connectées au réseau et les affichera ici. Vous pouvez également choisir une option de connexion directe à une imprimante réseau en fonction des protocoles d’impression réseau pris en charge par l’imprimante. Sélectionnez l’option appropriée et cliquez sur le bouton Continue.
-
La page suivante vous permet de fournir un nom, une description et un emplacement (comme “bureau” ou “accueil” etc.) pour l’imprimante. Si vous souhaitez partager cette imprimante sur le réseau, vous pouvez également cocher la case correspondant à cette option sur cette page. Une fois les paramètres définis, cliquez sur le bouton Continue.
-
La page suivante permet de sélectionner la marque et le modèle de l’imprimante. Cela permet à CUPS de rechercher dans sa base de données locale les pilotes et les fichiers PPD les plus adaptés à l’imprimante. Si vous disposez d’un fichier PPD fourni par le fabricant de l’imprimante, recherchez son emplacement et sélectionnez-le pour l’utiliser ici. Une fois que c’est fait, cliquez sur le bouton Add Printer.
-
La dernière page permet de définir les options par défaut, notamment la taille de papier que l’imprimante va utiliser et la résolution des caractères sur la page. Cliquez sur le bouton Set Default Options et votre imprimante est désormais installée sur votre système.
Note
|
La plupart des postes de travail Linux disposent de plusieurs outils pour installer une imprimante. Les environnements de bureau GNOME et KDE ont leurs propres applications intégrées pour installer et gérer les imprimantes. Certaines distributions fournissent également des applications distinctes pour gérer les imprimantes. Cela dit, lorsqu’il s’agit d’une installation de serveur où de nombreux utilisateurs vont imprimer, l’interface web CUPS peut s’avérer l’outil le plus adapté à cette tâche. |
La file d’attente d’une imprimante peut également être installée à l’aide des commandes historiques LPD/LPR. Voici un exemple qui utilise la commande lpadmin
:
$ sudo lpadmin -p ENVY-4510 -L "office" -v socket://192.168.150.25 -m everywhere
Voici le détail des options utilisées pour cette commande :
-
Puisque l’ajout d’une imprimante au système nécessite un utilisateur avec des privilèges d’administration, nous faisons précéder la commande
lpadmin
parsudo
. -
L’option `-p' est la destination de vos travaux d’impression. Il s’agit essentiellement d’un nom convivial permettant à l’utilisateur de savoir où vont atterrir les travaux d’impression. Typiquement, vous pouvez fournir le nom de l’imprimante.
-
L’option
-L
est l’emplacement de l’imprimante. Cette option est facultative mais utile si vous devez gérer un certain nombre d’imprimantes à différents endroits. -
L’option
-v
correspond à l’URI du périphérique d’impression. L’URI du périphérique est ce qu’il faut à la file d’attente d’impression de CUPS pour envoyer des travaux d’impression rendus vers une imprimante spécifique. Dans notre exemple, nous utilisons un emplacement réseau en utilisant l’adresse IP fournie. -
La dernière option,
-m
, est définie à “everywhere”. Elle indique le modèle de l’imprimante pour que CUPS puisse déterminer le fichier PPD à utiliser. Dans les versions modernes de CUPS, il est préférable d’utiliser “everywhere” afin que CUPS puisse vérifier l’URI du périphérique (défini avec l’option-v
précédente) pour déterminer automatiquement le bon fichier PPD à utiliser pour l’imprimante. Dans les situations modernes, CUPS utilisera simplement IPP comme expliqué ci-dessous.
Comme nous l’avons dit plus haut, il vaut mieux laisser CUPS choisir automatiquement le fichier PPD à utiliser pour une file d’attente d’impression particulière. Cependant, la commande lpinfo
peut être utilisée pour interroger les fichiers PPD installés localement pour voir ce qui est disponible. Fournissez simplement l’option --make-and-model
pour l’imprimante que vous souhaitez installer avec l’option -m
:
$ lpinfo --make-and-model "HP Envy 4510" -m hplip:0/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:1/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:2/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 drv:///hpcups.crv/hp-envy_4510_series.ppd HP Envy 4510 Series, hpcups 3.17.10 everywhere IPP Everywhere
Notez que la commande lpinfo
est obsolète. Elle est présentée ici comme un exemple pour afficher les fichiers du pilote d’impression qu’une imprimante pourrait utiliser.
Warning
|
Les versions ultérieures de CUPS déprécient les pilotes et se concentrent sur l’utilisation du protocole IPP (Internet Printing Protocol) et des formats de fichiers standard. Le résultat de la commande précédente illustre cela avec la capacité d’impression |
Une imprimante par défaut peut être définie en utilisant la commande lpoptions
. Ainsi, si la majorité (ou la totalité) des tâches d’impression sont envoyées vers une imprimante particulière, celle spécifiée par la commande lpoptions
sera l’imprimante par défaut. Il suffit de spécifier cette imprimante avec l’option -d
:
$ lpoptions -d ENVY-4510
Gérer les imprimantes
Une fois qu’une imprimante a été installée, un administrateur peut utiliser l’interface web pour gérer les options disponibles pour l’imprimante. Une approche plus directe de la gestion d’une imprimante consiste à utiliser la commande lpadmin
.
Une option consiste à permettre le partage en réseau d’une imprimante. Ceci peut être réalisé avec l’option printer-is-shared
, et en spécifiant l’imprimante avec l’option -p
:
$ sudo lpadmin -p FRONT-DESK -o printer-is-shared=true
Un administrateur peut également configurer une file d’attente d’impression pour qu’elle n’accepte que les tâches d’impression d’utilisateurs spécifiques, en séparant chaque utilisateur par une virgule :
$ sudo lpadmin -p FRONT-DESK -u allow:carol,frank,grace
Inversement, certains utilisateurs peuvent se voir refuser l’accès à une file d’attente d’impression spécifique :
$ sudo lpadmin -p FRONT-DESK -u deny:dave
Les groupes d’utilisateurs peuvent également être utilisés pour autoriser ou refuser l’accès à la file d’attente d’une imprimante, à condition que le nom du groupe soit précédé du caractère arobase (@
) :
$ sudo lpadmin -p FRONT-DESK -u deny:@sales,@marketing
Une file d’attente d’impression peut également avoir une politique d’erreur si elle rencontre des problèmes lors de l’impression d’une tâche. Avec l’utilisation de politiques, une tâche d’impression peut être abandonnée (abort-job
) ou une autre tentative d’impression peut avoir lieu plus tard (retry-job
). D’autres politiques incluent la possibilité d’arrêter l’imprimante immédiatement en cas d’erreur (stop-printer
) ainsi que la possibilité de relancer la tâche immédiatement après la détection d’un échec (retry-current-job
). Voici un exemple où la politique d’impression est définie pour interrompre la tâche d’impression si une erreur se produit sur l’imprimante FRONT-DESK
:
$ sudo lpadmin -p FRONT-DESK -o printer-error-policy=abort-job
Assurez-vous de consulter les pages de manuel de la commande lpadmin
située à lpadmin(8)
pour plus de détails sur l’utilisation de cette commande.
Soumettre des tâches d’impression
La plupart des applications de bureau vous permettront d’envoyer des tâches d’impression à partir d’un élément de menu ou en utilisant le raccourci clavier Ctrl+p. Si vous vous retrouvez dans un système Linux sans environnement de bureau, vous pouvez toujours envoyer des fichiers vers une imprimante grâce aux commandes historiques LPD/LPR.
La commande lpr
(“line printer remote”) est utilisée pour envoyer une tâche d’impression vers la file d’attente d’une imprimante. Dans la forme la plus basique de la commande, un nom de fichier en argument de la commande lpr
est tout ce qu’il faut :
$ lpr report.txt
La commande ci-dessus va envoyer le fichier report.txt
vers la file d’attente d’impression par défaut du système (définie par le fichier /etc/cups/printers.conf
).
Si plusieurs imprimantes sont disponibles dans une installation CUPS, la commande lpstat
pourra être utilisée pour afficher la liste des imprimantes disponibles en utilisant l’option -p
. Quant à l’option -d
, elle indiquera l’imprimante par défaut :
$ lpstat -p -d printer FRONT-DESK is idle. enabled since Mon 03 Aug 2020 10:33:07 AM EDT printer PostScript_oc0303387803 disabled since Sat 07 Mar 2020 08:33:11 PM EST - reason unknown printer ENVY-4510 is idle. enabled since Fri 31 Jul 2020 10:08:31 AM EDT system default destination: ENVY-4510
Dans notre exemple, le fichier report.txt
sera envoyé à l’imprimante ENVY-4510
définie par défaut. Si le fichier doit être imprimé sur une autre imprimante, vous pouvez la spécifier avec l’option -P
:
$ lpr -P FRONT-DESK report.txt
Lorsqu’une tâche d’impression est soumise à CUPS, le démon déterminera quel est le système d’arrière-plan le mieux adapté pour gérer la tâche. CUPS peut utiliser divers pilotes d’impression, filtres, moniteurs de ports matériels et autres logiciels pour reproduire correctement le document. Il peut arriver qu’un utilisateur qui imprime un document doive apporter des modifications à la manière dont le document devra être imprimé. La plupart des applications graphiques facilitent cette tâche. Il existe également des options en ligne de commande pour modifier le mode d’impression d’un document. Lorsqu’une tâche d’impression est soumise via la ligne de commande, l’option -o
(pour “options”) peut être utilisée avec des arguments spécifiques pour ajuster la mise en page du document en vue de l’impression. Voici une petite liste des options les plus couramment utilisées :
landscape
-
Le document est imprimé avec une rotation de la page de 90 degrés dans le sens des aiguilles d’une montre. L’option
orientation-requested=4
permet d’obtenir le même résultat. two-sided-long-edge
-
L’imprimante va imprimer le document en mode portrait sur les deux côtés du papier, à condition que l’imprimante supporte cette fonctionnalité.
two-sided-short-edge
-
L’imprimante va imprimer le document en mode paysage sur les deux côtés du papier, à condition que l’imprimante supporte cette fonctionnalité.
media
-
L’imprimante utilisera le format de support spécifié pour imprimer le document. Les formats disponibles pour une tâche d’impression dépendent de l’imprimante, mais voici une liste des formats les plus courants :
Option de taille Format du support A4
ISO A4
Letter
US Letter
Legal
US Legal
DL
Enveloppe ISO DL
COM10
Enveloppe US #10
collate
-
Assemble le document imprimé. Cette option est utile si vous avez un document de plusieurs pages qui sera imprimé plus d’une fois, étant donné que toutes les pages de chaque document seront alors imprimées dans l’ordre. Réglez cette option à
true
pour l’activer ou àfalse
pour la désactiver. page-ranges
-
Cette option peut être utilisée pour sélectionner une seule page à imprimer, ou un ensemble spécifique de pages à imprimer à partir d’un document. Un exemple pourrait ressembler à ceci :
-o page-ranges=5-7,9,15
. Cela va imprimer les pages 5, 6 et 7, puis les pages 9 et 15. fit-to-page
-
Imprime le document de manière à ce que le fichier soit mis à l’échelle pour s’adapter au papier. Si aucune information sur la taille de la page n’est fournie par le fichier à imprimer, il est possible que la tâche d’impression soit mise à l’échelle de manière incorrecte et que des parties du document soient mises à l’échelle hors de la page ou que le document soit mis à l’échelle de manière trop petite.
outputorder
-
Imprime le document dans l’ordre
inverse
ounormal
pour commencer l’impression à la première page. Si une imprimante imprime ses pages face vers le bas, l’ordre par défaut est-o outputorder=normal
alors que les imprimantes qui impriment leurs pages face vers le haut imprimeront avec-o outputorder=reverse
.
En prenant un échantillon des options ci-dessus, l’exemple de commande suivant peut être construit :
$ lpr -P ACCOUNTING-LASERJET -o landscape -o media=A4 -o two-sided-short-edge finance-report.pdf
Il est possible d’imprimer plus d’une copie d’un document en utilisant l’option nombre dans le format suivant : -#N
où N
est égal au nombre de copies à imprimer. Voici un exemple avec l’option de regroupement où sept copies d’un rapport doivent être imprimées sur l’imprimante par défaut :
$ lpr -#7 -o collate=true status-report.pdf
En dehors de la commande lpr
, la commande lp
peut également être utilisée. La plupart des options utilisées avec la commande lpr
peuvent également être utilisées avec la commande lp
, mais il y a quelques différences. Consultez la page de manuel de lp(1)
pour plus de détails. Voici comment nous pouvons exécuter la commande lpr
de l’exemple précédent en utilisant la syntaxe de la commande lp
tout en spécifiant l’imprimante de destination avec l’option -d
:
$ lp -d ACCOUNTING-LASERJET -n 7 -o collate=true status-report.pdf
Gérer les tâches d’impression
Comme nous l’avons dit plus haut, chaque tâche d’impression soumise à la file d’attente reçoit un numéro d’identification de CUPS. Un utilisateur peut afficher les tâches d’impression qu’il a soumises avec la commande lpq
. En passant l’option -a
, les files d’attente de toutes les imprimantes gérées par CUPS seront affichées :
$ lpq -a Rank Owner Job File(s) Total Size 1st carol 20 finance-report.pdf 5072 bytes
La même commande lpstat
utilisée précédemment possède également une option pour afficher les files d’attente des imprimantes. L’option -o
seule affichera toutes les files d’attente, ou alors une file d’attente peut être spécifiée par son nom :
$ lpstat -o ACCOUNTING-LASERJET-4 carol 19456 Wed 05 Aug 2020 04:29:44 PM EDT
L’identifiant de la tâche d’impression est précédé du nom de la file d’attente vers laquelle la tâche a été envoyée, puis du nom de l’utilisateur qui a soumis la tâche, de la taille du fichier et de l’heure à laquelle il a été envoyé.
Si une tâche d’impression est bloquée sur une imprimante ou si un utilisateur souhaite annuler sa tâche, utilisez la commande lprm
avec l’identifiant de la tâche obtenu par la commande lpq
:
$ lprm 20
Toutes les tâches d’une file d’attente d’impression peuvent être supprimées à la fois en fournissant simplement un tiret -
:
$ lprm -
Alternativement, la commande CUPS cancel
peut également être utilisée par un utilisateur pour arrêter sa tâche d’impression en cours :
$ cancel
Une tâche d’impression spécifique peut être annulée à l’aide de son numéro d’identification, précédé du nom de l’imprimante :
$ cancel ACCOUNTING-LASERJET-20
Une tâche d’impression peut également être déplacée d’une file d’attente vers une autre. Cela peut être utile lorsqu’une imprimante ne répond plus ou que le document à imprimer nécessite des fonctionnalités disponibles sur une autre imprimante. Notez que cette procédure nécessite généralement un utilisateur disposant de privilèges élevés. En utilisant la même tâche d’impression que dans l’exemple précédent, nous pourrions la déplacer vers la file d’attente de l’imprimante FRONT-DESK
:
$ sudo lpmove ACCOUNTING-LASERJET-20 FRONT-DESK
Supprimer des imprimantes
Pour supprimer une imprimante, on peut commencer par répertorier toutes les imprimantes gérées par le service CUPS. Ceci peut être fait avec la commande lpstat
:
$ lpstat -v device for FRONT-DESK: socket://192.168.150.24 device for ENVY-4510: socket://192.168.150.25 device for PostScript_oc0303387803: ///dev/null
L’option -v
ne répertorie pas seulement les imprimantes mais aussi où (et comment) elles sont connectées. C’est une bonne pratique de commencer par rejeter toute nouvelle tâche destinée à l’imprimante et de fournir une raison pour laquelle l’imprimante n’acceptera pas de nouvelles tâches. Voici ce que vous pouvez faire :
$ sudo cupsreject -r "Printer to be removed" FRONT-DESK
Notez l’utilisation de sudo
étant donné que cette tâche nécessite un utilisateur avec des privilèges élevés.
Pour supprimer une imprimante, nous utilisons la commande lpadmin
avec l’option -x
:
$ sudo lpadmin -x FRONT-DESK
Exercices guidés
-
Une nouvelle imprimante vient d’être installée sur un poste de travail local avec le nom
office-mgr
. Quelle commande pourrait être utilisée pour définir cette imprimante comme imprimante par défaut pour ce poste de travail ? -
Quelle commande et quelle option permettent de déterminer les imprimantes disponibles pour l’impression à partir d’un poste de travail ?
-
En utilisant la commande
cancel
, comment supprimer une tâche d’impression avec l’identifiant 15 qui est bloquée dans la file d’attente de l’imprimante nomméeoffice-mgr
? -
Vous avez une tâche d’impression destinée à une imprimante qui n’a pas assez de papier pour imprimer le fichier complet. Quelle commande pourriez-vous utiliser pour déplacer la tâche d’impression avec l’identifiant 2 en file d’attente sur l’imprimante FRONT-DESK vers la file d’attente de l’imprimante ACCOUNTING-LASERJET ?
Exercices d’approfondissement
En utilisant le gestionnaire de paquets de votre distribution, installez les paquets cups
et printer-driver-cups-pdf
. Notez que si vous utilisez une distribution de la famille Red Hat (comme Fedora), le pilote PDF de CUPS s’appelle cups-pdf
. Nous utiliserons ces paquets pour nous entraîner à gérer une imprimante CUPS sans installer physiquement une véritable imprimante.
-
Vérifiez que le démon CUPS fonctionne et que l’imprimante PDF est activée et définie par défaut.
-
Lancez une commande qui va imprimer le fichier
/etc/services
. Vous devriez maintenant avoir un répertoire nomméPDF
dans votre répertoire personnel. -
Utilisez une commande qui désactive seulement l’imprimante, puis exécutez une autre commande qui affiche toutes les informations d’état pour vérifier que l’imprimante PDF est désactivée.
-
Essayez maintenant d’imprimer une copie du fichier
/etc/fstab
sur l’imprimante PDF. Que se passe-t-il ? -
Annulez la tâche d’impression et supprimez l’imprimante PDF.
Résumé
Le démon CUPS est une plate-forme largement utilisée pour imprimer sur des imprimantes locales et distantes. Même s’il remplace l’ancien protocole LPD, il reste compatible avec ses outils.
Voici les fichiers et les commandes abordés dans cette leçon :
/etc/cups/cupsd.conf
-
Le fichier de configuration principal pour le service CUPS lui-même. Ce fichier contrôle également l’accès à l’interface web de CUPS.
/etc/printcap
-
Un fichier historique utilisé par LPD qui contient une ligne pour chaque imprimante connectée au système.
/etc/cups/printers.conf
-
Le fichier de configuration utilisé par CUPS pour les informations sur les imprimantes.
L’interface web de CUPS qui se trouve à l’adresse http://localhost:631
dans une installation par défaut. Rappelez-vous que le port réseau par défaut pour l’interface web est 631/TCP.
Les commandes historiques LPD/LPR ont également été abordées :
lpadmin
-
Utilisé pour installer et supprimer des imprimantes et des classes d’imprimantes.
lpoptions
-
Permet d’imprimer les options de l’imprimante et de modifier ses paramètres.
lpstat
-
Utilisé pour afficher les informations d’état des imprimantes connectées à CUPS.
lpr
-
Utilisé pour soumettre des tâches d’impression à la file d’attente d’une imprimante.
lp
-
Utilisé pour soumettre des tâches d’impression à la file d’attente d’une imprimante.
lpq
-
Cette commande affiche la liste des tâches d’impression dans la file d’attente.
lprm
-
Permet d’annuler des tâches d’impression en fonction de leur identifiant. L’identifiant de la tâche peut être obtenu avec la commande
lpq
. cancel
-
Une alternative à la commande
lprm
pour annuler les tâches d’impression par leur identifiant.
Consultez les pages de manuel suivantes pour les différents programmes et outils de CUPS : lpadmin(8)
, lpoptions(1)
, lpr(1)
, lpq(1)
, lprm(1)
, cancel(1)
, lpstat(1)
, cupsenable(8)
et cupsaccept(8)
. Vous pouvez également consulter la documentation en ligne à l’adresse http://localhost:631/help
.
Réponses aux exercices guidés
-
Une nouvelle imprimante vient d’être installée sur un poste de travail local avec le nom
office-mgr
. Quelle commande pourrait être utilisée pour définir cette imprimante comme imprimante par défaut pour ce poste de travail ?$ lpoptions -d office-mgr
-
Quelle commande et quelle option permettent de déterminer les imprimantes disponibles pour l’impression à partir d’un poste de travail ?
$ lpstat -p
L’option
-p
affiche la liste de toutes les imprimantes disponibles et indique si elles sont disponibles pour l’impression. -
En utilisant la commande
cancel
, comment supprimer une tâche d’impression avec l’identifiant 15 qui est bloquée dans la file d’attente de l’imprimante nomméeoffice-mgr
?$ cancel office-mgr-15
-
Vous avez une tâche d’impression destinée à une imprimante qui n’a pas assez de papier pour imprimer le fichier complet. Quelle commande pourriez-vous utiliser pour déplacer la tâche d’impression avec l’identifiant 2 en file d’attente sur l’imprimante FRONT-DESK vers la file d’attente de l’imprimante ACCOUNTING-LASERJET ?
$ sudo lpmove FRONT-DESK-2 ACCOUNTING-LASERJET
Réponses aux exercices d’approfondissement
En utilisant le gestionnaire de paquets de votre distribution, installez les paquets cups
et printer-driver-cups-pdf
. Notez que si vous utilisez une distribution de la famille Red Hat (comme Fedora), le pilote PDF de CUPS s’appelle cups-pdf
. Nous utiliserons ces paquets pour nous entraîner à gérer une imprimante CUPS sans installer physiquement une véritable imprimante.
-
Vérifiez que le démon CUPS fonctionne et que l’imprimante PDF est activée et définie par défaut.
Une manière de vérifier la disponibilité et l’état de l’imprimante PDF consisterait à exécuter la commande suivante :
$ lpstat -p -d printer PDF is idle. enabled since Thu 25 Jun 2020 02:36:07 PM EDTi system default destination: PDF
-
Lancez une commande qui va imprimer le fichier
/etc/services
. Vous devriez maintenant avoir un répertoire nomméPDF
dans votre répertoire personnel.$ lp -d PDF /etc/services
devrait fonctionner. Vous obtiendrez une version PDF de ce fichier dans le répertoire PDF.
-
Utilisez une commande qui désactive seulement l’imprimante, puis exécutez une autre commande qui affiche toutes les informations d’état pour vérifier que l’imprimante PDF est désactivée.
$ sudo cupsdisable PDF
désactive l’imprimante.
Lancez ensuite la commande
lpstat -t
pour obtenir un rapport complet sur l’état de l’imprimante. Cela devrait ressembler au résultat ci-dessous :$ scheduler is running system default destination: PDFi device for PDF: cups-pdf:/ PDF accepting requests since Wed 05 Aug 2020 04:19:15 PM EDTi printer PDF disabled since Wed 05 Aug 2020 04:19:15 PM EDT - Paused
-
Essayez maintenant d’imprimer une copie du fichier
/etc/fstab
sur l’imprimante PDF. Que se passe-t-il ?Après avoir essayé la commande
lp -d PDF /etc/fstab
, vous devriez obtenir un résultat qui montre l’information sur l’identifiant de la tâche. En revanche, si vous vérifiez le dossier PDF dans votre répertoire personnel, le nouveau fichier ne s’y trouve pas. Vous pouvez alors vérifier la file d’attente d’impression avec la commandelpstat -o
, et vous trouverez votre tâche dans cette file d’attente. -
Annulez la tâche d’impression et supprimez l’imprimante PDF.
En utilisant le résultat de la commande
lp
ci-dessus, utilisez la commandecancel
pour supprimer la tâche. Par exemple :$ cancel PDF-4
Lancez ensuite la commande
lpstat -o
pour vérifier que la tâche a bien été supprimée.Supprimez l’imprimante PDF avec la commande suivante :
sudo lpadmin -x PDF
. Vérifiez ensuite que l’imprimante a bien été supprimée :lpstat -a
.