A Canon printer with a scanner.
Agence web » Actualités du digital » Contrôlez votre imprimante depuis un terminal Linux avec la commande lp

Contrôlez votre imprimante depuis un terminal Linux avec la commande lp

Principaux points à retenir

  • L'impression depuis la ligne de commande avec lp peut être utile pour envoyer des fichiers directement à l'imprimante sans ouvrir une application.
  • La plupart des distributions incluent lp, mais vous devrez peut-être l'installer à l'aide de commandes telles que « sudo apt install cups ».
  • L'utilisation de lpstat, lpoptions et lpinfo peut vous aider à trouver des informations sur votre imprimante et à envoyer des travaux d'impression à partir de la ligne de commande avec des options de mise en page.

La commande Linux lp vous permet d'imprimer depuis une fenêtre de terminal. Vous pouvez envoyer des tâches d'impression manuellement ou à partir de scripts, définir l'orientation de la page et d'autres préférences, et répertorier les capacités de votre imprimante.

Pourquoi imprimer à partir de la ligne de commande ?

En n'utilisant rien d'autre que mon super pouvoir d'hypothèse, je pense qu'il est probable que la plupart des impressions à partir d'ordinateurs Linux dans des environnements domestiques soient effectuées à partir d'une application graphique.

Bien sûr, il existe des applications d'interface utilisateur textuelle (TUI) qui prennent également en charge l'impression. Celles-ci s'exécutent dans une fenêtre de terminal et vous permettent d'envoyer du contenu à votre imprimante. Mais je pense que la majorité des impressions proviennent d'applications à interface utilisateur graphique.

L'impression de fichiers texte à partir de la ligne de commande, en dehors de toute application, n'est pas une activité courante pour la plupart des gens, mais elle peut s'avérer utile. Vous n'avez pas besoin de lancer un programme, de charger le fichier, d'appuyer sur Imprimer, puis de fermer à nouveau l'application. Avec la commande lp, vous pouvez envoyer le fichier directement à l'imprimante à partir de la ligne de commande.

Cette fonction est utile jusqu'à un certain point, mais elle prend tout son sens lorsque vous avez un script shell qui doit imprimer quelque chose. L'impression de fichiers existants ou de fichiers créés par le script lui-même est facile avec lp et sa famille de programmes de support.

Il faut cependant comprendre que vous ne pouvez pas envoyer n'importe quel type de fichier à l'imprimante. Par exemple, vous ne pouvez pas envoyer un fichier ODT à l'imprimante, car il n'est pas dans un format que l'imprimante comprend. Lorsque vous ouvrez un document ODT dans LibreOffice et l'imprimez, LibreOffice envoie une version traduite du fichier à l'imprimante, que l'imprimante peut comprendre et utiliser. L'impression dont nous parlons ici est mieux utilisée avec des fichiers texte.

Installation de lp

La plupart des distributions incluent lp et les autres commandes liées à l'imprimante directement prêtes à l'emploi. Si vous devez les installer, voici les commandes dont vous aurez besoin.

Sur Ubuntu, vous devez taper :

sudo apt install cups 

Sur Fedora, utilisez cette commande :

sudo dnf install cups 

La commande pour Manjaro est :

sudo pacman -S cups 

En savoir plus sur votre imprimante

La commande lp possède quelques commandes auxiliaires utiles. L'une d'entre elles est lpstat, qui permet de trouver des informations sur votre imprimante.

Utilisé sans aucune option de ligne de commande, lpstat affiche la file d'attente d'impression.

lpstat 

L'option -p (imprimantes) répertorie les imprimantes configurées et leur état, tel qu'inactif ou en impression.

lpstat -p 

L'option -d (par défaut) affiche l'imprimante par défaut. Pour obtenir une réponse utile à cette commande, vous devez avoir une imprimante configurée comme périphérique par défaut. Ce n'est pas parce que vous n'avez qu'une seule imprimante que celle-ci devient l'imprimante par défaut.

lpstat -d 

La commande lpoptions répertorie les options prises en charge par votre imprimante. Si aucune imprimante n'est spécifiée, l'imprimante par défaut est décrite.

lpoptions 

Pour obtenir des informations sur une imprimante spécifique, vous pouvez passer le nom sur la ligne de commande, en utilisant l'option -p (imprimante). Comme nous n'avons qu'une seule imprimante connectée, et qu'il s'agit de l'imprimante par défaut, nous obtiendrons le même résultat que précédemment.

lpoptions -p Lexmark_B2442dw 

Notez que le nom à utiliser peut être trouvé en utilisant la sortie lpstat -p.

Pour rendre la sortie de la commande lpoptions plus lisible, vous pouvez la transmettre via la commande column. Si nous lui demandons de démarrer une nouvelle ligne à chaque fois qu'elle rencontre un espace, nous obtiendrons un format en colonnes brut et prêt à l'emploi qui sera beaucoup plus facile à analyser.

lpoptions -p Lexmark_B2442dw | column -t -o $'n' 

La commande lpinfo peut être utilisée avec l'option -v (verbose) pour vous fournir les détails de connexion des imprimantes détectées. Les imprimantes pouvant utiliser chaque protocole sont affichées.

lpinfo -v 

Maintenant que nous connaissons notre imprimante, nous pouvons lui envoyer des tâches d’impression.

Création de travaux d'impression avec lp

La commande lp est celle qui envoie réellement les tâches d’impression à l’imprimante.

Nous pouvons jeter un coup d’œil rapide à la file d’attente d’impression avec lpq.

lpq 

Nous commençons avec une file d'attente d'impression vide. Pour envoyer un travail, nous utilisons la commande lp, suivie du nom du fichier.

lp sample-file-1.txt 

Si vous êtes suffisamment rapide ou si le fichier est suffisamment volumineux, vous pouvez utiliser lpq pour vérifier que le travail est arrivé dans la file d'attente d'impression.

lpq 

Nous pouvons ajouter davantage de tâches à la file d'attente, et elles seront traitées dans l'ordre par l'imprimante au fur et à mesure qu'elle exécute sa charge de travail.

lp sample-file-2.txt
lpq

Si votre fichier contient des espaces dans son nom, placez le nom du fichier entre guillemets ou utilisez l'extension de tabulation pour compléter le nom à votre place. L'extension de tabulation supprime automatiquement les espaces à votre place.

lp "sample file 3.txt"
lpq

Si vous avez besoin de plusieurs copies d'un document, utilisez l'option -n (copies) suivie du nombre de copies dont vous avez besoin.

lp -n 15 sample-file-1.txt
lpq

Notez que vous ne voyez pas 15 entrées dans la file d'attente d'impression. Le travail est envoyé à l'imprimante une fois, avec des instructions pour l'imprimer 15 fois.

Pour économiser du papier, et si votre imprimante le permet, vous pouvez imprimer en recto verso. Vous pouvez choisir de tourner les pages sur leurs bords longs ou courts. Pour cela, nous utilisons l'option -o (options) et nous transmettons le nom de l'option que nous voulons utiliser (dans notre cas, « sides ») ainsi que tous les paramètres de cette option.

Imprimons quelque chose en recto verso, avec les pages tournées sur leur bord long.

lp -o sides=two-sided-long-edge sample-file-1.txt 

Pour que les pages soient imprimées de manière à ce qu'elles soient tournées sur leur bord court, nous utilisons le paramètre two-sided-short-edge.

lp -o sides=two-sided-short-edge sample-file-1.txt 

Sélectionner le mode paysage ou portrait est tout aussi simple. Nous utilisons à nouveau l'option -o (options) et spécifions soit le mode portrait, soit le mode paysage.

lp -o landcape sample-file-1.txt 

Il existe de nombreuses autres options que vous pouvez utiliser avec l'option -o (options). Consultez la page de manuel si vous êtes intéressé. Certaines de ces options pourraient vous être utiles.

  • fiches de travail=nom: Imprime une page de garde. Remplacez le nom par un élément parmi classifié, confidentiel, secret, standard, topsecret ou non classifié.
  • média=taille: Définit le format du papier. Les formats habituels sont « a4 », « letter » et « legal ».
  • numéro-en-haut=nombre:Le nombre peut être 2, 4, 6, 9 ou 16. Cela détermine le nombre de pages d'entrée entassées sur une page de sortie.
  • qualité-d'impression=qualité:La valeur de qualité peut être 3 (brouillon), 4 (normal) ou 5 (meilleur).

Annulation des travaux d'impression

Pour annuler une tâche d'impression, vous devez connaître son numéro de tâche. Vous pouvez le trouver dans la sortie de la commande lpq.

La commande dont nous avons besoin est annuler, suivie du numéro de tâche.

lpq
cancel 16
lpq

Vous pouvez annuler plusieurs tâches en même temps.

lpq
cancel 15 17
lpq

Nous avons maintenant vidé la file d’attente d’impression.

Copie papier, ça

Le fait de pouvoir contrôler votre imprimante depuis la fenêtre du terminal vous permet d'imprimer depuis la ligne de commande avec un certain degré de contrôle sur la mise en page et la gestion du papier, mais cela prend tout son sens lorsque vous avez besoin d'un moyen d'imprimer depuis l'intérieur d'un script shell.

★★★★★