Imprimer en ligne de commande

La commande lp permet de gérer les impressions en ligne de commande sous Linux avec le serveur d’impression CUPS (Common Unix Printing System).

Serveur d’impression CUPS

Intallation

Pour intaller le serveur d’impression CUPS :

# apt install lprng 

Configuration

Les fichiers de configuration de CUPS se trouvent dans /etc/cups/printers.conf. Pour partager l’imprimante il faut lui préciser son @IP, son port et mettre Shared Yes :

# Printer configuration file for CUPS v1.4.3
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<DefaultPrinter TOSHIBA STUDIO385s>
AuthInfoRequired none
Info Toshiba_stutio_385_series_S
Location Toshiba_stutio_385_series_S
MakeModel Lexmark Studio 385 Series S, 3.10.2
DeviceURI http://192.168.1.52:9000/printers/Studio-385-series-2
State Idle
StateTime 1302521428
Type 8425500
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-postscript 100 foomatic-rip
Filter application/vnd.cups-pdf 0 foomatic-rip
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>

Lister les imprimantes

Pour lister toutes les informations des imprimantes disponibles (Scheduler, Imprimante par défaut, Adresses, Statut, Horodatage, Tâche, Impression en cours) on utilise la commande lpstat :

# lpstat -p

Afficher seulement leurs noms :

# lpstat -p | awk '{print $2}

Afficher leurs noms et les files d’attente :

# lpstat -p | awk '{print $2}' | xargs -n1 lpq -P

Afficher leurs noms et les files d’attente et la destination de l’imprimante par défaut utilisée (-p : imprimantes installées sur le système, -d : imprimante par défaut) :

# lpstat -p -d

Il est également possible d’utiliser lpc pour afficher les noms des imprimantes connectées au système :

# lpc status

Imprimer en ligne de commande

Les commandes lp et lpr sont équivalentes, lp est pour les imprimantes partagées/réseaux et lpr pour celles directement installées sur le poste

Imprimer des fichiers

Imprimer sur l’imprimante par défaut :

# lp <mon_fichier>

Imprimer sur l’imprimante du système :

# lpr <mon_fichier>

Imprimer une sortie standard :

# ma_commande | lp
# ma_commande | lp -d printer
# ma_commande | lpr
# ma_commande | lpr -P printer

Paramétrer une imprimante par défaut

En root, pour spécifier l’imprimante par défaut :

# lpoptions -d <Printer_name>

Choisir une imprimante

Forcer l’utilisation d’une imprimante partagée ou en local :

# lp -d <Printer_name> <path or filename>
# lpr -P <Printer_name> <path or filename>

Imprimer plusieurs copies

Imprimer plusieurs exemplaires :

# lp -n <num-copies> <path or filename>

Assembler les copies :

# lp -n <num-copies> <path_n or filename_n>

Imprimer plusieurs fichiers :

# lp <path_1 or filename_1> <path_2 or filename_2> ... <path_n or filename_n>

Options d’impression

Afficher les options d’impression :

# lpoptions -p <Printer_name> -l

Forcer l’orientation :

# lp -o <landscape|portrait> <path or filename>

Pour des formats plus spéciaux :

# lp -o media=A3 <path or filename>
# lp -o media=legal/A4/letter <path or filename>

Imprimer en recto/verso :

# lp -o sides=two-sided-long-edge <path or filename>

Imprimer avec une bordure, les options de page peuvent être single, double, single-thick, ou double-thick :

# lp -o page-border=single <path or filename>

Imprimer en reverse :

# lp -o outputorder=reverse <path or filename>

Imprimer une bannière :

# lp -o job-sheets=<none|classified|confidential|secret|standard|topsecret|unclassified> <path or filename>

Priorité d’impression

Définir la priorité du document, 1 étant la plus basse, 100 la plus haute :

# lp -q 75 <path or filename>

File d’impression

Donner un nom à la file d’impression :

# lp -t "Important`` | Résultats de Emmet Brown" <path or filename>

Annuler une impression

Lister les ID des jons d’impression :

# lpq
# lpstat

Annuler des jobs d’impression :

# cancel <job-id>
# lprm <job-id>

Déplacer un job d’impression :

# lpmove job-id <printer_name>

Mettre en pause et relancer une impression

Mettre en attente :

# lp -i job-id -o job-hold-until=<HH:MM>

Relancer l’impression :

# lp -i job-id -H resume

Administration résumé

Commande Signification
lp Soumettre des travaux d’impression
lpoptions Options d’imprimante
lppasswd Modifie les credentials
lpq Etat d’une file d’attente
lpr Soumettre des impressions
lpr.cups Soumettre en forçant l’utilisation de CUPS
lprm Supprimer les impressions
lpstat Affiche les statistiques
cancel Annule une tâche d’impression
enable Active une file d’attente ou une classe d’imprimantes
disable Désactive une file d’attente ou une classe d’imprimantes
lpadmin Gère les imprimantes et les classes
lpc Compatibilité pour les imprimantes de style Berkley
lpdomatic Script de filtre pour la configuration des imprimantes
lpinfo Affiche les périphériques d’impression et les pilotes
lpmove Déplace les travaux d’une file d’attente vers une autre
lprsetup.sh Pour configurer les imprimantes ghostscript
accept Force la file d’attente à accepter les requêtes
reject Rejet des requêtes par la file d’attente

Documentation

https://www.linuxfordevices.com/tutorials/linux/lp-command-in-linux
https://www.cups.org/doc/options.html
https://askubuntu.com/questions/416995/how-to-list-all-available-printers-from-terminal
https://www.man7.org/linux/man-pages/man1/lpstat.1.html
https://doc.ubuntu-fr.org/cups

> Partager <