CUPS signifie Common UNIX Printing System.
lpadmin est un outil de ligne de commande utilisé pour configurer les files d'impression et de classe fournies par CUPS.
Un système exécutant CUPS est un hôte qui peut accepter les travaux d'impression des ordinateurs clients, les traiter et les envoyer à l'imprimante appropriée. Il peut également être utilisé pour définir l'imprimante ou la classe par défaut du serveur.
Ce didacticiel explique comment ajouter une nouvelle imprimante, configurer les options de l'imprimante et gérer les imprimantes dans un environnement Linux à l'aide d'exemples de commande lpadmin.
1. Ajout d'une nouvelle imprimante
Pour ajouter une nouvelle imprimante réseau avec le nom "HPLaserJetP3015", utilisez la commande lpadmin avec l'option -p comme indiqué ci-dessous :
# lpadmin -p HPLaserJetP3015 -v socket://19.86.82.172 -P /usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd # lpstat -v device for HPLaserJetP3015: socket://19.86.82.172
Pour vérifier si l'imprimante est actuellement configurée, vous pouvez utiliser la commande comme indiqué dans l'exemple ci-dessous :
# lpstat -p HPLaserJetP3015 -l printer HPLaserJetP3015 is idle. enabled since Sun Jan 11 16:11:41 2015
2. PPD et fichiers journaux
Dans l'exemple ci-dessus, les fichiers PPD (également connus sous le nom de description d'imprimante PostScript) sont créés par les fournisseurs pour décrire l'ensemble des fonctionnalités et capacités disponibles pour leurs imprimantes PostScript et ils sont généralement situés sous le répertoire /usr/share/cups/model/ .
Si vous rencontrez des problèmes lors de la configuration de l'imprimante, veuillez vérifier les journaux à l'emplacement ci-dessous pour tout message d'erreur. Cet emplacement peut changer en fonction des différentes distributions de Linux.
# ls -l /var/log/cups/* -rw-r--r-- 1 root lp 6851 Jan 11 16:19 /var/log/cups/access_log -rw-r--r-- 1 root lp 13207 Jan 11 16:19 /var/log/cups/error_log
3. Configurer l'imprimante sur le port parallèle
Afin de configurer l'imprimante sur le port parallèle (/dev/lp0), utilisez la commande lpadmin comme indiqué dans cet exemple :
# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m /usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd
4. Afficher tous les ports disponibles pour la configuration de l'imprimante
De plus, pour répertorier tous les ports ou interfaces disponibles pour configurer l'imprimante, vous pouvez les afficher à l'aide de la commande lpinfo,
# lpinfo -v network socket direct hp network http network ipp network lpd direct parallel:/dev/lp0 direct scsi network tpvmgp network tpvmlp network smb
5. Plusieurs classes d'imprimantes
CUPS recherche toujours une imprimante disponible dans l'ordre dans lequel les imprimantes ont été ajoutées à une classe.
Vous pouvez ajouter 1 ou plusieurs imprimantes à une classe et lorsqu'une des imprimantes devient indisponible, l'autre imprimante définie dans la classe gère les demandes d'impression.
Il n'est pas obligatoire d'ajouter des imprimantes dans les classes. Une classe d'imprimantes peut elle-même être membre d'autres classes, il vous est donc possible de définir des classes d'imprimantes pour une haute disponibilité pour l'impression.
Une fois que vous avez configuré la classe d'imprimantes, vous pouvez imprimer sur la classe d'imprimantes de la même manière que vous pointez vers une seule imprimante.
Par exemple, si vous avez 2 imprimantes Laserjet et 2 imprimantes Deskjet. vous pouvez créer une classe appelée "Class-Laserjet" composée de 2 imprimantes Laserjet, et créer une autre classe appelée imprimantes "Class-Deskjet", puis créer une autre classe contenant ces 2 classes.
De cette façon, même si les imprimantes laserjet ou deskjet tombent en panne, l'autre classe sert les travaux d'impression.
6. Ajouter une imprimante à une classe
Pour ajouter une imprimante à la classe, utilisez la commande ci-dessous.
# lpadmin -h localhost -p HPLaserJetP3015 -c myclass
Pour vérifier si les imprimantes sont dans la classe d'imprimante :
# lpstat -c myclass members of class myclass: HPLaserJetP3015
7. Supprimer l'imprimante d'une classe
Pour supprimer une imprimante de la classe, vous pouvez utiliser la commande lpadmin comme indiqué dans l'exemple ci-dessous :
dans cet exemple, myclass a deux imprimantes :
# lpstat -c myclass members of class myclass: HPLaserJetP3015 HPDESKJET882
Supprimez l'imprimante HPDESKJET882 de myclass comme indiqué ci-dessous :
# lpadmin -p HPDESKJET882 -r myclass
Une fois supprimé, vous ne verrez que l'imprimante HP Laser Jet :
# lpstat -c myclass members of class myclass: HPLaserJetP3015
8. Supprimer une classe d'imprimante entière
En utilisant l'option -x, vous pouvez supprimer la classe. comme indiqué ci-dessous.
# lpstat -c myclass members of class myclass: HPLaserJetP3015 # lpadmin -x myclass # lpstat -c myclass lpstat: Unknown destination "myclass"!
Veuillez noter que la configuration de l'imprimante existe toujours même si vous avez supprimé la classe.
9. Changer l'option d'impression
Pour modifier les options d'impression de l'imprimante, vous pouvez exécuter les commandes ci-dessous.
Répertoriez toutes les options disponibles pour l'imprimante à l'aide de la commande lpoptions comme indiqué ci-dessous.
Dans cet exemple, vous verrez que toutes les options activées sont précédées d'un astérisque. S'il n'y a pas d'astérisque, il utilise les paramètres par défaut.
# lpoptions -p HPLaserJetP3015 -l PageSize/Page Size: *A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal PageRegion/PageRegion: A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal Resolution/Resolution: 150x150dpi 300x300dpi *600x600dpi 1200x1200dpi InputSlot/Media Source: *Default Tray1 Tray2 Tray3 Manual Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None
10. Modifier la résolution de l'imprimante
Pour changer la résolution de l'imprimante en 300x300dpi, vous pouvez utiliser la commande lpadmin comme indiqué ci-dessous :
# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi # lpoptions -p HPLaserJetP3015 -l
Voici les autres options que vous pouvez définir pour n'importe quelle imprimante utilisant lpadmin avec l'option –o comme décrit dans l'exemple ci-dessus,
- job-k-limit=value – Définit la limite de kilo-octets pour les quotas par utilisateur. La valeur est un nombre entier de kilo-octets.
- job-page-limit=value – Définit la limite de pages pour les quotas par utilisateur. La valeur est le nombre entier de pages pouvant être imprimées; les pages recto-verso sont comptées comme deux pages.
- job-quota-period=value – Définit la période comptable pour les quotas par utilisateur. La valeur est un nombre entier de secondes.
- job-sheets-default=banner :définit les pages de garde par défaut à utiliser pour les travaux d'impression.
- name=value – Définit une option PPD pour l'imprimante. Les options PPD peuvent être répertoriées à l'aide de l'option -l avec la commande lpoptions(1).
- name-default=value – Définit une option côté serveur par défaut pour l'imprimante.
- port-monitor=name – Le moniteur de port spécifié doit être répertorié dans le fichier PPD de l'imprimante.
- printer-error-policy=name – Définit la stratégie d'erreur à utiliser lorsque le backend de l'imprimante est incapable d'envoyer le travail à l'imprimante.
- printer-is-shared=true/false :définit l'imprimante sur partagée/publiée ou non partagée/non publiée.
- printer-op-policy=name – Définit la politique de fonctionnement IPP associée à l'imprimante. Le nom doit être défini dans cupsd.conf dans une section Policy. La stratégie de fonctionnement par défaut est "default".
11. Supprimer l'imprimante du fichier de configuration
Pour supprimer une imprimante CUPS du fichier de configuration de l'imprimante, vous pouvez utiliser l'option -x comme indiqué ci-dessous :
# lpstat -v device for HPLaserJetP3015: socket://19.86.82.172 # lpadmin -x HPLaserJetP3015 # lpstat -v lpstat: No destinations added.
12. Autoriser/Refuser l'utilisateur ou les groupes à configurer les options de l'imprimante
Vous pouvez autoriser les utilisateurs individuels ou le groupe à configurer les options de l'imprimante à l'aide des commandes lpadmin.
La commande suivante permettra à l'utilisateur karthik de configurer l'option imprimante sur l'imprimante HPLaserJetP3015 :
# lpadmin -p HPLaserJetP3015 -u allow:karthik
Vous pouvez également empêcher l'utilisateur de modifier les paramètres/options ou de configurer l'imprimante à l'aide de la commande ci-dessous.
La commande suivante empêchera l'utilisateur karthik de configurer l'option d'impression sur l'imprimante HPLaserJetP3015 :
# lpadmin -p HPLaserJetP3015 -u deny:karthik
Si un groupe doit être autorisé à accéder, vous pouvez utiliser le nom du groupe précédé du symbole @. Plusieurs noms d'utilisateurs ou groupes peuvent être donnés séparés par des virgules.
Par exemple, ce qui suit permettra aux utilisateurs du groupe sysadmin de configurer les options de l'imprimante.
# lpadmin -p HPLaserJetP3015 -u allow:@sysadmin
Ce qui suit empêchera les utilisateurs du groupe de développeurs de configurer les options de l'imprimante.
# lpadmin -p HPLaserJetP3015 -u deny:@developer