Configuration d’une imprimante à l’aide de la commande lpadmin

Lpadmin & Cups

2023-07 : Voici la commande pour ajouter une vieille imprimante EPSON avec son pilote ppd :

  1. L’adresse USB (usb://..) est renseignée dans la liste des imprimantes disponibles dans cups :
  • http://localhost:631
  • Administration > Imprimantes > Trouver de nouvelles imprimantes : List Available Printers
  • Cliquer sur “Ajouter cette imprimante” > l’adresse USB s’affiche sur la ligne :
  • Connexion : usb://EPSON/Stylus%20SX420W?serial=4D4345503136363941&interface=1
  • Liste de pilotes .ppd : https://www.openprinting.org/download/PPD ou /oldPPDs
  • Rechercher : https://www.openprinting.org/printer/HP/HP-DeskJet_1120C > directly download PPD

2) Télécharger les pilotes EPSON sur https://epson.com/Support/Printers
ou sur https://download.ebz.epson.net/dsc/search/01/search/?OSC=LX

  • S’il s’agit d’une fichier .run > Ouvrir un terminal et installer en mode SUDO : sudo ./epson_ppd-1.xxxx.run : Le script extrait directement les fichiers .ppd vers /usr/share/cupes/model/…
  • S’il s’agit d’un fichier .deb > extraire avec le gestionnaire d’archives les fichiers .ppd puis copier le bon fichier .ppd dans le dossier : /usr/share/cups/model
lpadmin -p Epson6200L -E -v usb://EPSON/EPL-6200L?serial=23P010403261637290 -P /usr/share/cups/model/epson_ppd/epl6200L.ppd 

Connectez l’imprimante au système, puis mettez-la sous tension.
Consultez la documentation d’installation du fournisseur de l’imprimante pour plus d’informations sur les commutateurs et le câblage requis du matériel.

  1. Connectez-vous en tant qu’administrateur.
  2. Exécutez la commande lpadmin avec l’option -p pour ajouter une imprimante à CUPS.Seules les options les plus fréquemment utilisées de la commande lpadmin de CUPS figurent ici. Pour plus d’informations sur les autres options, reportez-vous à la page de manuel lpadmin(8).$ /usr/sbin/lpadmin -p printer-name -E -v device -P full path to ppd file-p Spécifie le nom de l’imprimante à ajouter. -E Autorise la destination et accepte les tâches. -v Définit l’attribut device-uri de la file d’attente d’impression. -P Spécifie un fichier PPD (Postscript Printer Description) à utiliser avec l’imprimante. Vous trouverez ci-dessous les emplacements standard des fichiers PPD :
    • /usr/share/cups/model/foomatic-db-ppds/ manufacturer name
    • /usr/share/cups/model/SUNWhplip
    • /usr/share/ppd/SUNWhpijs/HP
    Voir les exemples à la fin de cette procédure.
  3. (Facultatif) Si vous n’utilisez pas la commande lpadmin avec l’option -E, autorisez l’imprimante à accepter les demandes d’impression et de les lancer.$ cupsaccept printer-name $ cupsenable printer-name
  4. Vérifiez que l’imprimante est correctement configurée.$ lpstat -l -p printer-name

Exemple 2-1 Ajout d’une imprimante utilisant un fichier PPD

Cet exemple illustre comment ajouter une imprimante HP LaserJet à l’aide d’une interface réseau JetDirect dont l’adresse IP est 10.1.1.1.

$ /usr/sbin/lpadmin -p LaserJet -E -v socket://10.1.1.1 \
-P /usr/share/ppd/SUNWhpijs/HP/hp-laserjet_p4515-ps.ppd.gz

Une fois qu’une imprimante est configurée, une copie du fichier PPD est placée dans le répertoire /etc/cups/ppd et renommée queue-name.ppd. Pour rechercher le chemin d’accès à cette copie du fichier PPD, tapez la commande suivante :

# lpstat -l -p queue-name

Exemple 2-2 Ajout d’une imprimante connectée au port parallèle

Cet exemple illustre comment ajouter une imprimante HP DeskJet connectée au port parallèle. Cet exemple part du principe que le fichier PPD est stocké dans le répertoire /usr/share/cups/model.

$ /usr/sbin/lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m drv:///sample.drv/deskjet.ppd

-m

Définit un fichier PPD pour l’imprimante deskjet.ppd

Fichier PPD pour les pilotes HP DeskJet inclus avec CUPS

Exemple 2-3 Ajout d’une imprimante connectée au port série

Cet exemple illustre comment ajouter une imprimante matricielle connectée au port série. Cet exemple part du principe que le fichier PPD est stocké dans le répertoire /usr/share/cups/model.

$/usr/sbin/lpadmin -p DotMatrix -E -m epson9.ppd \
-v serial:/dev/ttyS0?baud=9600+size=8+parity=none+flow=soft

Spécifiez le port série, le débit en bauds, le nombre de bits, la parité et le contrôle de flux. Si vous n’avez pas besoin de contrôler le flux, supprimez l’attribut +flow=soft .

Définition d’une imprimante par défaut

Vous pouvez spécifier l’imprimante par défaut de l’une des manières suivantes :

  • En définissant la variable d’environnement LPDEST ou PRINTER. La variable d’environnement LPDEST détermine la destination de l’imprimante. Si la variable LPDEST n’est pas définie, la variable PRINTER est utilisée. La variable PRINTER détermine le périphérique de sortie ou de destination. Pour obtenir des instructions sur la configuration d’une imprimante par défaut en spécifiant les variables d’environnement, reportez-vous à la section Définition d’une imprimante par défaut sur la ligne de commande.
  • En utilisant la nouvelle commande lpoptions. Utilisez cette commande pour afficher ou définir les options d’imprimante et les valeurs par défaut. Pour consulter des instructions sur la configuration d’une imprimante par défaut à l’aide des commandes CUPS, reportez-vous à la section Définition d’une imprimante par défaut sur la ligne de commande. Pour plus d’informations, reportez-vous à la page de manuel lpoptions(1).
  • En utilisant la commande lpadmin.

La commande d’impression recherche l’imprimante par défaut dans l’ordre suivant :

  1. nom de l’imprimante tel que défini par la commande lp avec l’option -d ;
  2. valeur de la variable d’environnement LPDEST ;
  3. valeur de la variable d’environnement PRINTER.
  4. Nom de l’imprimante, tel que défini par la commande lpoptions
  5. Nom de l’imprimante, tel que défini par la commande lpadmin

Pour des instructions sur l’utilisation des imprimantes à l’aide de l’interface de navigateur Web de CUPS, reportez-vous à la section Configuration et administration d’imprimantes via l’interface de navigateur Web CUPS .

Définition d’une imprimante par défaut sur la ligne de commande

L’imprimante par défaut peut être une imprimante locale ou distante.

  1. Définissez l’imprimante par défaut de l’utilisateur en suivant l’une des méthodes ci-après.
    • Spécifiez la variable PRINTER :$ export PRINTER=printer-nameprinter-name représente le nom de l’imprimante à désigner comme imprimante par défaut de l’utilisateur. Remarque – Lors de l’exécution de la commande lp avec l’option -d, l’imprimante de destination (qui peut être différente de l’imprimante par défaut) est spécifiée. Si l’option -d n’est pas spécifiée, la commande print recherche les informations relatives à l’imprimante dans la variable d’environnement PRINTER.
    • Spécifiez la variable LPDEST :$ export LPDEST=printer-nameprinter-name représente le nom de l’imprimante à désigner comme imprimante par défaut. Remarque – Si les deux variables d’environnement LPDEST et PRINTER sont définies, LPDEST est prioritaire.
    • Exécutez la commande lpoptions :$ lpoptions -d printer-name-d Spécifie l’imprimante de destination. printer-name Spécifie le nom de l’imprimante désignée comme imprimante par défaut de l’utilisateur. Pour plus d’informations, reportez-vous à la page de manuel lpoptions (1).
  2. Vérifiez l’imprimante par défaut.$ lpstat -d
  3. Pour imprimer sur l’imprimante par défaut, saisissez la commande suivante :$ lp filename

Exemple 2-4 Définition d’une imprimante par défaut en spécifiant la variable PRINTER

L’exemple suivant illustre comment désigner l’imprimante luna comme imprimante par défaut à l’aide de la variable PRINTER.

$ export PRINTER=luna
$ lpstat -d
system default destination: luna

Exemple 2-5 Définition d’une imprimante par défaut en spécifiant la variable LPDEST

L’exemple suivant illustre comment désigner l’imprimante luna comme imprimante par défaut en spécifiant la variable LPDEST.

$ export LPDEST=luna
$ lpstat -d
system default destination: luna

Exemple 2-6 Définition d’une imprimante par défaut à l’aide de la commande lpoptions

L’exemple suivant illustre comment désigner l’imprimante luna comme imprimante par défaut. L’imprimante luna est utilisée comme imprimante par défaut si la variable d’environnement LPDEST ou PRINTER n’est pas définie.

$ lpoptions -d luna
$ lpstat -d
system default destination: luna

La commande lpoptions crée un fichier ~/.cups/lpoptions incluant une entrée pour l’imprimante par défaut luna dans le fichier. Par défaut, toutes les tâches d’impression sont désormais dirigées vers l’imprimante luna. Pour un utilisateur root, la commande lpoptions crée un fichier /etc/cups/lpoptions.

Exemple 2-7 Définition d’une imprimante par défaut à l’aide de la commande lpadmin

L’exemple suivant illustre comment désigner l’imprimante luna comme imprimante par défaut à l’aide de la commande lpadmin.

$ lpadmin -d luna
$ lpstat -d
system default destination: luna

Impression vers une imprimante spécifiée

  1. (Facultatif) Vérifiez l’état de l’imprimante.$ lpstat -p printer-name
  2. Fournissez le nom de l’imprimante de destination lorsque vous exécutez la commande lp.$ lp -d destination-printer filename-d Spécifie l’imprimante de destination. destination-printer Spécifie le nom de l’imprimante que vous êtes en train d’affecter en tant qu’imprimante de destination. filename Spécifie le nom du fichier à imprimer. Remarque – Vous pouvez également exécuter la commande lpr avec l’option -P pour envoyer une demande d’impression à une imprimante particulière. Pour plus d’informations, reportez-vous à la page de manuel lpr(1).

Exemple 2-8 Impression vers une imprimante spécifiée à l’aide de la commande lp

L’exemple suivant illustre comment désigner l’imprimante luna en tant qu’imprimante de destination.

$ lp -d luna abc.ps
request id is luna-1 (1 file(s))

$ lpstat -d
system default destination: saturn

L’option -d de la commande lp est prioritaire sur les paramètres de l’imprimante par défaut.

Notez que dans cet exemple, l’imprimante par défaut est saturn.

Vérification de l’état des imprimantes

La commande Ipstat affiche des informations sur les imprimantes et les tâches accessibles.

  1. Connectez-vous à un système du réseau.
  2. (Facultatif) Vérifiez l’état de toutes les imprimantes ou d’une imprimante particulière.Seules les options les plus fréquemment utilisées sont présentés ici. Pour plus d’informations sur les autres options, reportez-vous à la page de manuel lpstat(1).$ lpstat [-d] [-l] [-p] printer-name [-t]-d Affiche l’imprimante par défaut. -p printer-name Affiche l’état (actif ou inactif) d’une imprimante ainsi que le moment où l’imprimante a été activée ou désactivée.Vous pouvez spécifier plusieurs noms d’imprimante à l’aide de cette commande. Utilisez un espace ou une virgule pour séparer les noms d’imprimante. Si vous utilisez des espaces, placez la liste des noms d’imprimante entre guillemets. Si vous ne spécifiez pas printer-name, l’état de toutes les imprimantes s’affiche. -l Indique les caractéristiques des imprimantes et des tâches. -t Affiche les informations d’état relatives à CUPS, notamment l’état de toutes les imprimantes, et indique par exemple si les imprimantes sont actives et si elles acceptent des demandes d’impression.

Exemple 2-9 Affichage de l’état des imprimantes

Pour afficher l’état de l’imprimante luna :

$ lpstat -p luna
printer luna is idle. enabled since Jul 12 11:17 2011. available.

Pour afficher l’imprimante par défaut du système :

$ lpstat -d
system default destination: luna

Pour afficher la description des imprimantes asteroid et luna :

$ lpstat -p "asteroid, luna" -D
printer asteroid faulted. enabled since Jan 5 11:35 2011. available.
unable to print: paper misfeed jam

Description: Printer by break room
printer luna is idle. enabled since Jan 5 11:36 2011. available.
Description: Printer by server room.

Pour afficher les caractéristiques de l’imprimante luna :

$ lpstat -l -p luna
printer luna is idle.  enabled since September 29, 2011 05:20:57 PM BST
Form mounted:
Content types: any
Printer types: unknown
Description: luna
Alerts: none
Location: 
Connection: direct
On fault: no alert
After fault: continue
Users allowed:
(all)
Forms allowed:
(none)
Banner required
Charset sets:
(none)
Default pitch:
Default page size:
Default port settings:

Impression d’un fichier vers l’imprimante par défaut

  1. Connectez-vous à un système du réseau.
  2. (Facultatif) Vérifiez l’état de l’imprimante.$ lpstat -p printer-name
  3. Emettez une demande d’impression de l’une des façons suivantes.
    • Exécutez la commande lp :$ lp filename
    • Exécutez la commande lpr :$ lpr filename
    Remarque – Seules les commandes de base sont affichées dans cette procédure. Pour plus d’informations sur les autres options, reportez-vous aux pages de manuel lp(1) et lpr(1).

Suppression d’une imprimante et de l’accès à l’imprimante

  1. Connectez-vous en tant qu’administrateur à un client d’impression pouvant accéder à l’imprimante à supprimer.
  2. Sur le système correspondant au client d’impression, supprimez des informations relatives à l’imprimante.$ lpoptions -x printer-nameprinter-name Indique le nom de l’imprimante à supprimer. -x Supprime l’imprimante spécifiée. Remarque – L’option -x supprime uniquement les options par défaut d’une imprimante et d’une instance données. La file d’attente d’impression d’origine demeure jusqu’à ce qu’elle soit supprimée à l’aide de la commande lpadmin.
  3. Connectez-vous en tant qu’administrateur.
  4. Sur le système correspondant au serveur d’impression, arrêtez d’accepter les demandes d’impression destinées à l’imprimante. $ cupsreject printer-nameCette étape permet d’éviter que de nouvelles demandes n’entrent dans la file d’attente de l’imprimante pendant la suppression de l’imprimante.
  5. Arrêtez l’imprimante.$ cupsdisable printer-name
  6. Supprimez l’imprimante.$ lpadmin -x printer-name
  7. Assurez-vous de la suppression de l’imprimante, comme suit :
    1. Vérifiez que l’imprimante a été supprimée du client d’impression.$ lpstat -l -p printer-nameLa sortie de la commande affiche un message indiquant que l’imprimante n’existe pas.
    2. Vérifiez que l’imprimante a été supprimée du serveur d’impression.$ lpstat -l -p printer-nameLa sortie de la commande affiche un message indiquant que l’imprimante n’existe pas.

Exemple 2-10 Suppression d’une imprimante

L’exemple ci-dessous illustre comment supprimer l’imprimante luna du client d’impression terra et du serveur d’impression jupiter.

terra# lpoptions -x luna
terra# lpstat -l -p luna
jupiter# lpadmin -x luna
jupiter# lpstat -l -p luna
lpstat: Invalid destination name in list "luna"!

Configuration d’imprimantes réseau à l’aide de commandes CUPS

Une imprimante réseau désigne un périphérique matériel d’impression directement connecté à un réseau. Une imprimante réseau possède un nom système et une adresse IP propres.

CUPS détecte automatiquement les imprimantes identifiées dans le même sous-réseau. L’administrateur système doit ajouter manuellement les imprimantes réseau qui ne se trouvent pas dans le même sous-réseau. Vous pouvez configurer une imprimante réseau à l’aide de la commande lpadmin.

Ajout d’une imprimante réseau sur un sous-réseau distinct à l’aide des commandes CUPS

  1. Connectez l’imprimante au réseau, puis mettez-la sous tension.Consultez la documentation d’installation du fournisseur de l’imprimante pour plus d’informations sur les commutateurs et le câblage requis du matériel.
  2. Envoyer la commande ping à l’imprimante réseau à partir de votre système.# ping ip-address-of-network-printer
  3. Déterminez la marque et le modèle de l’imprimante réseau.# lpinfo –make-and-model printer manufacturer namePar exemple, pour répertorier les imprimantes Xerox :# lpinfo –make-and-model Xerox -mPour plus d’informations, reportez-vous à la section Etablissement de la liste des périphériques et pilotes disponibles.
  4. Exécutez la commande lpadmin pour ajouter l’imprimante réseau.# lpadmin -p printer-name -E -v socket://ip-address-of-network-printer \ -m printer-make-and-model-p Spécifie le nom de l’imprimante à ajouter. -E Autorise la destination et accepte les tâches. -v Définit l’attribut device-uri de la file d’attente d’impression. -m Définit le fichier PPD de l’imprimante à partir du répertoire du modèle ou à l’aide de l’une des interfaces de pilote. Pour plus d’informations, reportez-vous à la page de manuel lpadmin(8).
  5. Vérifiez que l’imprimante est correctement configurée.# lpstat -l -p printer-name

Exemple 2-11 Ajout d’une imprimante réseau qui se trouve sur un autre sous-réseau

L’exemple suivant illustre comment ajouter l’imprimante Xerox luna qui se trouve sur un autre sous-réseau avec l’adresse IP 10.178.236.21.

# ping 10.178.236.21
10.178.236.21 is alive

# lpinfo --make-and-model Xerox -m
foomatic:Xerox-2700_XES-xes.ppd Xerox 2700 XES Foomatic/xes
foomatic:Xerox-3700_XES-xes.ppd Xerox 3700 XES Foomatic/xes
foomatic:Xerox-4045_XES-xes.ppd Xerox 4045 XES Foomatic/xes
foomatic:Xerox-Phaser_5500DN-Postscript.ppd Xerox Phaser 5500DN Foomatic/Postscript\
gutenprint.5.2://xerox-able_1406/expert 

# lpadmin -p luna -E -v socket://10.178.236.21 \
-m foomatic:Xerox-Phaser_5500DN-Postscript.ppd

# lpstat -l -p luna
printer luna is idle.  enabled since June 25, 2012 12:13:05 PM IST
printer luna is idle.  enabled since September 29, 2011 05:20:57 PM BST
Form mounted:
Content types: any
Printer types: unknown
Description: luna
Alerts: none
Location: 
Connection: direct
On fault: no alert
After fault: continue
Users allowed:
(all)
Forms allowed:
(none)
Banner required
Charset sets:
(none)
Default pitch:
Default page size:
Default port settings:

Etablissement de la liste des périphériques et pilotes disponibles

La commande lpinfo répertorie les périphériques et pilotes disponibles connus sur le serveur CUPS.

  1. Connectez-vous à un système du réseau.
  2. Répertoriez les pilotes et périphériques disponibles en exécutant la commande lpinfo.
    • Ajoutez l’option -m pour répertorier les pilotes disponibles.# lpinfo -m
    • Ajoutez l’option -v pour répertorier les périphériques disponibles.# lpinfo -v

Exemple 2-12 Etablissement de la liste des pilotes disponibles

Pour répertorier toutes les imprimantes Xerox :

# lpinfo --make-and-model Xerox -m
foomatic:Xerox-2700_XES-xes.ppd Xerox 2700 XES Foomatic/xes
foomatic:Xerox-3700_XES-xes.ppd Xerox 3700 XES Foomatic/xes
foomatic:Xerox-4045_XES-xes.ppd Xerox 4045 XES Foomatic/xes
gutenprint.5.2://xerox-able_1406/expert 
Xerox Able 1406 - CUPS+Gutenprint v5.2.4
gutenprint.5.2://xerox-able_1406/simple 
Xerox Able 1406 - CUPS+Gutenprint v5.2.4 Simplified